Managing and deploying Puppet code
Sections
Puppet Enterprise (PE) includes built-in tools for managing and deploying your Puppet infrastructure. Code Manager and r10k are code management tools that automatically install modules, create and maintain environments, and deploy new code to your primary server and compilers, all based on version control of your Puppet code and data.
Code management tools
You can use either Code Manager or r10k to manage and deploy Puppet code. Both tools are built into PE and do not require separate installations.
Code Manager
Code Manager is the recommended tool for managing Puppet code in PE. Code Manager automates the deployment of your Puppet code and data. You can make code and data changes on your workstation and push changes to your Git repository. Subsequently, Code Manager creates environments, installs modules, and deploys the new code to your primary server and compilers, without interrupting agent runs.
r10k
If you are unable to use Code Manager, you can still use r10k to manage your code.
-
Managing environments with a control repository
To manage your Puppet code and data with either Code Manager or r10k, you need a Git version control repository. This control repository is where code management stores code and data to deploy your environments. -
Managing environment content with a Puppetfile
A Puppetfile specifies detailed information about each environment's Puppet code and data. -
Managing code with Code Manager
Code Manager automates the management and deployment of your Puppet code. When you push code updates to your source control repository, Code Manager syncs the code to your primary server and compilers. This allows all your servers to run the new code as soon as possible, without interrupting in-progress agent runs. -
Managing code with r10k
r10k is a code management tool that allows you to manage your environment configurations (such as production, testing, and development) in a source control repository. You must manually deploy code changes from your control repository using the r10k command line tool on your primary server and all compilers. -
About file sync
File sync helps Code Manager keep your Puppet code synchronized across your primary server and compilers.