Puppet integration with RunDeck
Ruby Shell Puppet
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
lib
manifests
spec
.document
.gitignore
LICENSE
Modulefile
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.