Skip to content

Instantly share code, notes, and snippets.

View ahonor's full-sized avatar

Alex Honor ahonor

View GitHub Profile

User

Dealer: User

A person that initiates Dispatches and perhaps defines and groups them. Users can belong to groups representing roles with responsibilities. See the User as a card dealer issuing card hands to Resources.

Resource

Resource metaphor icon

A network node representing an operating system instance that can receive Dispatches. Resources evaluate these "card hands" and hopefully do not fail. Failing causes the Dealer to bust and end the game round.

#!/bin/bash
#
# rundeckd Startup script for the RunDeck server
#
# description: rundeckd, providing rundeckd
# pidfile: $RDECK_BASE/var/run/rundeckd.pid
# Source installation profile
[ -z "$RDECK_BASE" -o ! -d "$RDECK_BASE" ] && {
#!/bin/bash
#
# rundeckd Startup script for the Launcher install of RunDeck
# paramaters:
# - env vars: [RDECK_BASE, RDECK_PORT, RDECK_JAR]
# - standard RDECK_PORT values: [http: 4440, https: 4434]
# RDECK_BASE must be set and exist
[ -z "$RDECK_BASE" -o ! -d "$RDECK_BASE" ] && {
echo "RDECK_BASE not set or does not exist" ;
mappedRoles.admin=admin
mappedRoles.user_admin=admin
mappedRoles.workflow_read=user
mappedRoles.workflow_create= admin
mappedRoles.workflow_update= admin
mappedRoles.workflow_delete= admin
mappedRoles.workflow_kill= user
mappedRoles.workflow_run= user
mappedRoles.events_read=user
mappedRoles.events_create=user
### Troubleshooting access control policy
After defining an aclpolicy file to grant access to a particular group
of users, you may find them getting "unauthorized" messages or
complaints that certain actions are not possible.
To trouble shoot this, begin by checking two bits:
1. The user's group membership. This can be done by going to the
user's profile page in RunDeck. That page will list the groups the
user is a member.

Rundeck announcement

Annoucing project "RunDeck" !

RunDeck is an open source software project with the goal of creating an easy to use command and control server that administrators can use to execute commands across servers in datacenter and cloud environments. The kinds of commands can be … well anything the day requires. It should be easy to have a single command, script or sequence of steps execute across your servers. Also, administrators today manage large numbers of servers in dynamic environments; dynamic because the number of nodes fluctuate (increase and decrease) or the role nodes play changes over time.

Here's a few ideas that drive the RunDeck development effort:

  • abstracted distributed command execution
  • filter driven host addressing (eg tags)

To: groups.google.com/group/controltier

Announcing project "RunDeck"

Hello fellow ControlTier users,

In addition to working on ControlTier, I'm working on a new open source project along with a couple ControlTier developers called "RunDeck". The goal of this project is a client-less, easy to install and use command and control server. It's really a spin off or a promotion of some of ControlTier's most popular features: Jobs and ad-hoc command execution.

RunDeck shares many ControlTier ideas and its code base was seeded from ControlTier 3.6. Combine CTL Center, supporting shell tools (ctl-exec, ctl-queue, ctl-run, ctl-jobs), document formats like job.xml and a subset of resources.xml, and you can probably envision the RunDeck footprint. The user interface design should also be quite familiar to CTL Center users with some improvements, as well.

@ahonor
ahonor / ssh-generate-resources.sh
Created December 13, 2010 23:52
simple resource model provider script
#!/bin/bash
# Requires: mktemp
#
# DESCRIPTION
# Takes a set of newline delimited hosts and runs a remote
# script to collect host metadata to generate resources.xml document.
#
# DISCOVERING HOSTS
# Hosts lists can be generated with a tool like nmap. Here an nmap script
# returns hosts listening on SSH port 22 on the specified subnet:
@ahonor
ahonor / Rundeck API URL strawmen
Created January 27, 2011 16:21
URLs that better mesh with current concept names
* Jobs
** List jobs
+ [[https://gist.github.com/785084][Query rundeck jobs list for a project, optionally save the xml file]]
+ Existing URL: "/menu/workflows.xml?projFilter={project}"
+ Hypothetical alternatives:
+ Jobs-oriented:
+ /api/jobs.xml?project={project}
+ /api/jobs/list.xml?project={project}
** Run a job
+ [[https://gist.github.com/783971][How to run a job using curl]]
* Jobs
** List jobs
+ [[https://gist.github.com/785084][Query rundeck jobs list for a project, optionally save the xml file]]
+ Existing URL: "/menu/workflows.xml?projFilter={project}"
+ Proposed 1.2:
+ Summary: /api/jobs?project={project}
+ Exporting: /api/jobs/export?project={project}&format={format}
+ Importing: "POST /api/jobs/import?format={format} + (job content)
** Run a job