Puppet Explorer is a web application for PuppetDB that lets you explore your Puppet data. It is made using AngularJS and CoffeeScript and runs entirely on the client side, so the only backend that is needed is PuppetDB itself and a web server to share the static resources.
All views in the application are made to be able to link directly to them, so it is easy to share information you find with coworkers.
It has support for multiple PuppetDB servers.
Try it out live with some made up AWS data at demo.puppetexplorer.io
The recommended way to install it is on the same host as your PuppetDB instance. Then proxy /api to port 8080 of your PuppetDB instance (except the /commands endpoint). This avoids the need for any CORS headers.
It is possible to have it on a separate domain from your PuppetDB though. If you
do, make sure you have the correct
Access-Control-Allow-Origin header and a
Access-Control-Expose-Headers: X-Records header.
To simplify installation you can use the spotify-puppetexplorer Puppet module.
It is using the V4 PuppetDB API from PuppetDB 2.1. Version 1.0.0 works with PuppetDB 2.0, but the current version only works with PuppetDB 2.1.
Install all required dependencies using
npm install, then you can build the
grunt. The results will be located in the
grunt serve to start a local web server pointing to a local PuppetDB
Optionally you can use the
--puppetdb=url option to specify a URL to proxy
PuppetDB connections to. Another way is to create a SSH tunnel to your PuppetDB
ssh -L 8080:localhost:8080 puppetdb.example.com.
grunt watch it will rebuild any source files that changes and put the
results in the
To build a Debian package use
grunt build_debian, this requires the
debhelper packages to be installed.