Skip to content
This repository has been archived by the owner on Mar 26, 2024. It is now read-only.

Commit

Permalink
Add content previously hosted at docs.puppetlabs.com (#319)
Browse files Browse the repository at this point in the history
This commit provides the Dashboard documentation previously hosted at
docs.puppetlabs.com. The content is formatted for use in a Jekyll site,
and may be easily ported to the Dashboard wiki with minimal
reformatting.

The content will also be available in the git history of the puppet-docs
repository:

https://github.com/puppetlabs/puppet-docs/tree/puppet-dashboard-pre-deletion
  • Loading branch information
Mike Hall authored and bwitt committed Aug 22, 2018
1 parent b7a75f9 commit 5323a36
Show file tree
Hide file tree
Showing 17 changed files with 1,212 additions and 0 deletions.
5 changes: 5 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Puppet Labs Dashboard Documentation

This directory contains all the content from the Dashboard documentation previously hosted on docs.puppetlabs.com.

The content is formatted for use in a Jekyll site.
Binary file added docs/images/inventory-custom_query.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/inventory-node_inventory.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/inventory-search_results.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
26 changes: 26 additions & 0 deletions docs/index.markdown
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
layout: default
title: "Puppet Dashboard Documentation"
---

Puppet Dashboard Documentation
======

Puppet Dashboard is an optional web app that lets you inspect and control your Puppet infrastructure.

* * *

Puppet Dashboard Manual
-----------------------

New versions of the Dashboard manual are released for each major version of Dashboard, starting with version 1.2.

* [Dashboard 1.2 Manual](./manual/1.2/)
* [Installing Dashboard](./manual/1.2/bootstrapping.html)
* [Upgrading Dashboard](./manual/1.2/upgrading.html)
* [Configuring Dashboard](./manual/1.2/configuring.html)
* [Maintaining Dashboard](./manual/1.2/maintaining.html)
* [Using Dashboard](./manual/1.2/using.html)
* [Rake API](./manual/1.2/rake_api.html)

For documentation of previous versions of Dashboard, see the README.markdown file in the root of Dashboard's installation directory.
129 changes: 129 additions & 0 deletions docs/inventory_support.markdown
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
---
layout: default
title: Inventory Service with Puppet Dashboard
---

Inventory Service with Puppet Dashboard
=========

Add detailed system information to each node page in Puppet Dashboard, and run custom queries on fact data!

**This document is deprecated. For up-to-date information, see the [configuring chapter](/dashboard/manual/1.2/configuring.html) of the latest version of the Puppet Dashboard manual.**

* * *

[inventory]: /guides/inventory_service.html
[node_inv_shot]: ./images/inventory-node_inventory.png
[query]: ./images/inventory-custom_query.png
[search_results]: ./images/inventory-search_results.png

What and Why
-----

Starting with version 1.1.0, Puppet Dashboard can enhance its node view pages with detailed system info, and can return lists of nodes filtered by arbitrarily complex search queries.

Now, when you're investigating an oddity in your reports, you can have everything Puppet knows about the affected system at your fingertips. You can instantly get a list of your Ubuntu boxes that are still running Hardy Heron, find out how many of your nodes are physical and how many are on EC2... and if you're setting custom facts, then the sky is pretty much the limit!

Using Dashboard With an Inventory
-----

### Node Facts

The first part of inventory support needs little explanation: When you view a node page, a table of its most recent facts is shown after its list of recent reports, under the heading of "Inventory:"

![screenshot of a node's fact inventory][node_inv_shot]

It's essentially equivalent to what you would see if you SSHed into the machine and ran `facter`, plus whatever custom facts were provided via plugins; it's just in a more convenient place.

### Custom Query

The second part of inventory support is accessible by choosing "Custom query" from the sidebar:

![screenshot of custom query link][query]

This loads the "Search nodes" page, which has a set of fact / comparison / value fields. To search on a fact, enter the name of the fact in the leftmost field, the comparison type in the middle drop-down, and the value to compare against in the rightmost field. You can use the plus button to add as many additional rows as you need, and the search will be a Boolean AND of all fields.

![screenshot of search results][search_results]

The search will return a list of matching nodes, and a familiar graph showing their recent run status.

Configuring Dashboard to Use the Inventory
----------

### Required Software:

* Puppet Dashboard version ≥ 1.1.0
* puppet master version ≥ 2.6.7, configured with inventory service
* `json` or `json_pure` gem, installed for the Ruby running Puppet Dashboard

This guide assumes that you have already installed and configured Puppet Dashboard, and that you have already [configured your puppet master to provide the inventory service][inventory]. You will have to:

* Permit access on the puppet master
* Configure Dashboard
* Authenticate Dashboard to the CA
* Restart Dashboard

### 1: Permit Access on puppet master

Following the instructions for [configuring access](/guides/inventory_service.html#configuring-access), make sure that the authenticated `dashboard` host is allowed to `find` and `search` on resources beginning with `/facts`. If no other applications are using the inventory service, you should insert the following into your [auth.conf](/guides/rest_auth_conf.html) file:

path /facts
auth yes
method find, search
allow dashboard

If you wish to give Dashboard a different certificate common name, you can enter it into the `allow` directive instead.

### 2: Configure Dashboard

In its standard configuration, the Dashboard is passive, and gets information pushed to it or requested from it by the puppet master. To use the inventory, you must enable the Dashboard to actively make requests to the master. **You will need to make the following changes to `config/settings.yml`:**

#### Specify Dashboard's Certificate Common Name

If you specified a non-default certname to the puppet master in step one, you'll need to make sure Dashboard knows who it's supposed to be.

cn_name: 'dashboard'

There are also several settings telling Dashboard where to find its SSL information. Unless you wish to use pre-existing keys or store your SSL data somewhere other than the default location, these can be left in their default values, as seen in the `config/settings.yml.example` file:

ca_crl_path: 'certs/dashboard.ca_crl.pem'
ca_certificate_path: 'certs/dashboard.ca_cert.pem'
certificate_path: 'certs/dashboard.cert.pem'
private_key_path: 'certs/dashboard.private_key.pem'
public_key_path: 'certs/dashboard.public_key.pem'

#### Specify the Certificate Authority

This must be the same CA used by the rest of your site, and will usually be your puppet master.

ca_server: 'puppet'
ca_port: 8140


#### Enable the Inventory Service

Inventory support is turned off by default. You'll need to enable it, and tell Dashboard which server is providing the inventory service, which may be a different puppet master than the one providing the CA service.

enable_inventory_service: true
inventory_server: 'puppet'
inventory_port: 8140

### 3: Authenticate Dashboard to the CA

Much like puppet agent, Dashboard can submit certificate signing requests to the puppet master. At the time of this writing, this must be done via Rake tasks.

If you already have a keypair for Dashboard to use, you should have configured its location in step two, and can skip the first Rake task; otherwise, in Dashboard's code directory, run:

$ rake cert:create_key_pair

Then, to request a certificate, run:

$ rake cert:request

This will submit a certificate signing request (CSR) to the puppet master CA. You'll have to log into the puppet master and run `puppet cert sign dashboard`, as with any pending CSR. After you've signed the certificate, you can retrieve it on the Dashboard by running:

$ rake cert:retrieve

### 4: Restart Puppet Dashboard

This will enable inventory support, and you should begin seeing fact data on node pages immediately.
Loading

0 comments on commit 5323a36

Please sign in to comment.