← Software

Puppet

A model-driven configuration management system.

Puppet logo

Puppet uses a domain-specific language to describe the desired state of systems, and an agent on each managed host that periodically pulls its compiled "catalogue" from a Puppet server. The model-driven approach compiles an abstract description of the world (what packages, files, services, and users should exist) into the concrete commands needed to reach that state, while idempotently leaving correctly-configured systems alone.

Luke Kanies founded Puppet in 2005 after frustration with CFEngine's expressive limits. Puppet popularised the modern declarative configuration management pattern that Chef, Salt, and (to a lesser extent) Ansible later iterated on. Forge, the Puppet module marketplace, hosts thousands of community-curated modules covering popular software stacks.

Puppet's adoption is concentrated in long-running enterprise environments — financial services, telecoms, government — where the model-driven approach pays off in clarity over thousands of servers. The commercial company (now under Perforce) maintains the Puppet Enterprise product on top of the open-source engine.

License: Apache-2.0

Category: DevOps

Website: https://puppet.com/

Install

Debian/Ubuntu: sudo apt install puppet
Fedora/RHEL:   sudo dnf install puppet
Arch:          sudo pacman -S puppet

Authors

  • Luke Kanies (creator)
  • Perforce / Puppet Labs and contributors
PreviousPulumi NextPython

This site is currently in Beta. Contact: Chris Paton

Textbook of AI · Textbook of Usability · Textbook of Digital Health

Auckland Maths and Science Tutoring