Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A web-based reports application for Puppet

branch: master

Explicity sort categorized metrics by labels.

When moving to postgres this broke specs, presumably due to the use of implicit
ordering that was happening on other dbs.
latest commit b0bf5f105e
Rick Bradley rick authored
Puppet-Reporter tool for viewing and manipulating Puppet Report data

 * This is pre-alpha quality software.  Use at own risk.


 - download Sphinx search engine 0.9.8-rc2 (, build and install
 - install mysql gem.

 Method 1:
 - git clone Facter from reductive labs and install it
 - git clone Puppet (0.24.x branch) from reductive labs

 Method 2:
 - 'rake build_setup' will install vendored copies of puppet and facter for local testing purposes.

 - copy Puppet-Reporter/rails/config/*.example to the non-example filenames (e.g. database.yml.example -> database.yml) and make any necessary changes
 - cd into Puppet-Reporter/rails
 - RAILS_ENV=development rake db:create
 - RAILS_ENV=test rake db:create
 - RAILS_ENV=production rake db:create
 - rake db:migrate
 - rake db:test:prepare
 - rake spec   (with any luck these should all pass)
 - load report data:
   - untar Puppet-Reporter/reports.tgz to Puppet-Reporter/reports/
   - time find ../reports -type f -name '*.yaml' | xargs ruby script/runner script/import_yaml_reports.rb    (and go get lunch :-)
 - rake ts:index (index the database for searching)
 - rake ts:start (start the search daemon)
 - ruby script/server 
 - connect to http://localhost:3000/
 - if you want to load data from a running Puppet instance
   -  update the connection settings in rails/puppet/report/puppet_reporter.rb to point to where your Puppet-Reporter instance can be reached.
   - review and update the environment variable settings at the top of the 'go' script
   - 'sh -x go' and see what happens


Notes to sel(f|ves):

 - a (fully pending) spec is in place describing the data available in the Puppet report objects. 

How to install ruby rrd bindings, if we need them in the future:
 - install rrdtool and Ruby RRD bindings.  On OS X this looks like:
    % sudo port install rrdtool    # purely for getting the dependencies installed
    % sudo port uninstall rrdtool
    % wget
    % tar xfz rrdtool-1.2.27.tar.gz
    % cd rrdtool-1.2.27/
    % ./configure --prefix=/opt/local && make && sudo make install
    % cd bindings/ruby
    % ruby extconf.rb --with-rrd-lib=/opt/local/lib
    % make clean && make && sudo make install
    % ruby test.rb  # with any luck this will run successfully and you'll get a test.png in the directory

Something went wrong with that request. Please try again.