Chapter 3. Installing Red Hat Developer Hub in an air-gapped environment with the Helm Chart An air-gapped environment, also known as an air-gapped network or isolated network, ensures security by physically segregating the system or network. This isolation is established to prevent unauthorized access, data transfer, or communication between the air-gapped system and external sources. You can install Red Hat Developer Hub in an air-gapped environment to ensure security and meet specific regulatory requirements. To install Developer Hub in an air-gapped environment, you must have access to the registry.redhat.io and the registry for the air-gapped environment. Prerequisites You have installed an Red Hat OpenShift Container Platform 4.14 or later. You have access to the registry.redhat.io . You have access to the Red Hat OpenShift Container Platform image registry of your cluster. For more information about exposing the image registry, see the Red Hat OpenShift Container Platform documentation about Exposing the registry . You have installed the OpenShift CLI ( oc ) on your workstation. You have installed the podman command line tools on your workstation. You you have an account in Red Hat Developer portal. Procedure Log in to your OpenShift Container Platform account using the OpenShift CLI ( oc ), by running the following command: oc login -u <user> -p <password> https://api.<hostname>:6443 Log in to the OpenShift Container Platform image registry using the podman command line tool, by running the following command: podman login -u kubeadmin -p USD(oc whoami -t) default-route-openshift-image-registry.<hostname> Note You can run the following commands to get the full host name of the OpenShift Container Platform image registry, and then use the host name in a command to log in: REGISTRY_HOST=USD(oc get route default-route -n openshift-image-registry --template='{{ .spec.host }}') podman login -u kubeadmin -p USD(oc whoami -t) USDREGISTRY_HOST Log in to the registry.redhat.io in podman by running the following command: podman login registry.redhat.io For more information about registry authentication, see Red Hat Container Registry Authentication . Pull Developer Hub and PostgreSQL images from Red Hat Image registry to your workstation, by running the following commands: podman pull registry.redhat.io/rhdh/rhdh-hub-rhel9:1.3 podman pull registry.redhat.io/rhel9/postgresql-15:latest Push both images to the internal OpenShift Container Platform image registry by running the following commands: podman push --remove-signatures registry.redhat.io/rhdh/rhdh-hub-rhel9:1.3 default-route-openshift-image-registry.<hostname>/<project_name>/rhdh-hub-rhel9:1.3 podman push --remove-signatures registry.redhat.io/rhel9/postgresql-15:latest default-route-openshift-image-registry.<hostname>/<project_name>/postgresql-15:latest For more information about pushing images directly to the OpenShift Container Platform image registry, see How do I push an Image directly into the OpenShift 4 registry . Important If an x509 error occurs, verify that you have installed the CA certificate used for OpenShift Container Platform routes on your system . Use the following command to verify that both images are present in the internal OpenShift Container Platform registry: oc get imagestream -n <project_name> Enable local image lookup for both images by running the following commands: oc set image-lookup postgresql-15 oc set image-lookup rhdh-hub-rhel9 Go to YAML view and update the image section for backstage and postgresql using the following values: Example values for Developer Hub image upstream: backstage: image: registry: "" repository: rhdh-hub-rhel9 tag: latest Example values for PostgreSQL image upstream: postgresql: image: registry: "" repository: postgresql-15 tag: latest Install the Red Hat Developer Hub using Helm chart.

Commands:
login -u <user> -p <password> https://api.<hostname>:6443
login -u kubeadmin -p USD(oc whoami -t) default-route-openshift-image-registry.<hostname>
REGISTRY_HOST=USD(oc get route default-route -n openshift-image-registry --template='{{ .spec.host }}')
login -u kubeadmin -p USD(oc whoami -t) USDREGISTRY_HOST
login registry.redhat.io
pull registry.redhat.io/rhdh/rhdh-hub-rhel9:1.3
pull registry.redhat.io/rhel9/postgresql-15:latest
push --remove-signatures registry.redhat.io/rhdh/rhdh-hub-rhel9:1.3 default-route-openshift-image-registry.<hostname>/<project_name>/rhdh-hub-rhel9:1.3
push --remove-signatures registry.redhat.io/rhel9/postgresql-15:latest default-route-openshift-image-registry.<hostname>/<project_name>/postgresql-15:latest
get imagestream -n <project_name>
set image-lookup postgresql-15
set image-lookup rhdh-hub-rhel9
upstream: backstage: image: registry: "" repository: rhdh-hub-rhel9 tag: latest
upstream: postgresql: image: registry: "" repository: postgresql-15 tag: latest