Puppet (software)

Open source configuration management software

Puppet

Developer(s)| Puppet
Initial release| 2005; 20 years ago (2005)
Stable release|

8.10.0 / 22 October 2024; 9 months ago (22 October 2024)

Repository|

* github.com/puppetlabs/puppet

Written in| C++ & Clojure from 4.0,[1] Ruby
Operating system| Linux, Unix-like, Microsoft Windows
Type|

* Software configuration management
* Infrastructure as Code

License| Open Source Puppet: Apache for >2.7.0, GPL for prior versions.
Puppet Enterprise: proprietary[2]
Website| puppet.com

Puppet is a software configuration management tool developed used to manage stages of the IT infrastructure lifecycle.[3]

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,[4] 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 has Microsoft Windows support.[5][6] Puppet itself is written in Ruby. Facter, Puppet’s cross-platform system profiling library, is written in C++. Puppet Server and Puppet DB are written in Clojure.[7]

It is developed by Puppet Inc., which is owned by Perforce, which is owned in turn by private equity firms.[8]

## Design

[edit]

Puppet consists of a custom declarative language to describe system configuration.

Puppet is model-driven, requiring limited programming knowledge to use.[9]

Puppet is designed to manage the configuration of Unix-like and Microsoft Windows systems declaratively.

### Architecture

[edit]

Puppet manually invoked on a client

Puppet follows client-server architecture. The client is known as an agent and the server is known as the master. For testing and simple configuration, it can also be used as a stand-alone application run from the command line.

Puppet Server is installed on one or more servers, and Puppet Agent is installed on all the machines to be managed. Puppet Agents communicate with the server and fetch configuration instructions. The Agent then applies the configuration on the system and sends a status report to the server.[10][11]

Puppet resource syntax:

type { 'title':
attribute => value

Example resource representing a Unix user:

user { 'harry':
ensure => present,
uid    => '1000',
shell  => '/bin/bash',
home   => '/home/harry'

## Company

[edit]

Puppet, Inc

Company type| Private[12]
Industry| Computer software[12]
Founded| 2005; 20 years ago (2005)[citation needed]
Headquarters| Portland, Oregon, U.S.

Key people

| Luke Kanies (Founder), Yvonne Wassenaar (CEO), Andrew Shafer
Products| Puppet, Puppet Enterprise, and Puppet Forge[13]
Owner| Perforce
Website| puppet.com
Puppet Founder Luke Kanies

Puppet Inc., is a subsidiary of Perforce based in Portland, Oregon, USA.

In 2005, Puppet was founded by former CEO Luke Kanies.[citation needed] On Jan. 29, 2019 Yvonne Wassenaar replaced Sanjay Mirchandani as CEO. Wassenaar previously worked at Airware, New Relic and VMware. In February 2011 Puppet released its first commercial product, Puppet Enterprise, built on its open-source base, with some extra commercial components.[14] Puppet purchased the infrastructure automation firm Distelli in September 2017.[15] Puppet rebranded Distelli's VM Dashboard (a continuous integration / continuous delivery product) as Puppet Pipelines for Applications,[16] and K8s Dashboard as Puppet Pipelines for Containers.[17] The products were made generally available in October, 2017.[18] In May 2018, Puppet released Puppet Discovery, a tool to discover and manipulate resources in hybrid networks.[19] In June 2018, Puppet raised an additional $42 million for a total of $150 million in funding. The round was led by Cisco and included Kleiner Perkins, True Ventures, EDBI, and VMware.[20] Puppet's partners include VMware, Amazon Web Services, Cisco, OpenStack, Microsoft Azure, Eucalyptus, and Zenoss.[21]

In April 2022, it was announced Puppet had been acquired by the Minneapolis-headquartered software developer, Perforce.[22] The company subsequently laid off 15% of Puppet's workforce in Portland.[23]

## See also

[edit]

* Free and open-source software portal

* Comparison of open-source configuration management software
* CFEngine

## References

[edit]

1. ^ "Evolving Puppet for the Next 10 Years". Luke Kanies. 2014-09-23. Retrieved 2017-05-26.
2. ^ "Puppet Master License Agreement". Archived from the original on 2019-08-04. Retrieved 2019-02-07.
3. ^ Graner, Amber. "Puppet Labs Announces Puppet Enterprise".
4. ^ "Puppet Frequently Asked Questions". Puppet Labs. Archived from the original on 20 March 2016. Retrieved 10 March 2010.
5. ^ "Docs: PE 2.0 - Installing - System Requirements". Puppet.
6. ^ "Puppet system requirements". Puppet.
7. ^ "Evolving Puppet for the Next 10 Years". Luke Kanies. 2014-09-23. Retrieved 2017-05-26.
8. ^ Rao, Leena (29 November 2011). "Cisco, Google Ventures, VMware Put $8.5M In Data Center Automation Startup Puppet Labs". TechCrunch.
9. ^ "Deploying Apache Tomcat Applications With Puppet". tomcatexpert.com. Retrieved 23 January 2015.
10. ^ "Overview of Puppet's architecture — Documentation — Puppet". docs.puppet.com. Archived from the original on 2016-10-01. Retrieved 2016-09-14.
11. ^ Krum, Spencer; Van Hevelingen, William; Turnbull, James; McCune, Jeffrey; Kero, Ben (9 December 2013). Pro Puppet. Apress. ISBN 978-1430260400.
12. ^ a b "Company Overview of Puppet Labs, Inc". Bloomberg Businessweek. Archived from the original on October 26, 2012.
13. ^ "Puppet Enterprise". Puppet.
14. ^ Kerner, Sean Michael (2 February 2011). "Puppet Goes After Enterprise System Management". Enterprise Networking Planet.
15. ^ "Welcome to the Puppet family, Distelli!".
16. ^ "Pipelines for Applications user's guide - Pipelines for Applications enterprise | Puppet". Archived from the original on 2018-07-07. Retrieved 2018-07-07.
17. ^ "Pipelines for Containers user's guide - Pipelines for Containers enterprise | Puppet". Archived from the original on 2018-07-07. Retrieved 2018-07-07.
18. ^ "Introducing Puppet Pipelines™ and Puppet® Container Registry".
19. ^ "Announcing Puppet Discovery™ general availability: 8 May".
20. ^ "Puppet raises $42M led by Cisco as its DevOps automation platform passes 40,000 businesses". TechCrunch. 27 June 2018. Retrieved 2019-03-22.
21. ^ Rao, Leena (29 November 2011). "Cisco, Google Ventures, VMware Put $8.5M in Data Center Automation Startup Puppet Labs". TechCrunch.
22. ^ "Perforce Software acquires Puppet". TechCrunch. 11 April 2022. Retrieved 2022-04-11.
23. ^ Spencer, Malia (August 8, 2022). "Perforce Software starts layoffs at Portland's Puppet". The Business Journals: Portland Inno.

## External links

[edit]

Wikimedia Commons has media related to Puppet (software).

* Official website

* v
* t
* e

Ruby programming language

Implementations|

| Active|

* Ruby MRI; YARV
* mruby
* JRuby
* RubyMotion

|

Discontinued|

* MacRuby
* IronRuby
* XRuby
* HotRuby
* MagLev
* Rubinius

IDE|

* Aptana Studio
* Komodo IDE
* RubyMine

Applications|

* Capistrano
* Hackety Hack
* Interactive Ruby Shell
* Pry
* Rake
* Redmine
* RSpec
* RubyGems
* RVM
* Chef
* Puppet
* Vagrant
* Homebrew
* CocoaPods

Libraries and frameworks|

* Adhearsion
* eRuby (RHTML)
* Merb
* Padrino
* RubyCocoa
* Ruby on Rails
* Shoes
* Sinatra
* QtRuby

Server software|

* mod_ruby
* Mongrel
* Phusion Passenger (mod_rails/mod_rack)
* Rack
* WEBrick

People|

* Yukihiro Matsumoto
* David Heinemeier Hansson
* why the lucky stiff
* Dave Thomas

Other|

* Document format
* why's (poignant) Guide to Ruby
* RGSS
* Ruby Central
* RubyKaigi
* RubyForge
* Ruby License

* Category
* Commons

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template