Skip to content

Instantly share code, notes, and snippets.

// import us.schueler.greg.Rest
//base
Rest.baseUrl=args[0]
def projectName=args[1]
def token =System.getenv()['rd_token']
{
"steps": [
{
"executionState": "SUCCEEDED",
"id": 1,
"stepTargetNodes": [
"dignan"
],
"nodeStates": {
"dignan": {
@gschueler
gschueler / aclpolicy-template.yaml
Created September 24, 2013 20:56
template aclpolicy file
description: Project scope for group
context:
project: '.*'
for:
job:
- equals:
group: 'example'
name: 'Restart'
allow: [run,read]
- equals:
@gschueler
gschueler / LogstashPlugin.groovy
Last active October 25, 2023 22:01
Rundeck streaming log writer and Logstash input
import com.dtolabs.rundeck.plugins.logging.StreamingLogWriterPlugin;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.dtolabs.rundeck.core.logging.LogEvent;
import com.dtolabs.rundeck.core.logging.LogLevel;
/**
* Opens a TCP connection, and writes JSON event messages to the socket
*/
rundeckPlugin(StreamingLogWriterPlugin){
configuration{
@gschueler
gschueler / rundeck-config.groovy
Created June 4, 2013 16:18
Example rundeck-config for SMTP mail configuration
loglevel.default = "DEBUG"
rdeck.base = "/var/lib/rundeck"
rss.enabled = true
dataSource {
dbCreate = "update"
url = "jdbc:h2:file:/var/lib/rundeck/data/rundeckdb;MVCC=true"
}
---
description: API Application level access control
context:
application: 'rundeck'
for:
resource:
- equals:
kind: system
allow: [read] # allow read of system info
@gschueler
gschueler / nodeadd.sh
Created April 23, 2013 23:48
Script to add a new node definition for Rundeck by SSHing to the node to determine details
#!/bin/bash
PROJ=$1
shift
USERNODE=$1
shift
TAGS="$*"
( echo $USERNODE | grep -q '@' ) && {
import com.dtolabs.rundeck.plugins.notification.NotificationPlugin;
import org.springframework.mail.javamail.*;
import javax.mail.internet.*;
import groovy.xml.MarkupBuilder
import groovy.text.SimpleTemplateEngine
//mail sender configuration
def mailProperties=[
host: "localhost",
port: 25,
import com.dtolabs.rundeck.plugins.notification.NotificationPlugin;
rundeckPlugin(NotificationPlugin){
onstart {
println("success: data ${execution}")
true
}
onfailure {
println("failure: data ${execution}")
import com.dtolabs.rundeck.plugins.notification.NotificationPlugin;
import groovy.text.SimpleTemplateEngine
//define the plugin
rundeckPlugin(NotificationPlugin){
//plugin title shown in GUI
title="Shell Notification"
//plugin description shown in GUI
description="Calls a shell script"