referred to as the Puppet Master. By default, agents
check their configuration every 30 minutes and ensure
that a match exists between the expected configuration
and the local configuration. There are software agents for
Linux and Windows hosts, as well as for various network
devices, including Cisco NX-OS and IOS XR.
Puppet manages systems in a declarative manner,
meaning that the administrator defines the state the
target system should be in without worrying about how
the system gets to that state. Puppet models the desired
system state, enforces that state, and reports any
differences between the desired state and the current
state of the system for tracking purposes. In order to
model the system states, Puppet uses a declarative
resource-based language called Puppet Domain Specific
Language (DSL). The desired state of the system is
defined in this language, and Puppet converges the
infrastructure to the desired state. The communication
between the Puppet Master and the agents is over an
encrypted SSL connection.
Several components make up the Puppet architecture, as
shown in Figure 15-4.