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

The PuppetDB API

PuppetDB uses a Command/Query Responsibility Separation (CQRS) pattern:

  • Read: These activities are done for queries on the available REST-like endpoints

  • Write: These commands update catalog, facts, and reports and deactivate nodes

APIs are versioned (v1, v2, v3, and so on), and the most recent ones add functionalities and try to keep backward compatibility.

Querying PuppetDB (Read)

The URL for queries is structured as follows:


The available endpoints for queries are metrics, fact-names, facts, nodes, resources, reports, events, event-counts, aggregate-event-counts, and server-time.

Query strings are URL-encoded JSON arrays in prefix notation, which makes them look a bit unusual. The general format is as follows:

[ "<operator>" , "<field>" , "<value>" ]

The comparison operators are =, >=, >, < , <=, and ~ (regexp matching). Some examples are as follows:

["=", ...