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.
¶ ↑
PrerequisitesRequires:
- Puppet (0.25.5 and later)
¶ ↑
InstallationInstall the gem:
$ sudo gem install puppet-rundeck
¶ ↑
UsageRun 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
¶ ↑
CreditsOriginal concept heavily stolen from Adam Jacob’s chef-rundeck gem.
¶ ↑
CopyrightCopyright © 2014 James Turnbull. See LICENSE for details.