Puppet integration with RunDeck
APACHE-2.0 License
= 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:
== 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:
/etc/puppet/puppet.conf
)puppet-rundeck
on, default to 8144== Credits
Original concept heavily stolen from Adam Jacob's chef-rundeck gem.
== Copyright
Copyright (c) 2014 James Turnbull. See LICENSE for details.