|
| 1 | +:_mod-docs-content-type: PROCEDURE |
| 2 | + |
| 3 | +[id="proc-install-in-air-gapped-environment.adoc_{context}"] |
| 4 | += Installing {product} with the Orchestrator in an air-gapped environment |
| 5 | + |
| 6 | +You can install {product} with the Orchestrator in an air-gapped environment by mirroring required container images, Helm charts, and NPM packages to internal registries. |
| 7 | + |
| 8 | +.Prerequisites |
| 9 | + |
| 10 | +* You have administrative access to the {ocp-short} cluster and mirroring tools such as `oc`, `podman`, or `skopeo`. |
| 11 | +* You have access to `npm.registry.redhat.com` from a connected network to pull and mirror Orchestrator plugin tarballs. |
| 12 | +* You have mirroring permissions and credentials for all required sources. |
| 13 | + |
| 14 | +.Procedure |
| 15 | + |
| 16 | +. From a connected network, log in to the external registries: |
| 17 | ++ |
| 18 | +[source,bash] |
| 19 | +---- |
| 20 | +podman login registry.redhat.io |
| 21 | +podman login registry.access.redhat.com |
| 22 | +podman login npm.registry.redhat.com |
| 23 | +---- |
| 24 | + |
| 25 | +. Identify and mirror all required container images to your internal registry: |
| 26 | ++ |
| 27 | +[source,bash] |
| 28 | +---- |
| 29 | +oc image mirror \ |
| 30 | + registry.redhat.io/openshift-serverless/*=internal-registry.example.com/openshift-serverless/* \ |
| 31 | + registry.redhat.io/openshift-knative/*=internal-registry.example.com/openshift-knative/* \ |
| 32 | + registry.redhat.io/sonataflow/*=internal-registry.example.com/sonataflow/* \ |
| 33 | + registry.redhat.io/rhdh/*=internal-registry.example.com/rhdh/* \ |
| 34 | + registry.redhat.io/postgresql/*=internal-registry.example.com/postgresql/* |
| 35 | +---- |
| 36 | + |
| 37 | +. Mirror the Orchestrator plugin NPM packages to your internal NPM registry: |
| 38 | ++ |
| 39 | +[source,bash] |
| 40 | +---- |
| 41 | +npm pack @redhat/backstage-plugin-orchestrator@<version> |
| 42 | +npm pack @redhat/backstage-plugin-orchestrator-backend-dynamic@<version> |
| 43 | +npm pack @redhat/backstage-plugin-scaffolder-backend-module-orchestrator-dynamic@<version> |
| 44 | +npm pack @redhat/backstage-plugin-orchestrator-form-widgets@<version> |
| 45 | +
|
| 46 | +npm publish <package>.tgz --registry https://internal-npm.example.com |
| 47 | +---- |
| 48 | + |
| 49 | +. Update the `dynamic-plugins` configuration to reference the internal NPM registry: |
| 50 | ++ |
| 51 | +[source,yaml] |
| 52 | +---- |
| 53 | +plugins: |
| 54 | + - package: "@redhat/backstage-plugin-orchestrator@<version>" |
| 55 | + disabled: false |
| 56 | + registry: https://internal-npm.example.com |
| 57 | +---- |
| 58 | + |
| 59 | +. If using Helm charts, download them from a connected environment and push them to your internal chart repository: |
| 60 | ++ |
| 61 | +[source,bash] |
| 62 | +---- |
| 63 | +helm pull <chart> --version <version> |
| 64 | +helm push <chart>.tgz oci://internal-chart-repo.example.com/rhdh |
| 65 | +---- |
| 66 | + |
| 67 | +. Ensure NetworkPolicies, Role, and RoleBinding resources for the SonataFlow platform are included in your deployment configuration. The {product-short} Operator applies these automatically when the `SonataFlowPlatform` CR is created. |
| 68 | + |
| 69 | +[NOTE] |
| 70 | +==== |
| 71 | +For the connected environment resource requirements, see link:{installing-orch-on-ocp-book-url}[Resource requirements for the Operator-based Orchestrator]. |
| 72 | +==== |
| 73 | + |
| 74 | +.Verification |
| 75 | +* Ensure all pods for OpenShift Serverless, Knative Serving/Eventing, SonataFlow, and PostgreSQL start successfully. |
0 commit comments