Puppet Dashboard – Inventory Service

As a user of the free version of the Puppet Dashboard, I’m always looking for little tips and tricks that can make it more useful in my day to day job. Some of the features that you find in the Puppet Enterprise (PE) version are available in the free version, it just takes a bit of time and effort to get working for you.

One of those features was recently brought to my attention by a co-worker. In the Puppet Dashboard, its possible to have the facts of your node presented within the web UI. PE does this by default, but in the open source version you have to do a little wrench turning to get it working. My co-worker had already gotten it working on our production environment, but I wanted to see what it took to get running in my lab.

Here’s the great part about all of this…its really freaking easy to setup!

The Setup

  1. First and foremost, read the documentation found at http://docs.puppetlabs.com/dashboard/manual/1.2/configuring.html

  2. Update your /etc/puppet/auth.conf to allow for the dashboard to connect to the service. The docs state to use this:

    path /facts
    auth yes
    method find, search
    allow dashboard
</div>

but I found other examples online that used the following. My guess is they changed the auth and allow lines when they got a permission denied error like I initially did. This second one did the trick for my lab and since its all internal networking and not accessible to anyone on the outside world&#8230;I felt it safe to not use the SSL auth between puppet and the dashboard running on the same host.

<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;width:435px;">
  <div class="text codecolorer">
    path /facts<br /> auth any<br /> method find, search<br /> allow *
  </div>
</div>
  1. Update your Puppet Dashboard settings.yml (mine was in /usr/share/puppet-dashboard/config/settings.yml) This one is pretty simple to do. Change the enable_inventory_service from false to true. Also double check your inventory_server line to make sure it has a valid entry. I forced mine to localhost.

    • Restart Puppet-dashboard (CentOS start up scripts do a crappy job of this. actually had to stop, then start the process)

    • Go to your dashboard and find a node. You should see some extra bits. Check out the before and after shots below.

## The Results

**Before:**

Before we had our Recent Reports followed by our Dashboard Activity. 

[<img src="http://usrlocal.com/wp-content/uploads/2013/03/inventory_before-300x300.png" alt="inventory_before" width="300" height="300" class="aligncenter size-medium wp-image-2175" srcset="http://usrlocal.com/wp-content/uploads/2013/03/inventory_before-300x300.png 300w, http://usrlocal.com/wp-content/uploads/2013/03/inventory_before-150x150.png 150w, http://usrlocal.com/wp-content/uploads/2013/03/inventory_before.png 778w" sizes="(max-width: 300px) 100vw, 300px" />][1]

**After:**

And after we have a nice invetory section between them. _(NOTE: I did have to cut out the node names in the following image to protect the innocent)_

[<img src="http://usrlocal.com/wp-content/uploads/2013/03/inventory_after-300x215.png" alt="inventory_after" width="300" height="215" class="aligncenter size-medium wp-image-2174" srcset="http://usrlocal.com/wp-content/uploads/2013/03/inventory_after-300x215.png 300w, http://usrlocal.com/wp-content/uploads/2013/03/inventory_after.png 780w" sizes="(max-width: 300px) 100vw, 300px" />][2]