System requirements

This version is out of date. For current versions, see Puppet packages and versions.

Puppet system requirements depend on your deployment type and size. Before installing, ensure your systems are compatible with infrastructure and agent requirements.

Note: Puppet masters must run on some variant of *nix. You can't run masters on Windows.

Hardware requirements

The agent service has no particular hardware requirements and can run on nearly anything. The master, however, is fairly resource intensive, and must be installed on a robust, dedicated server.

The demands on the master vary widely between deployments. Resource needs are affected by the number of agents being served, how frequently agents check in, how many resources are being managed on each agent, and the complexity of the manifests and modules in use.

These minimum hardware requirements are based on internal testing. 
Node volumeCoresHeap ReservedCodeCache
dozens21 GBn/a
1,0002-44 GB512m

Supported agent platforms

Puppet provides official packages for various operating systems and versions. You aren't necessarily limited to using official packages, but installation and maintenance is generally easier with official tested packages. 

Packaged platforms

puppet-agent packages are available for these platforms.

Packages for tested versions are officially tested. Packages for untested versions might not be automatically tested.
Operating systemTested versionsUntested versions
Debian 8, 9
Fedora 27 (puppet-agent 6.0.4 and earlier), 28, 29 (puppet-agent 6.0.5 and later)
macOS 10.12 Sierra, 10.13 High Sierra, 10.14 Mojave (see note below)
Microsoft Windows 10 Enterprise7, 8, 10
Microsoft Windows Server 2008R2, 2012R2, 2016, 2019 (6.0.7 and later)2008, 2012
Red Hat Enterprise Linux, including:
  • Amazon Linux v1 (using RHEL 6 packages)

  • Amazon Linux v2 (using RHEL 7 packages)

5, 6, 7
SUSE Linux Enterprise Server 15
Ubuntu 14.04, 16.04
Note: On macOS 10.14 Mojave, you must grant Puppet Full Disk Access to be able to manage users and groups. To give Puppet access on a machine running macOS 10.14, go to System Preferences > Security & Privacy > Privacy > Full Disk Access, and add the path to the Puppet executable. Alternatively, set up automatic access using Privacy Preferences Control Profiles and a Mobile Device Management Server.


If you install using an official package, your system’s package manager ensures that dependencies are installed. If you install the agent on a platform without a supported package, you must manually install these packages, libraries, and gems:
  • Ruby 2.5.x
  • CFPropertyList 2.2 or later
  • Facter 2.0 or later
  • The msgpack gem, if you're using msgpack serialization

Timekeeping and name resolution

Before installing , there are network requirements you need to consider and prepare for. The most important requirements include syncing time and creating a plan for name resolution.


Use NTP or an equivalent service to ensure that time is in sync between your master, which acts as the certificate authority, and any agent nodes. If time drifts out of sync in your infrastructure, you might encounter issues such as agents recieving outdated certificates. A service like NTP (available as a supported module) ensures accurate timekeeping.

Name resolution

Decide on a preferred name or set of names that agent nodes can use to contact the master. Ensure that the master can be reached by domain name lookup by all future agent nodes.

You can simplify configuration of agent nodes by using a CNAME record to make the master reachable at the hostname puppet, which is the default master hostname that is suggested when installing an agent node.

Firewall configuration

In the agent-master architecture, your master must allow incoming connections on port 8140, and agent nodes must be able to connect to the master on that port.

Puppet sites use proprietary and third-party cookies. By using our sites, you agree to our cookie policy.