Completing the stack with PuppetDB
Whether you choose to use puppetserver or prefer Passenger after all, there is yet another piece of infrastructure that should be considered for each master host. PuppetDB is a specialized database designed to interact with the Puppet master. It mainly comprises a PostgreSQL backend with an API wrapper. The latter was written in Clojure and runs in yet another JVM.
PuppetDB aids the master's secondary task of storing reports and other agent data. It is also necessary for some specific manifest compiler functionality. This is covered in Chapter 6, Leveraging the Full Toolset of the Language.
The best way to set up and configure PuppetDB is actually Puppet itself. Since the necessary tools have not yet been introduced, we will postpone this step until Chapter 6, Leveraging the Full Toolset of the Language. This is not a problem, because PuppetDB is not essential for basic master operation.
Note
Nevertheless, after finishing this title, you should include...