6.5. Adding Custom RPM Repositories

Use this procedure to add custom RPM repositories in Satellite.

The Products window in the Satellite web UI also provides a Repo Discovery function that finds all repositories from a URL and you can select which ones to add to your custom product. For example, you can use the Repo Discovery to search, for example, http://yum.postgresql.org/9.5/redhat/ and list all repositories for different Red Hat Enterprise Linux versions and architectures. This helps users save time importing multiple repositories from a single source.

Support for Custom RPMs

Red Hat does not support the upstream RPMs directly from third-party sites. These RPMs are used to demonstrate the synchronization process. For any issues with these RPMs, contact the third-party developers.

Procedure

  1. In the Satellite web UI, navigate to Content > Products and select the product that you want to use, and then click Create Repository.
  2. In the Name field, enter a name for the repository. Red Hat Satellite 6 automatically completes the Label field based on what you have entered for Name.
  3. From the Type list, select the type of repository. You can select either a repository for RPM files (yum), Puppet modules (puppet), or Docker images (docker).
  4. In the URL field, enter the URL of the external repository to use as a source.
  5. From the Download Policy list, select the type of synchronization Satellite Server performs.
  6. Ensure that the Mirror on Sync check box is selected. This ensures that the content that is no longer part of the upstream repository is removed during synchronization.
  7. From the Checksum list, select the checksum type for the repository.
  8. Optional: If you want, you can clear the Publish via HTTP check box to disable this repository from publishing through HTTP.
  9. Optional: From the GPG Key list, select the GPG key for the product.
  10. Click Save.

If you want to perform an immediate synchronization, in your product window, click Sync Now.

For CLI Users

  1. Enter the following command to create the repository:

    # hammer repository create \
    --name "My_Repository" \
    --content-type "yum" \
    --publish-via-http true \
    --url http://yum.postgresql.org/9.5/redhat/rhel-7-x86_64/ \
    --gpg-key "My_Repository" \
    --product "My_Product" \
    --organization "My_Organization"
  2. Synchronize the repository:

    # hammer repository synchronize \
    --name "My_Repository" \
    --product "My Product" \
    --organization "My_Organization"