16.3. Synchronizing Puppet Repositories

In addition to creating a repository of uploaded Puppet modules, Satellite Server can synchronize a complete Puppet module repository. In this example, Satellite Server synchronizes the entire Puppet Forge repository.

Support for Custom RPMs

Red Hat does not support the modules from Puppet Forge. The modules are used to demonstrate the synchronization process. For any issues with these modules, contact the module developer.

Procedure

  1. In the Satellite web UI, navigate to Content > Products and click Create Product.
  2. In the Name field, enter a name for the product. Satellite automatically completes the Label field based on what you have entered for Name.
  3. Optional: From the GPG Key list, select the GPG key for the product.
  4. Optional: From the Sync Plan list, select a synchronization plan for the product.
  5. In the Description field, enter a description of the product.
  6. Click Save.
  7. Click Create Repository, which displays a form for a new repository.
  8. In the Name field, enter a name for the repository. Red Hat Satellite 6 automatically completes this field based on what you have entered for Name.
  9. From the Type list, select puppet.
  10. In the URL field, enter http://forge.puppetlabs.com/.
  11. Click Save.
  12. Select the new Puppet repository and click Sync Now to import all modules from Puppet Forge into Satellite Server. This can take a long time.

For CLI Users

  1. Create the product:

    # hammer product create \
    --name "Puppet Forge" \
    --sync-plan "Example Plan" \
    --description "All modules from Puppet Forge" \
    --organization "My_Organization"
  2. Create the Puppet Forge repository:

    # hammer repository create \
    --name "Puppet Forge Modules" \
    --content-type "puppet" \
    --product "Puppet Forge" \
    --organization "My_Organization" \
    --url http://forge.puppetlabs.com/
  3. Synchronize the repository:

    # hammer repository synchronize \
    --name "Puppet Forge Modules" \
    --product "Puppet Forge" \
    --organization "My_Organization"

The Puppet Forge repository contains several thousand modules and can take a long time to synchronize.