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:

http[s]://<server>:<port>/<version>/<endpoint>?query=<query>

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. ...

Get Extending Puppet now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.