Puppet is a software configuration management tool used to manage stages of the IT infrastructure lifecycle.
Puppet uses an open-core model; its free-software version was released under version 2 of the GNU General Public License (GPL) until version 2.7.0, and later releases use the Apache License, while Puppet Enterprise uses a proprietary license. Puppet and Puppet Enterprise operate on multiple Unix-like systems (including Linux, Solaris, BSD, Mac OS X, AIX, HP-UX) and have Microsoft Windows support. Puppet itself is written in Ruby. Facter, Puppet’s cross-platform system profiling library, is also written in Ruby. Puppet Server and Puppet DB are written in Clojure.
It is developed by Puppet Inc., which is owned by Perforce, which is owned in turn by private equity firms.
Contents
Design
Puppet consists of a custom declarative language to describe system configuration.
Puppet is model-driven, requiring limited programming knowledge to use.
Puppet is designed to manage the configuration of Unix-like and Microsoft Windows systems declaratively.




