Puppet Supported Modules

Puppet Forge modules are pretty great at making your life easier. Puppet Supported modules take it one step further, making sure common services are easy to set up, implement, and manage with Puppet Enterprise.

Guarantees

Puppet guarantees that each supported module

  • has been thoroughly tested with supported versions of Puppet Enterprise
  • is subject to official Puppet Puppet Enterprise support when used on a supported platform
  • will be maintained over its lifecycle with bug or security patches as necessary
  • is tested on and ensured compatible with multiple platforms as appropriate

Support Lifecycle

Supported modules are maintained and supported on supported platforms, over the lifetime of the Puppet Enterprise lifecycle. See this reference for expected end-of-life (EOL) dates of popular operating systems. Only the most recent version of each module is fully supported.

Features in Puppet Supported modules will only be commercially supported if they are supported by upstream platforms, even if the underlying functionality continues to work. For example, as RedHat moved away from Docker support in RHEL, the puppetlabs-docker module dropped testing and support for the RedHat-shipped docker package, although you could continue to use the module by switching to the Docker packages provided by Mirantis.

We provide a short transition period for customers to gracefully upgrade to supported platforms. Once a Puppet version or operating system reaches EOL, then compatibility will be removed from each Supported module's metadata, but that will not prevent its use or availability. Customers may still file critical support requests for a three-month transition period. After that period, all support ceases and we will begin removing code for supporting old platforms.

Puppet version or operating system EOL:

  • Compatibility removed from metadata
  • The EOL platform will be removed from the testing matrix
  • Critical customer bugfixes only for EOL platforms
  • Customers may still file support requests but will be encouraged to upgrade

Three months after respective EOL:

  • Code for supporting EOL platforms will be removed
  • All issues and pull requests for old platform support will be closed
  • The module will be released with a SemVer major version increment
  • Customers will be required to upgrade their platforms in order to file support requests

Users who cannot upgrade their platform will need to pin modules to the latest release supporting their platform. You can do this by specifying the required version in your Puppetfile.

How do I use a supported module?

You will find installation instructions on each module's Forge page. Whether you add the module to your Puppetfile or install it to a Bolt project, just follow its README for help getting started using it.

If you find a bug in a supported module, you may file an issue by clicking the Report issues link near the top of the module's Forge page or contact the Puppet Support team if you need immediate assistance. And if you feel ambitious, you can even contribute a fix by following the Project URL link to its GitHub repository, following the regular contributing guidelines. Given our more rigorous testing for supported modules, please be patient as we work on merging your pull requests.

What does testing mean?

When we say that each supported module has been tested, we mean that each module has been run through all the standard PDK tests, including:

  • puppet-lint to ensure stylistic consistency
  • rspec-puppet unit tests for any classes or defined types
  • Rubocop validation to ensure compliance with Ruby community standards
  • acceptance testing with the Litmus test framework

If you are interested in testing your modules Puppet Development Kit (PDK) makes it easy to get started.

How can my module become a supported module?

The Puppet Supported badge indicates commercial support from Puppet. If you'd like a badge to signify high quality on your own module, see the Puppet Approved program.

What about the modules that come packaged in Puppet Enterprise?

The modules that come bundled with your install of Puppet Enterprise are officially supported, and those that exist on the Forge may be upgraded to the latest versions for bugfixes and retain that support.

What about the other modules in the puppetlabs namespace?

Only modules marked as Supported will receive commercial support. Other modules in our namespace will be of varying quality and maintenance levels and should be evaluated like any other module on the Forge.

Puppet Supported Modules Compatibility Matrix

Below is a list of supported modules showing current compatibility across the Puppet Enterprise supported platforms.

  RHEL Windows Ubuntu Debian Solaris SLES Scientific Linux CentOS Oracle Linux AIX macOS
puppetlabs/accounts
puppetlabs/acl
puppetlabs/apache
puppetlabs/apt
puppetlabs/augeas_core
puppetlabs/cd4pe
puppetlabs/cd4pe_jobs
puppetlabs/chocolatey
puppetlabs/cisco_ios
puppetlabs/ciscopuppet
puppetlabs/concat
puppetlabs/cron_core
puppetlabs/device_manager
puppetlabs/docker
puppetlabs/dsc
puppetlabs/dsc_lite
puppetlabs/facter_task
puppetlabs/facts
puppetlabs/firewall
puppetlabs/haproxy
puppetlabs/helm
puppetlabs/host_core
puppetlabs/ibm_installation_manager
puppetlabs/iis
puppetlabs/inifile
puppetlabs/java
puppetlabs/java_ks
puppetlabs/kubernetes
puppetlabs/motd
puppetlabs/mount_core
puppetlabs/mysql
puppetlabs/ntp
puppetlabs/package
puppetlabs/panos
puppetlabs/postgresql
puppetlabs/powershell
puppetlabs/puppet_agent
puppetlabs/puppet_conf
puppetlabs/pwshlib
puppetlabs/python_task_helper
puppetlabs/reboot
puppetlabs/registry
puppetlabs/rook
puppetlabs/ruby_task_helper
puppetlabs/satellite_pe_tools
puppetlabs/scheduled_task
puppetlabs/selinux_core
puppetlabs/service
puppetlabs/splunk_hec
puppetlabs/sqlserver
puppetlabs/sshkeys_core
puppetlabs/stdlib
puppetlabs/support_tasks
puppetlabs/tagmail
puppetlabs/tomcat
puppetlabs/vcsrepo
puppetlabs/vsphere
puppetlabs/websphere_application_server
puppetlabs/wsus_client
puppetlabs/yumrepo_core
puppetlabs/zfs_core
puppetlabs/zone_core