Puppet provides the tools to separate entire branches of configuration. These are called environments. A Puppet environment is a way to supply an isolated group of agent nodes with their own dedicated configuration. Each environment contains an entire Puppet configuration tree and can be considered as a separate Puppet master server.
This is a companion discussion topic for the original entry at https://linuxconfig.org/how-to-use-puppet-environments-in-linux-to-safely-update-an-agent