Open source Puppet platforms and requirements

Puppet tests the open source Puppet suite against several operating systems and configurations, and for many of them also packages it into the puppet-agent package.

Note: For Puppet Enterprise’s supported platforms, see its system requirements.

For more information about about the most recent Puppet 4 packages and platforms, see the Puppet Collections documentation. To request an official package for a platform not on this list, contact us.

Puppet agent and operating system support life cycles

In PE 2015.2 and open source Puppet 4.0 and onward, we use the same Puppet agent packages in our open source and Puppet Enterprise ecosystems. Because of this, we’ve set the following guidelines for managing Puppet agent life cycles.

Community-supported operating systems

On community-supported operating systems, we support Puppet agent for the OS’s life cycle. Essentially, Puppet stops supporting an agent 30 days after that platform’s end-of-life (EOL) date. For example, Fedora 20 reached its EOL on June 23, 2015. This means that on or around July 23, Puppet stopped providing fixes, updates, or support for either the Puppet Enterprise or open source versions of that agent.

This guideline covers the following community-supported operating systems:

  • Debian
  • Fedora
  • Ubuntu (non-LTS)

Enterprise-class operating systems

On enterprise-class operating systems, we support Puppet agent for at least the OS’s life cycle. In Puppet Enterprise, Puppet continues to support certain enterprise-class agent platforms after their EOL, though we do so solely at our own discretion.

This covers the following enterprise operating systems:

  • AIX*
  • CentOS
  • Microsoft Windows Server
  • OS X
  • Oracle Enterprise Linux
  • Red Hat Enterprise Linux
  • Scientific Linux
  • Solaris*
  • Suse Linux Enterprise Server*
  • Ubuntu LTS

(* denotes PE-only platforms, for which we don’t provide open-source agent packages.)

Linux

Red Hat Enterprise Linux (and Derivatives)

We publish official packages and run automated testing on the following versions:

Puppet Enterprise also supports RHEL 4, which does not receive packages for open source Puppet.

(Note that RHEL 5 requires an updated Ruby ≥ 1.8.7 from our yum repo.)

This information applies to RHEL itself, as well as any distributions that maintain binary compatibility with it, including but not limited to CentOS, Scientific Linux, Oracle Linux, and Ascendos.

Debian and Ubuntu

We publish official packages and run automated testing on the following versions:

Fedora

We publish official packages and run automated testing on the following versions:

  • Fedora 20

Other

  • SUSE Linux Enterprise Server, version 11 and higher
  • Gentoo Linux
  • Mandriva Corporate Server 4
  • ArchLinux

BSD

  • FreeBSD 4.7 and later
  • OpenBSD 4.1 and later

Other Unix

  • OS X, version 10.7 (Leopard) and higher
  • Oracle Solaris, version 10 and higher
  • AIX, version 5.3 and higher
  • HP-UX

Windows

We publish official packages and run automated testing on the following versions:

We publish packages for the following versions, but do not run automated testing on them:

Ruby versions

Puppet requires an MRI Ruby interpreter. Certain versions of Ruby are tested more thoroughly with Puppet than others, and some versions are not tested at all. Run ruby --version to check the version of Ruby on your system.

Starting with Puppet 4, puppet-agent packages do not rely on the OS’s Ruby version, as it bundles its own Ruby environment. You can install puppet-agent alongside any version of Ruby or on systems without Ruby installed. Likewise Puppet Enterprise does not rely on the OS’s Ruby version, as it bundles its own Ruby environment. You can install PE alongside any version of Ruby or on systems without Ruby installed. windows logo The Windows installers provided by Puppet Labs don’t rely on the OS’s Ruby version, and can be installed alongside any version of Ruby or on systems without Ruby installed.

Ruby version Puppet 3.x Puppet 4.x
2.3.x* No Lightly Tested (4.5 and higher)
2.2.x No Lightly Tested
2.1.x Tested (3.5 and higher) Tested
2.0.x Tested (3.2 and higher) Lightly Tested
1.9.3** Tested Lightly Tested
1.8.7 Tested No

* Ruby 2.3.1+. Ruby 2.3.0 has a bug that causes segmentation faults under certain scenarios with puppet. ** Ruby 1.9.3-p392 and up only. Unfortunately, Ubuntu Precise ships with 1.9.3-p0. If you’re using Precise with Puppet 3.x, we recommend using Puppet Enterprise or installing a third-party Ruby package.

Versions marked as “Tested” are recommended by Puppet and are under automated test coverage. As of Puppet 4, where puppet-agent packages bundle Ruby, versions marked “Lightly Tested” are under reduced automated test coverage (specifically, spec tests only) – the Ruby version bundled with puppet-agent is the recommended version. We do not recommend other versions or make any guarantees about their performance with Puppet.

Prerequisites

Puppet has a very small number of external dependencies:

Dependency Puppet 3.x Puppet 4.x
Facter Required Required
Hiera Required Required
rgen Optional Required

Rgen is only needed if you are using Puppet 4 (or Puppet ≥ 3.2 with parser = future enabled). The official Puppet Labs packages will install it as a dependency.

All other prerequisite Ruby libraries should come with any standard Ruby install. Should your OS not come with the complete standard library (or you are using a custom Ruby build), these include:

  • base64
  • cgi
  • digest/md5
  • etc
  • fileutils
  • ipaddr
  • openssl (>= 0.9.8o if using a 3.x Puppet master or newer)
  • strscan
  • syslog
  • uri
  • webrick
  • webrick/https
  • xmlrpc

↑ Back to top