Nov 29, 2014
What's New in PuppetDB
Nick [email protected]@nick_lewis
What's Old in PuppetDB?
PuppetDB 1.0
● Open-source data storage service
PuppetDB 1.0
● Open-source data storage service● Replacement for ActiveRecord storeconfigs and
inventory service
PuppetDB 1.0
● Open-source data storage service● Replacement for ActiveRecord storeconfigs and
inventory service● Catalogs and facts
PuppetDB 1.0
● Open-source data storage service● Replacement for ActiveRecord storeconfigs and
inventory service● Catalogs and facts● Focused on performance and correctness
PuppetDB 1.0
● Open-source data storage service● Replacement for ActiveRecord storeconfigs and
inventory service● Catalogs and facts● Focused on performance and correctness
○ Written in Clojure on the JVM
PuppetDB 1.0
● Open-source data storage service● Replacement for ActiveRecord storeconfigs and
inventory service● Catalogs and facts● Focused on performance and correctness
○ Written in Clojure on the JVM○ Backed by PostgreSQL
PuppetDB 1.0
● Open-source data storage service● Replacement for ActiveRecord storeconfigs and
inventory service● Catalogs and facts● Focused on performance and correctness
○ Written in Clojure on the JVM○ Backed by PostgreSQL○ Internal ActiveMQ provides asynchrony
PuppetDB 1.0 data lifecycle
PuppetDB 1.0 data lifecycle
1) Puppet sends facts to PuppetDB
Puppetmaster PuppetDB
Facts
PuppetDB 1.0 data lifecycle
2) Puppet collects resources from PuppetDB
PuppetDBPuppetmaster
Resources
PuppetDB 1.0 data lifecycle
1) Puppet sends catalog to PuppetDB
Puppetmaster PuppetDB
Catalog
PuppetDB 1.0 data lifecycle
4) PuppetDB has all the data!
Puppetmaster PuppetDB
CatalogFactsCatalogFacts
PuppetDB 1.0 data lifecycle
5) Nick gives a talk about how great all that data is
data data data
PuppetDB yay
Nick
PuppetDB 1.0 data lifecycle
6) You get inspired and try to use the data
PuppetDB
CatalogFactsCatalogFacts
You
PuppetDB 1.0 data lifecycle
7) You give up and ask for help
You Internet user
datafactsdata
data?
PuppetDB 1.0 data lifecycle
8) Sorry, what you want is impossible now, maybe later
You Internet user
datafactsdata
February?
PuppetDB 1.0 data lifecycle
A tragedy in eight steps
You Internet user
datafactsdata
February?
PuppetDB probably-1.1-but-maybe-2.0
● Open-source data retrieval service
PuppetDB probably-1.1-but-maybe-2.0
● Query API v2○ Any query you can imagine○ Almost everything is one query○ Regular expressions○ Tested on real users
PuppetDB probably-1.1-but-maybe-2.0
● Storage of reports (experimental)○ Just another Puppet report processor○ Configurable data retention period○ Also queryable, but not as much yet
PuppetDB probably-1.1-but-maybe-2.0
● Storage of reports (experimental)○ Just another Puppet report processor○ Configurable data retention period○ Also queryable, but not as much yet
PuppetDB probably-1.1-but-maybe-2.0
● Exporable, RESTful API○ Data should be fun○ Perfect for answering simple questions○ Great for making charts○ Plays well with jgrep
● links.puppetlabs.com/puppetdb-trello● github.com/puppetlabs/puppetdb
What's coming up?