What are Puppet Manifests?

In Puppet Master, every Puppet Node or Puppet Agent has its configuration data expressed in the native Puppet language. This information is called Puppet Manifests and is written in a language that Puppet understands. The .pp suffix is used in the filenames of these manifests, which are made up of Puppet programmes.

For example, in Puppet Master, we may build a manifest that produces a file and installs Apache on all Puppet Agents or slaves linked to the Puppet Master.

Puppet is a configuration management tool at its most basic. There are a couple of different tools that PuppetLabs provides (PuppetDB, Puppet Enterprise, Facter, Hiera), as well as models for using Puppet (client/server, where a server is referred to as a master, and clients check in to gather any updates to configuration and apply them to themselves; also master-less). Finally, there is a robust community of open-source tools around Puppet, such as r10k, and a number of community built modules that can be found on the Puppet Forge.

Manifests, which contain Puppet code (a Ruby DSL), describing the desired configuration, contents, or execution for files, services, scripts, and other pieces of infrastructure