Register with the RedHat Subscription Management

Vox Pupuli



11,939 latest version

5.0 quality score

Version information

  • 4.0.0 (latest)
  • 3.2.0
  • 3.1.0
  • 3.0.0
  • 2.1.1
  • 2.1.0
  • 2.0.0
  • 1.1.0
  • 1.0.0
  • 0.3.0
released Jan 16th 2020
This version is compatible with:
  • Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x
  • Puppet >= 5.5.8 < 7.0.0
  • RedHat

Start using this module


puppet/rhsm — version 4.0.0 Jan 16th 2020


Build Status Version

Table of Contents

  1. Description
  2. Setup
  3. Types
  4. Usage
  5. Limitations
  6. Development


This module registers your systems with Red Hat Subscription Management.


Just declare the module with parameters, or load the data from Hiera.



Manage yum repos via the subscription-manager.


Enable or disable RH subscriptions based on their pool ID.


class { 'rhsm':
  rh_user     => 'myuser',
  rh_password => 'mypassword',

Use rh_repo type to add a repository:

rh_repo { 'rhel-7-server-extras-rpms':
  ensure => present,

Use rh_subscription type to add or remove a subscription based on its pool ID:

rh_subscription { '8e8e7f7a77554a776277ac6dca654':
  ensure => present,

Hiera (recommended)

include rhsm


rhsm::rh_user: myuser
rhsm::rh_password: mypassword


If the RedHat node must use a proxy to access the internet, you'll have to provide at least the hostname and TCP port.

class { 'rhsm':
  proxy_hostname => 'my.proxy.net',
  proxy_port     => 8080
  rh_user        => 'myuser',
  rh_password    => 'mypassword',

You shouldn't specify the protocol, subscription-manager will use HTTP. For proxies with authentication, specify the proxy_user and proxy_password values.

The proxy settings will be used to register the system and as connection option for all the YUM repositories generated in /etc/yum.repos.d/redhat.repo

Enabled Repos

A string array of repo IDs can be provided as an argument to the class definition. This list will be used to enable the target repos if that has not already occurred.

The following example enables the server and optional RPMs:

class { 'rhsm':
  rh_user          => 'myuser',
  rh_password      => 'mypassword',
  enabled_repo_ids => [

Alternatively, hiera can be utilized to specify these arguments.

rhsm::rh_user: myuser
rhsm::rh_password: mypassword
  - 'rhel-7-server-rpms',
  - 'rhel-7-server-optional-rpms'

Satellite 6

Registering with Red Hat Satellite 6 needs some additional settings.

class { 'rhsm':
  activationkey         => 'act-lce-rhel-7,act-product',
  org                   => 'satellite_organization',
  servername            => 'satellite.example.com',
  serverprefix          => '/rhsm',
  repo_ca_cert_filename => 'katello-server-ca.pem',
  repo_ca_cert_source   => 'puppet:///modules/profile/katello-server-ca.crt',
  full_refresh_on_yum   => 1,
  baseurl               => 'https://satellite.example.com/pulp/repos',
  • You need to specify either (rh_user and rh_password) or (org and activationkey).
  • Multiple Activationkeys might be provided, separated by comma.
  • Download the corresponding certificate from your Satellite (https://satellite.example.com/pub/katelllo-server-ca.crt) and publish it, e.g. with a (profile) module.


Well, only RedHat is supported :)


Some general guidelines on PR structure can be found here.