What is the architecture of Puppet?

Puppet is Open Source software. It is based on Client-server architecture. It is a Model Driven system. The client is also called Agent. And the server is called Master.


It has the following architectural components:

  1. Configuration Language: Puppet provides a language that is used to configure Resources. We have to specify what Action has to be applied to which resource.
  2. TheAction has three items for each resource: type, title and list of attributes of the resource. Puppetcodeis written inManifests files.
  3. Resource Abstraction: We can create Resource Abstraction in Puppet so that we can configure resources on different platforms. The puppet agent uses a Facter for passing the information of an environment to the Puppet server. In Factor, we have information about the IP, hostname, OS etc of the environment.
  4. Transaction : In Puppet, Agent sends Facter to Master server. The master sends back the catalogue to the Client. Agentappliesany configuration changes to the system. Once all changes are applied, the result is sent to the Server.