Automate IT and infrastructure, manage complex workflows, and mitigate risk at scale.
Try the full-featured Puppet Enterprise for free on 10 nodes.
Find and prevent compliance failures
Continuous Delivery for Puppet Enterprise
Build, test, and deploy infrastructure as code faster and easier
Compliance Enforcement Modules
Remediate to stay in compliance
Content & Modules
Pre-built scripts to automate common tasks
Get Puppet Enterprise
First 10 nodes are free!
Try it now
Request a demo
Find thousands of component modules built by the community and guidance on using them in your own infrastructure.
Visit Puppet Forge >>
Open Source PuppetPerfect for individuals and small infrastructure
BoltAutomate tasks in orchestration workflows
See all open source projects >>
Contribute to open source projects >>
For years the tech industry has had a dubious relationship with the words "master" and “slave,” utilizing them to denote how software instances and machines relate to each other. The name “Puppet Master” originated as a playful twist on “puppet master,” a term that is problematic in its own right. Puppet avoided the worst connotations by using the "master/agent" paradigm in its software architecture, but we recognize that the distinction is not enough and have moved to establish alternatives to master-slave terminology.
Table of Contents:
In 2014 we began the technical work of replacing the "master" service with compiler threads running within the server. Today the Puppet Master only exists in vestiges: config settings, documentation references, and concepts that we talk about in the community. But we never undertook a comprehensive effort to change language everywhere it existed. The words “master,” “server,” “compiler,” “Puppet Server,” “master node,” “server node,” “compiler node,” and others are conflated throughout our ecosystem, sometimes used interchangeably when they should not be, and often in reference to the wrong part of the stack.
Language matters. Today, we are finishing the work we started to remove and replace harmful terms in our software & documentation:
The necessary work is done in Puppet Bolt and is underway for Puppet Enterprise, Open Source Puppet, and our other products. Timelines vary, and changes will be released for each product as they are completed.
We have a few general guidelines for folks wishing to incorporate these changes into the way they talk about their own infrastructures. In most cases, the word “master” is simply replaced with “server.” We talk about the Puppet server, and when we want to identify components that may or may not be on different machines we just refer to those services, e.g. the CA server or the PuppetDB server. See the Vox Pupuli reference architectures for examples of this language in use today.
We also updated our UX Design Principles to explicitly center ethical and inclusive design.
Technologists must collaborate to ensure software and services do no harm. The activities outlined here are individual steps on a long road to raise our collective intelligence about ethical product design and engineering, and to help outcomes improve for everyone. Our work will continue and we hope yours will too.
EXPLORE PUPPET DOCUMENTATION
Community and Developer Relations Lead, Puppet by Perforce