Last Updated: February 25, 2016
· bodepd

Puppet Overview

Puppet is an API for creating configuration interfaces that manage the states of things:

APIs exist for specifying:

  • The interface for how something can be described:

the following attributes can be used to describe users:
- shells
- home directories
- password

  • How to retrieve the current state

For packages, use rpm -q on RedHat-ish systems or dpkg-query --search on Debian-ish systems

  • How to remediate

For packages, use yum on RedHat-ish systems, and apt-get on Debian-ish systems.

Once the heavy lifting has been implemented using these APIs, the user can simply describe the states of the things that he cares about:

user { 'bob':
  ensure => 'present',
  shell    => '/bin/bash',

package { 'vim':
  ensure => installed,