Chapter 2. Enabling Puppet integration with Satellite


Enable Puppet integration in Satellite to deploy and manage Puppet server on Satellite Server or Capsule Servers, or to connect an external Puppet server for reporting, facts, and external node classification (ENC).

Deploy Puppet server to enable Puppet integration on Satellite Server and optionally also on Capsule Servers.

Procedure

  1. Enable Puppet integration and install Puppet server on Satellite Server:

    # satellite-installer \
    --enable-foreman-cli-puppet \
    --enable-foreman-plugin-puppet \
    --enable-puppet \
    --foreman-proxy-puppet true \
    --foreman-proxy-puppetca true \
    --puppet-server true
    Copy to Clipboard Toggle word wrap
  2. If you want to use Puppet integration on Capsule Servers, enable Puppet integration and install Puppet server on Capsule Servers:

    # satellite-installer \
    --enable-puppet \
    --foreman-proxy-puppet true \
    --foreman-proxy-puppetca true \
    --puppet-server true
    Copy to Clipboard Toggle word wrap

You can install and configure the Puppet agent on a host during the provisioning process. A configured Puppet agent is required on the host for Puppet integration with your Satellite.

Prerequisites

Procedure

  1. In the Satellite web UI, navigate to Hosts > Templates > Provisioning Templates.
  2. Select a provisioning template depending on your host provisioning method. For more information, see Kinds of Provisioning Templates in Provisioning hosts.
  3. Ensure the puppet_setup snippet is included as follows:

    <%= snippet 'puppet_setup' %>
    Copy to Clipboard Toggle word wrap

    Note that this snippet is already included in the templates shipped with Satellite, such as Kickstart default or Preseed default.

  4. Enable the Puppet agent using a host parameter in global parameters, a host group, or for a single host. To use Puppet 8, add a host parameter named enable-puppet8, select the boolean type, and set the value to true. To use Puppet 7, add a host parameter named enable-puppet7, select the boolean type, and set the value to true.
  5. Set configuration for the Puppet agent.

    • If you use an integrated Puppet server, ensure that you select a Puppet Capsule, Puppet CA Capsule, and Puppet environment when you create a host.
    • If you use a non-integrated Puppet server, either set the following host parameters in global parameters, or a host group, or when you create a host:

      • Add a host parameter named puppet_server, select the string type, and set the value to the hostname of your Puppet server, such as puppet.example.com.
      • Optional: Add a host parameter named puppet_ca_server, select the string type, and set the value to the hostname of your Puppet CA server, such as puppet-ca.example.com. If puppet_ca_server is not set, the Puppet agent will use the same server as puppet_server.
      • Optional: Add a host parameter named puppet_environment, select the string type, and set the value to the Puppet environment you want the host to use.
  6. Ensure your host has access to the Puppet agent packages from Satellite Server by using an appropriate activation key.

You can install and configure the Puppet agent on the host during registration. A configured Puppet agent is required on the host for Puppet integration with your Satellite.

Prerequisites

Procedure

  1. In the Satellite web UI, navigate to Configure > Global Parameters to add host parameters globally. Alternatively, you can navigate to Configure > Host Groups and edit or create a host group to add host parameters only to a host group.
  2. Enable the Puppet agent using a host parameter in global parameters or a host group.

    Add a host parameter named enable-puppet7, select the boolean type, and set the value to true.

  3. Specify configuration for the Puppet agent using the following host parameters in global parameters or a host group:

    • Add a host parameter named puppet_server, select the string type, and set the value to the hostname of your Puppet server, such as puppet.example.com.
    • Optional: Add a host parameter named puppet_ca_server, select the string type, and set the value to the hostname of your Puppet CA server, such as puppet-ca.example.com. If puppet_ca_server is not set, the Puppet agent will use the same server as puppet_server.
    • Optional: Add a host parameter named puppet_environment, select the string type, and set the value to the Puppet environment you want the host to use.

    Until the BZ2177730 is resolved, you must use host parameters to specify the Puppet agent configuration even in integrated setups where the Puppet server is a Capsule Server.

  4. Navigate to Hosts > Register Host and register your host using an appropriate activation key. For more information, see Registering hosts by using global registration in Managing hosts.
  5. Navigate to Infrastructure > Capsules.
  6. From the list in the Actions column for the required Capsule Server, select Certificates.
  7. Click Sign to the right of the required host to sign the SSL certificate for the Puppet agent.

You can install and configure the Puppet agent on a host manually. A configured Puppet agent is required on the host for Puppet integration with your Satellite.

Prerequisites

Procedure

  1. Log in to the host as the root user.
  2. Install the Puppet agent package.

    • On hosts running Red Hat Enterprise Linux 8 and above:

      # dnf install puppet-agent
      Copy to Clipboard Toggle word wrap
    • On hosts running Red Hat Enterprise Linux 7 and below:

      # yum install puppet-agent
      Copy to Clipboard Toggle word wrap
  3. Add the Puppet agent to PATH in your current shell using the following script:

    . /etc/profile.d/puppet-agent.sh
    Copy to Clipboard Toggle word wrap
  4. Configure the Puppet agent. Set the environment parameter to the name of the Puppet environment to which the host belongs:

    # puppet config set server satellite.example.com --section agent
    # puppet config set environment My_Puppet_Environment --section agent
    Copy to Clipboard Toggle word wrap
  5. Start the Puppet agent service:

    # puppet resource service puppet ensure=running enable=true
    Copy to Clipboard Toggle word wrap
  6. Create a certificate for the host:

    # puppet ssl bootstrap
    Copy to Clipboard Toggle word wrap
  7. In the Satellite web UI, navigate to Infrastructure > Capsules.
  8. From the list in the Actions column for the required Capsule Server, select Certificates.
  9. Click Sign to the right of the required host to sign the SSL certificate for the Puppet agent.
  10. On the host, run the Puppet agent again:

    # puppet ssl bootstrap
    Copy to Clipboard Toggle word wrap
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust. Explore our recent updates.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Theme

© 2026 Red Hat
Back to top