Exploring the PuppetDB query API
Data is only useful if you have some means to access it, and yet this is a truism that many systems seem to have forgotten, relying on developers to come along and fill whatever egregious gaps in data exploration the original product left out, instead. Fortunately, Puppet offers a rich data discovery tool in the form of the PuppetDB API and its associated query language.
As we discovered in the previous chapter, PuppetDB is more than just a place to dump data about Puppet; it's a fully functioning and high-performance endpoint that Puppet can utilize to speed up exported configuration data, catalog compilation, and more. By adding PuppetDB to your Puppet infrastructure, you will find that you will get some fantastic performance gains across almost all parts of the product as well as gaining a powerful reporting endpoint.
One of the key decisions made by the PuppetDB developers was to make the data that PuppetDB holds accessible by a well-documented and powerful...