This will come in handy for those working in disconnected airgapped environment. I’ve tested this to setup disconnected OpenShift 4.19.6.
ImageSetConfiguration – Basic installation
# oc-mirror -c isc.yaml file:///data/ocmirror419 --v2
# isc.yaml
kind: ImageSetConfiguration
apiVersion: mirror.openshift.io/v1alpha2
mirror:
platform:
channels:
- name: stable-4.19
type: ocp
#minVersion: 4.19.6 # optional
#maxVersion: 4.19.6 # optional
graph: true
operators:
- catalog: registry.redhat.io/redhat/redhat-operator-index:v4.19
packages:
- name: cluster-logging
channels:
- name: stable-6.3
- name: cluster-observability-operator
channels:
- name: stable
- name: loki-operator
channels:
- name: stable-6.3
- name: compliance-operator
channels:
- name: stable
- name: local-storage-operator
channels:
- name: stable
- name: nfd
channels:
- name: stable
- name: servicemeshoperator
channels:
- name: stable
- name: kialia-ossm-operator
channels:
- name: stable
- name: rhods-operator
channels:
- name: stable
- name: lvms-operator
channels:
- name: stable-4.19
- name: odf-operator
channels:
- name: stable-4.19
- name: authorino-operator
channels:
- name: stable
- name: jaeger-product
channels:
- name: stable
- name: metallb-operator
channels:
- name: stable
- name: serverless-operator
channels:
- name: stable
- name: openshift-gitops-operator
channels:
- name: latest
- name: openshift-pipelines-operator
channels:
- name: latest
- name: kernel-module-management
channels:
- name: stable
- name: kubevirt-hyperconverged
channels:
- name: stable
- name: rook-ceph-operator
channels:
- name: stable-4.19
- name: kubernetes-nmstate-operator
channels:
- name: stable
- name: quay-bridge-operator
channels:
- name: stable-3.15
- name: quay-operator
channels:
- name: stable-3.15
- name: servicemeshoperator
channels:
- name: stable
- name: servicemeshoperator3
channels:
- name: stable
- name: skupper-operator
channels:
- name: stable-2
- name: sriov-network-operator
channels:
- name: stable
- name: smb-csi-driver-operator
channels:
- name: stable
- name: submariner
channels:
- name: stable-0.20
- name: rhtpa-operator
channels:
- name: stable
- name: rook-ceph-operator
channels:
- name: stable-4.19
- name: web-terminal
channels:
- name: fast
- catalog: registry.redhat.io/redhat/certified-operator-index:v4.19
packages:
- name: gpu-operator-certified
channels:
- name: v25.3
additionalImages: # how you include additional images that you want to be part of the mirror download
- name: registry.redhat.io/rhel9/support-tools:latest
Additional Operators
# oc-mirror -c isc-operators.yaml file:///data/ocmirror419-operators --v2
#isc-operators.yaml
kind: ImageSetConfiguration
apiVersion: mirror.openshift.io/v1alpha2
mirror:
platform:
channels:
- name: stable-4.19
type: ocp
#minVersion: 4.18.9 # optional
#maxVersion: 4.18.9 # optional
graph: true
operators:
- catalog: registry.redhat.io/redhat/redhat-operator-index:v4.19
packages:
- name: rhbk-operator
channels:
- name: stable-v26.2
- name: rhacs-operator
channels:
- name: stable
- name: rhcl-operator
channels:
- name: stable
- name: rhdh
channels:
- name: fast
- name: rhods-operator
channels:
- name: stable
- name: rhpam-kogito-operator
channels:
- name: 7.x
- name: rhtas-operator
channels:
- name: stable
- name: quay-operator
channels:
- name: stable-3.15
- name: quay-bridge-operator
channels:
- name: stable-3.15
- name: openshift-cert-manager-operator
channels:
- name: stable-v1
- name: ocs-client-operator
channels:
- name: stable-4.19
- name: ocs-operator
channels:
- name: stable-4.19
- name: odf-csi-addons-operator
channels:
- name: stable-4.19
- name: odf-dependencies
channels:
- name: stable-4.19
- name: odf-multicluster-orchestrator
channels:
- name: stable-4.19
- name: odf-operator
channels:
- name: stable-4.19
- name: odf-prometheus-operator
channels:
- name: stable-4.19
- name: odr-cluster-operator
channels:
- name: stable-4.19
- name: odr-hub-operator
channels:
- name: stable-4.19
- name: openshift-gitops-operator
channels:
- name: latest
- name: openshift-pipelines-operator-rh
channels:
- name: latest
- name: nfd
channels:
- name: stable
- name: helloworld-operator
channels:
- name: stable
- name: cephcsi-operator
channels:
- name: stable-4.19
- name: compliance-operator
channels:
- name: stable
- name: advanced-cluster-management
channels:
- name: release-2.14
- name: cli-manager
channels:
- name: tech-preview
- name: dns-operator
channels:
- name: stable
- name: external-dns-operator
channels:
- name: stable-v1
- name: ingress-node-firewall
channels:
- name: stable
- name: kubevirt-hyperconverged
channels:
- name: stable
- name: local-storage-operator
channels:
- name: stable
- name: lvms-operator
channels:
- name: stable-4.19
- name: loki-operator
channels:
- name: stable-6.3
- name: mtv-operator
channels:
- name: release-v2.9
- name: mtr-operator
channels:
- name: alpha
- name: mtc-operator
channels:
- name: release-v1.8
- name: mta-operator
channels:
- name: stable-v7.3
- name: metallb-operator
channels:
- name: stable
- name: mcg-operator
channels:
- name: stable-4.19
- name: vertical-pod-autoscaler
channels:
- name: stable
- name: lightspeed-operator
channels:
- name: stable
- name: cluster-kube-descheduler-operator
channels:
- name: stable
- name: cephcsi-operator
channels:
- name: stable-4.19
- catalog: registry.redhat.io/redhat/certified-operator-index:v4.19
packages:
- name: gpu-operator-certified
channels:
- name: v25.3
- name: hpe-csi-operator
channels:
- name: stable
- name: hcp-terraform-operator
channels:
- name: alpha
- name: dynatrace-operator
channels:
- name: alpha
- name: amd-gpu-operator
channels:
- name: alpha
- catalog: registry.redhat.io/redhat/community-operator-index:v4.19
packages:
- name: cert-manager
channels:
- name: stable
- name: cert-utils-operator
channels:
- name: alpha
- name: flux-operator
channels:
- name: stable
- name: flux
channels:
- name: stable
- name: keycloak-operator
channels:
- name: fast
- catalog: registry.redhat.io/redhat/redhat-marketplace-index:v4.19
packages:
- name: dynatrace-operator-rhmp
channels:
- name: alpha
- name: k10-kasten-operator-rhmp
channels:
- name: stable
- name: k10-kasten-operator-term-rhmp
channels:
- name: stable
- name: redis-enterprise-operator-cert-rhmp
channels:
- name: production
Also read more about OpenShift Day 2 post installation steps – especially for disconnected environment
For disconnected environment, disable the default OperatorHub sources to stop the marketplace-operator from trying to pull them.
# Disable all default external operator sources
oc patch OperatorHub cluster --type json -p '[{"op": "add", "path": "/spec/disableAllDefaultSources", "value": true}]'
# Verify the change
oc get OperatorHub cluster -o yaml
Then apply your offline catalogsource.yaml which you've mirrored to the container registry, so that your OperatorHub gets populated.
You’ll need to manually patch CatalogSource interval for offline airgap environment, and also disable external sources (see the subsequent code). Read more about Day 2
# oc patch catalogsource certified-operators-offline -n openshift-marketplace --type merge -p '{"spec":{"updateStrategy":{"registryPoll":{"interval":"43200m"}}}}'
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
name: redhat-operators-offline
namespace: openshift-marketplace
spec:
sourceType: grpc
image: registry.kubernetes.day/ocp418/redhat/redhat-operator-index:v4.19
displayName: Red Hat Operators (Offline)
publisher: Red Hat
updateStrategy:
registryPoll:
interval: 43200m
---
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
name: community-operators-offline
namespace: openshift-marketplace
spec:
sourceType: grpc
image: registry.kubernetes.day/ocp418/redhat/community-operator-index:v4.19
displayName: Red Hat Community Operators (Offline)
publisher: Red Hat
updateStrategy:
registryPoll:
interval: 10m
---
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
name: certified-operators-offline
namespace: openshift-marketplace
spec:
sourceType: grpc
image: registry.kubernetes.day/ocp418/redhat/certified-operator-index:v4.19
displayName: Red Hat Certified Operators (Offline)
publisher: Red Hat
updateStrategy:
registryPoll:
interval: 43200m
---
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
name: marketplace-operators-offline
namespace: openshift-marketplace
spec:
sourceType: grpc
image: registry.kubernetes.day/ocp418/redhat/redhat-marketplace-index:v4.19
displayName: Red Hat Marketplace Operators (Offline)
publisher: Red Hat
updateStrategy:
registryPoll:
interval: 43200m