Book Image

Extending Puppet

By : Alessandro Franceschi
Book Image

Extending Puppet

By: Alessandro Franceschi

Overview of this book

Table of Contents (21 chapters)
Extending Puppet
About the Author
About the Reviewers

Querying PuppetDB for fun and profit

PuppetDB stores and exposes a large amount of information. What we can do with it? Probably, much more than what we might guess now. In this section, we explore the REST endpoints that are available, in detail.

Diving into such details might be useful to better understand what can be queried and may trigger new ideas on what we can do with such information.

In these samples, we use curl with HTTP directly from the server where PuppetDB is installed.

The /facts endpoint

Show all the facts of all our nodes (be careful, there may be a lot!):

curl 'http://localhost:8080/v3/facts'

Show the IP addresses of all our nodes (a similar search can be done for any fact):

curl 'http://localhost:8080/v3/facts/ipaddress'

Show the node that has a specific IP address:

curl 'http://localhost:8080/v3/facts/ipaddress/'

Show all the facts of a specific node:

curl -X GET http://localhost:8080/v3/facts --data-urlencode \'query=["=", "certname", ""]'