Installing Puppet

To get started using Puppet, you must first complete the initial installation and setup process.

Puppet is distributed in several packages. These include puppetserver, puppet-agent and puppetdb. Puppet Server controls the configuration information for one or more managed agent nodes. PuppetDB is where the data generated by Puppet is stored.

This guide walks you through the following steps in installing Puppet:
  • Enabling the Puppet platform repository

  • Installing Puppet Server

  • Installing Puppet agent

  • Installing PuppetDB (optional)
You install each of these components separately, operating on a single node. From here, you can scale up to the large installation as your infrastructure grows, or customize configuration as needed.
Note: The puppetserver component of the Puppet platform is available only for Linux. The puppet-agent component is available independently for over 30 platforms and architectures, including Windows and macOS. For more information on Puppet's packages, see Puppet platform lifecycle.

1. Enable the Puppet platform repository

Enabling the Puppet platform repository makes the components needed for installation available on your system. The process for enabling the repository depends on your package management system, such as Yum or Apt.

Before you begin

Identify the URL of the package you want to enable based on your operating system and version. *nix platform packages are located in repositories corresponding to the Yum and Apt package management systems.

Yum is used with Red Hat operating systems, such as Red Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES). Go to for a list of packages and corresponding URLs. The Yum package URL naming convention is generally:<PLATFORM_NAME>-release-<OS_ABBREVIATION>-<OS_VERSION>.noarch.rpm
For example:
Apt is used with Debian and Ubuntu. Go to for a list of packages and corresponding URLs. The Apt package URL naming convention is generally:<PLATFORM_VERSION>-release-<VERSION_CODE_NAME>.deb
For example: Note that for Ubuntu releases, the VERSION_CODE_NAME is the adjective, not the animal.

Enable the Puppet platform on Yum

Logged in as root, run the RPM tool in upgrade mode:
sudo rpm -U <PACKAGE_URL>
For example, to enable the Enterprise Linux 8 repository:
sudo rpm -Uvh

Enable the Puppet platform on Apt

  1. Logged in as root, download the package and run the dpkg tool in install mode:
    wget <PACKAGE_URL>
    sudo dpkg -i <FILE_NAME>.deb
    For example, to enable the Ubuntu 20.04 focal repository:
    sudo dpkg -i puppet8-release-focal.deb
  2. Update the apt package lists:
    sudo apt-get update
Certain operating systems and installation methods automatically verify package signatures. In these cases, you don’t need to do anything to verify the package signature. These methods include:
  • If you install from the Puppet Yum and Apt repositories, the release package that enables the repository also installs our release signing key. The Yum and Apt tools automatically verify the integrity of packages as you install them.

  • If you install a Windows agent using an .msi package, the Windows installer automatically verifies the signature before installing the package.

    If you need to manually verify packages, see Verify packages.

2. Install Puppet Server

Puppet Server is a required application that runs on the Java Virtual Machine (JVM) on the primary server.

In addition to hosting endpoints for the certificate authority service, Puppet Server also powers the catalog compiler, which compiles configuration catalogs for agent nodes, using Puppet code and various other data sources.

In this section, you will install the puppetserver package and start the service.

Follow the steps in install Puppet Server

3. Install Puppet agent

Puppet agents translates code into commands and then executes it on the systems you specify.

In this section, you will install agents on your chosen operating system, configure them, and sign their certificates. Follow the steps in install agents.

4. Install PuppetDB (optional)

All of the data generated by Puppet is stored in Puppet DB.

You can optionally install PuppetDB to enable extra features, including enhanced queries and reports about your infrastructure. In this section, you will assign PuppetDB module’s classes to your servers. Follow the steps in install PuppetDB.