Puppet integration with RunDeck
Ruby Shell Puppet
Latest commit 22a72fc Dec 13, 2014 @jamtur01 Merge pull request #27 from therealjessesanford/master
added ability to filter the terminus results by name patterns
Permalink
Failed to load latest commit information.
bin Fixed builder to_xs issue and stupidly merged code Aug 12, 2014
lib added ability to filter the terminus results by name patterns Dec 12, 2014
manifests
spec Removed puppet/rails require Jan 26, 2011
.document Initial commit Dec 24, 2010
.gitignore
LICENSE Initial commit Dec 24, 2010
Modulefile Added Modulefile May 21, 2012
README.rdoc Cleaned up README Aug 12, 2014
Rakefile Bumped version to 0.0.5 Jul 26, 2011
VERSION Incremented to 0.0.9 Aug 12, 2014
puppet-rundeck.gemspec Incremented to 0.0.9 Aug 12, 2014
puppet-rundeck.init adding init script Mar 23, 2012
puppet-rundeck.init.ubuntu

README.rdoc

puppet-rundeck

Integrates Puppet with RunDeck.

Visiting the URL, for example `localhost:8144`, should return a list of all nodes on the Puppet master and populates the appropriate facts for use with RunDeck.

Note: Version 0.0.2 and earlier required stored configuration to be enabled. Later versions do not.

Prerequisites

Requires:

  • Puppet (0.25.5 and later)

Installation

Install the gem:

$ sudo gem install puppet-rundeck

Usage

Run the `puppet-rundeck` binary. We've assumed you're running `puppet-rundeck` on the Puppet master host.

$ puppet-rundeck

Then browse to appropriate URL, by default `localhost:8144`

$ curl localhost:8144

A list of the current hosts and appropriate facts to configure them on RunDeck will be returned in XML.

For example:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE project PUBLIC "-//DTO Labs Inc.//DTD Resources Document 1.0//EN" "project.dtd">
<project>
  <node name="pelin.lovedthanlost.net"
  type="Node"
  description="pelin.lovedthanlost.net"
  osArch="Linux"
  osFamily="Linux"
  osName="Fedora"
  osVersion="14"
  tags="production"
  username="root"
  hostname="pelin.lovedthanlost.net"/>
</project>

To use with RunDeck specify the target URL as the value of the `project.resources.url` option in the `project.properties` file for your project, for example:

project.resources.url = http://localhost:8144

Yo can also specify a required tag to filter the node list, to provide different project URLs based on the same Puppet server and Puppet-Rundeck instance:

project.resources.url = http://localhost:8144/tag/production

You can specify some configuration options:

  • -c or –config to override the default Puppet configuration file (defaults to `/etc/puppet/puppet.conf`)

  • -u or –username the user for RunDeck to SSH as, defaults to current user

  • -p or –port the port to start `puppet-rundeck` on, default to 8144

Credits

Original concept heavily stolen from Adam Jacob's chef-rundeck gem.

Copyright

Copyright © 2014 James Turnbull. See LICENSE for details.