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
Failed to load latest commit information.
bin
lib
manifests
spec
.document
.gitignore
LICENSE
Modulefile Added Modulefile May 21, 2012
README.rdoc
Rakefile
VERSION
puppet-rundeck.gemspec
puppet-rundeck.init
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.