Skip to content
gschueler edited this page Oct 22, 2012 · 23 revisions
<script src="http://gist.github.com/raw/250718/eddf0324d298b86661389d1f5c1468d101be3885/github_wiki_toc.js" type="text/javascript"></script>

General

What is RunDeck?

RunDeck is cross-platform open source software that helps you automate ad-hoc and routine procedures in data center or cloud environments. RunDeck allows you to run tasks on any number of nodes from a web-based or command-line interface. RunDeck also includes other features that make it easy to scale up your scripting efforts including: access control, workflow building, scheduling, logging, and integration with external sources for node and option data.

Licensing and Pricing

Rundeck software is free and completely open source. It's licensed under the terms of the Apache 2.0. There are no hidden "gotchas" or some other "enterprise" version that you must pay for, all of Rundeck is free open source software. Download it. Try it. Use it. If you find value in it and would like to actively participate in the project, introduce yourself on the mailing list or the IRC channel.

Where do I log bugs?

Bugs are tracked on Github Issues.

Where is the mailing list?

Post messages to google groups: http://groups.google.com/group/rundeck-discuss

Where is the IRC channel?

At irc.freenode.net #rundeck

You can see the irc logs here: http://irclog.rundeck.org

Where do I download development builds?

Download a development build from our jenkins-ci instance here: http://build.rundeck.org

How is it different than Puppet mcollective or Chef knife?

There is some overlap between rundeck and Puppet's mcollective and Chef's knife. The three allow administrators to execute commands in a distributed environment, offering a form of real time control. Each provides a mechanism to use metadata-level searches for targeting remote nodes. The three also provide levels of authorization, authentication and auditing.

Rundeck has a few goals of its own though:

  • Firstly, we want to create an easy way to define routine sequences as "Job workflows" as a basis for runbook automation solutions.
  • Secondly, enable the integration of node and environment metadata sources as RunDeck "resource model providers". In this way, Rundeck can use Puppet or Chef node data to drive remote execution.
  • Thirdly, evolve role-based access control definitions into a high level DSL that ties privilege level to resource model and workflow actions
  • Lastly, to develop Rundeck into a plugin system supporting the concept of "dispatch providers" to delegate to tools like mcollective, knife, func, fabric, PsExec and others for cross tool execution.

Ultimately, we want to create a tool that is simple to use for the end user of the automated process yet be flexible enough to complement existing tool chains.

How is it different from Jenkins?

Rundeck is not a continuous integration server. At a high level, Rundeck shares some features with Jenkins since both are able to provide a self serve job interface to automate routine procedures. Rundeck and Jenkins are also able to execute shell scripts on remote nodes to facilitate deployment tasks. Rundeck's built-in support for pluggable remote command execution is a key differentiator.

It really comes down to use case. Rundeck is meant as job console for the operations group and is geared to work with that ecosystem of tools.

The jenkins-rundeck plugin really demonstrates how complimentary the two tools actually are in a continuous deployment tool chain. Jenkins handling the build end of the CI loop and triggering Rundeck to provide distributed orchestration across the deployment management tool chain.

Interoperability

Is RunDeck cross-platform?

We're designing RunDeck to work on unix flavors and windows. This assumes the commands you execute can run on the targeted host.

What operating systems does RunDeck run on?

Currently, we test on Linux (Redhat, Centos, Ubuntu), Solaris x86, MacOSX. It should work on BSD. We have have recently begun testing on Windows.

Security

Can I use SSL?

Yes, RunDeck server can be configured to use SSL. Consult the Security section in the manual. http://rundeck.org/docs/RunDeck-Guide.html#configuring-rundeck-for-ssl

Can I integrate to LDAP/ActiveDirectory?

Yes, Rundeck can be configured to authenticate to an LDAP directory service. See http://rundeck.org/docs/RunDeck-Guide.html#managing-logins.

Technical

Where are 3rd party resource model providers?

The list is kept here: https://github.com/dtolabs/rundeck/wiki/Resource-model-providers

How do I configure multiple authentication mechanisms?

You can use multiple JAAS loginmodule configurations within a single named JAAS configuration. See Multiple Authentication Modules

How do I configure a SMTP server for email notifications?

You can add configuration to the Rundeck-config.properties file, using the config settings shown under the Grails Mail Plugin "Configuration" section.

Since the default rundeck config file is Java ".properties" format, you will either have to flatten the config hierarchy shown in that document .e.g "grails.mail.host=hostname", or convert your Rundeck config file to Groovy format, and specify the right config file location at Rundeck startup.

To convert to groovy format, make sure you put quotes around all string values, but it is not necessary for true/false or numbers.

#java properties format
some.property=value 

//groovy format:
some.property="value"

To specify a new config file location:

For the launcher, place the file in the $BASEDIR/server/config dir, and specify -Drundeck.config.name=rundeck-config.groovy when you run the launcher.

For the rpm/deb, specify a -Drundeck.config.location=/path/to/rundeck-config.groovy in the /etc/rundeck/profile JVM arguments. Or if you are using just the war file, put that in the $CATALINA_OPTS if you are deploying the war to Tomcat for example.