Puppet (https://puppetlabs.com) is an IT automation framework that helps system administrators manage large network infrastructure resources using a flexible, declarative approach to IT automation.
At the heart of Puppet is the concept of a manifest that describes the desired state of an infrastructure resource. In Puppet terms, a state can include the following:
Which software packages are installed
Which services are running and which aren't
Software configuration details
Puppet uses a declarative Ruby-based DSL to describe system configuration in collections of files known as manifests. An example Puppet manifest for ZooKeeper is listed as follows:
package { 'zookeeper': ensure => "3.3.5*", } package { 'zookeeperd': ensure => "3.3.5*", require => Package["zookeeper"], } service { 'zookeeperd': ensure => 'running', require => Package["zookeeperd"], }
This simple manifest...