runpuppet

This is the companion for our puppet_controller, a light-weight web-service to coordinate local puppet runs on servers.

Installation

$ gem install runpuppet

Config

$ cat /etc/runpuppet.yml:

puppet_controller_url: http://user:[email protected]
command:cd /etc/puppet/repo && git fetch && git checkout -f origin/@@branch@@ && puppet apply /etc/puppet/repo/manifests/site.pp
verbose_command:cd /etc/puppet/repo && git fetch && git checkout -f origin/@@branch@@ && puppet apply -v --debug --logdest console --modulepath /etc/puppet/repo/modules /etc/puppet/repo/manifests/site.pp
branch: staging
local_ip: 192.168.10.10
>>>> or grab IP from a network interface
local_ip_interface: vmbr0
lock_file: /tmp/runpuppet.lock

Development

Run tests

$ sh/test

Start console

$ sh/c

Playing in console

@ctx = Runpuppet.setup_context({})

# client
@ctx.client

# config
@ctx.config

# agent ### HTTP agent
@ctx.agent

Release the gem

# on master branch
$ sh/release VERSION

Contributing to runpuppet

  • Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
  • Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
  • Fork the project
  • Start a feature/bugfix branch
  • Commit and push until you are happy with your contribution
  • Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
  • Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.

Copyright (c) 2012 Roman Heinrich. See LICENSE.txt for further details.