Puppet (software)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Puppet
Developer(s) Puppet Labs
Initial release 2005; 8 years ago (2005)
Stable release 3.2.1 (May 22, 2013; 0 days ago (2013-05-22)) [±]
Preview release 3.2.1-rc1 (May 17, 2013; 5 days ago (2013-05-17)) [±]
Written in Ruby
Operating system GNU/Linux, Unix-like, Windows
Type Configuration management
License Apache for >2.7.0; GPL for prior versions.
Website http://www.puppetlabs.com/

Puppet is an open source configuration management tool from Puppet Labs, founded by Luke Kanies in 2005. It is written in Ruby and released as free software under the GPL until version 2.7.0 and the Apache 2.0 license after that.[1]

Contents

Purpose [edit]

Puppet is a tool designed to manage the configuration of Unix-like and Microsoft Windows systems declaratively. The user describes system resources and their state, either using Puppet's declarative language or a Ruby DSL (domain-specific language). This information is stored in files called "Puppet manifests". Puppet discovers the system information via a utility called Facter, and compiles the Puppet manifests into a system-specific catalog containing resources and resource dependency, which are applied against the target systems. Any actions taken by Puppet are then reported.

Puppet language [edit]

Puppet consists of a custom declarative language to describe system configuration, which can be either applied directly on the system, or compiled into a catalog and distributed to the target system via client–server paradigm (using a REST API), and the agent uses system specific providers to enforce the resource specified in the manifests. The resource abstraction layer enables administrators to describe the configuration in high-level terms, such as users, services and packages without the need to specify OS specific commands (such as rpm, yum, apt).

Platform support [edit]

Built to be cross-platform, it works on Linux distributions, including CentOS, Debian, Fedora, Mandriva, Oracle Linux, RHEL, Scientific Linux, SUSE and Ubuntu, as well as multiple Unix systems (Solaris, BSD, Mac OS X, AIX, HP-UX), and has Microsoft Windows support.[2][3]

It is a model-driven solution that requires limited programming knowledge to use.[4]

Users [edit]

Puppet is used by Wikimedia Foundation,[5] ARIN, Reddit,[6] Dell, Rackspace, Zynga, Twitter, New York Stock Exchange, Disney, Citrix Systems, Oracle, The University of North Texas, Los Alamos National Laboratory, Stanford University, and Google, among others.[7]

See also [edit]

References [edit]

External links [edit]