In this video, you will learn about Puppet core components and working.
So what is Puppet?
Well, Puppet is an alternative to Ansible.
It was really big before Ansible became so popular.
In Puppet, the Puppet master is a control node and that is where the manifests are stored.
And the manifests describe the desired state of the managed systems.
The Puppet agent runs on managed nodes and it is used by the master which pushes configuration
to it.
And here we have two fundamental differences between Puppet and Ansible.
Puppet requires an agent which is software that you need to install on the managed nodes
and Puppet master can push configuration to the agent.
The manifests define the desired state of the managed nodes and they are like the playbooks
in Ansible.
And a key feature of Puppet is that it ensures continuous compliance by pushing configuration
to agents on a regular basis.
You can check out the core's Git repository for an example Puppet file.
Let's do that.
So here we have the Puppet.pp.
.pp is the standard extension for a Puppet file.
This is an extremely simple Puppet file which defines a site.pp where we ensure that the
web server is installed and the web server is running.
Now Puppet files are not using YAML as in Ansible.
They use a significantly more complex syntax.