Skip to content
Puppet API Wrapper http://www.puppetlabs.com
Ruby
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
bin
lib
spec
.document
.gitignore
.rspec
Gemfile
Gemfile.lock
LICENSE.txt
README.md
Rakefile
squiggle.gemspec

README.md

Squiggle

Squiggle is a squiggly Puppet API wrapper.

It's named in honour of Mr Squiggle

Installation

Install Mr Squiggle via Miss Jane or via Rubygems:

gem install squiggle

You can also get the source from https://github.com/jamtur01/squiggle.

Configuration

Squiggle has five configuration variables:

Squiggle.host          # default: localhost
Squiggle.port          # default: 8140
Squiggle.scheme        # default: https
Squiggle.key           # default: nil
Squiggle.cert          # default: nil
Squiggle.cacert        # default: nil

You will need the key, certificate from an authenticated Puppet client (or authenticate your client as a Puppet client) and the CA cert from the Puppet master you are connecting to.

You will need to ensure your /etc/puppet/auth.conf file allows the appropriate access from that client to the API path you wish to access. You can see details on the auth.conf file here.

To connect to a Puppet master at https://puppet.example.com:8140:

Squiggle.host = "puppet.example.com"
Squiggle.port = "8140"
Squiggle.scheme = "https"
Squiggle.key = "/path/to/key.pem"
Squiggle.cert = "/path/to/cert.pem"
Squiggle.cacert = "/path/to/ca_crt.pem"

You can also use the squiggle.setup block if you prefer this style:

Squiggle.setup do |s|
  s.host = "puppet.example.com"
  s.port = "5000"
  s.scheme = "https"
  s.key = "/path/to/key.pem"
  s.cert = "/path/to/cert.pem"
  s.cacert = "/path/to/ca_crt.pem"
end

After you have configured Squiggle, we need to create a connection:

Squiggle.connect!

If you want to reset your configiuration to their default values:

Squiggle.reset!

Usage

Setting up Squiggle and running Squiggle.connect! creates a connection object that can then be used to send requests to your Puppet master, accessed via Squiggle.connection.

For example to return the CA certificate:

Squiggle.connection.get("/certificate/ca")

You can see details of the Puppet REST API here.

Copyright

Copyright (c) 2010 James Turnbull. See LICENSE.txt for further details.

Something went wrong with that request. Please try again.