Chapter 10. Using Red Hat subscriptions in builds
Use the following sections to install Red Hat subscription content within OpenShift Container Platform builds.
10.1. Creating an image stream tag for the Red Hat Universal Base Image
To install Red Hat Enterprise Linux (RHEL) packages within a build, you can create an image stream tag to reference the Red Hat Universal Base Image (UBI).
				To make the UBI available in every project in the cluster, add the image stream tag to the openshift namespace. Otherwise, to make it available in a specific project, add the image stream tag to that project.
			
				Image stream tags grant access to the UBI by using the registry.redhat.io credentials that are present in the install pull secret, without exposing the pull secret to other users. This method is more convenient than requiring each developer to install pull secrets with registry.redhat.io credentials in each project.
			
Procedure
- To create an - ImageStreamTagresource in the- openshiftnamespace, so it is available to developers in all projects, enter the following command:- oc tag --source=docker registry.redhat.io/ubi9/ubi:latest ubi9:latest -n openshift - $ oc tag --source=docker registry.redhat.io/ubi9/ubi:latest ubi9:latest -n openshift- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow Tip- You can alternatively apply the following YAML to create an - ImageStreamTagresource in the- openshiftnamespace:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- To create an - ImageStreamTagresource in a single project, enter the following command:- oc tag --source=docker registry.redhat.io/ubi9/ubi:latest ubi:latest - $ oc tag --source=docker registry.redhat.io/ubi9/ubi:latest ubi:latest- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow Tip- You can alternatively apply the following YAML to create an - ImageStreamTagresource in a single project:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
10.2. Adding subscription entitlements as a build secret
Builds that use Red Hat subscriptions to install content must include the entitlement keys as a build secret.
Prerequisites
- You must have access to Red Hat Enterprise Linux (RHEL) package repositories through your subscription. The entitlement secret to access these repositories is automatically created by the Insights Operator when your cluster is subscribed.
- 
						You must have access to the cluster as a user with the cluster-adminrole or you have permission to access secrets in theopenshift-config-managedproject.
Procedure
- Copy the entitlement secret from the - openshift-config-managednamespace to the namespace of the build by entering the following commands:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Add the etc-pki-entitlement secret as a build volume in the build configuration’s Docker strategy: - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
10.3. Running builds with Subscription Manager
10.3.1. Docker builds using Subscription Manager
					Docker strategy builds can use yum or dnf to install additional Red Hat Enterprise Linux (RHEL) packages.
				
Prerequisites
- The entitlement keys must be added as build strategy volumes.
Procedure
- Use the following as an example Dockerfile to install content with the Subscription Manager: - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- You must include the command to remove the/etc/rhsm-hostdirectory and all its contents in your Dockerfile before executing anyyumordnfcommands.
- 2
- Use the Red Hat Package Browser to find the correct repositories for your installed packages.
- 3
- You must restore the/etc/rhsm-hostsymbolic link to keep your image compatible with other Red Hat container images.
 
10.4. Running builds with Red Hat Satellite subscriptions
10.4.1. Adding Red Hat Satellite configurations to builds
Builds that use Red Hat Satellite to install content must provide appropriate configurations to obtain content from Satellite repositories.
Prerequisites
- You must provide or create a - yum-compatible repository configuration file that downloads content from your Satellite instance.- Sample repository configuration - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
Procedure
- Create a - ConfigMapobject containing the Satellite repository configuration file by entering the following command:- oc create configmap yum-repos-d --from-file /path/to/satellite.repo - $ oc create configmap yum-repos-d --from-file /path/to/satellite.repo- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Add the Satellite repository configuration and entitlement key as a build volumes: - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
10.4.2. Docker builds using Red Hat Satellite subscriptions
Docker strategy builds can use Red Hat Satellite repositories to install subscription content.
Prerequisites
- You have added the entitlement keys and Satellite repository configurations as build volumes.
Procedure
- Use the following example to create a - Dockerfilefor installing content with Satellite:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- You must include the command to remove the/etc/rhsm-hostdirectory and all its contents in your Dockerfile before executing anyyumordnfcommands.
- 2
- Contact your Satellite system administrator to find the correct repositories for the build’s installed packages.
- 3
- You must restore the/etc/rhsm-hostsymbolic link to keep your image compatible with other Red Hat container images.