From 0f78498902976014858eae11f28919bccf22d63e Mon Sep 17 00:00:00 2001 From: linfraze Date: Thu, 13 Feb 2025 16:29:36 -0500 Subject: [PATCH 1/7] RHIDP-5494: Doc air-gapped installation using Operator --- ...dh-airgapped-environment-ocp-operator.adoc | 165 ++++++++++++++---- 1 file changed, 128 insertions(+), 37 deletions(-) diff --git a/modules/installation/proc-install-rhdh-airgapped-environment-ocp-operator.adoc b/modules/installation/proc-install-rhdh-airgapped-environment-ocp-operator.adoc index 2fa83f8e19..225513c499 100644 --- a/modules/installation/proc-install-rhdh-airgapped-environment-ocp-operator.adoc +++ b/modules/installation/proc-install-rhdh-airgapped-environment-ocp-operator.adoc @@ -5,68 +5,159 @@ [id="proc-install-rhdh-airgapped-environment-ocp-operator_{context}"] = Installing {product} in an air-gapped environment with the Operator +You can install {product} in a fully disconnected or partially disconnected environment using the {product} Operator. For a list of supported platforms, see the link:https://access.redhat.com/support/policy/updates/developerhub[{product} Life Cycle page]. + +== Installing {product} on {ocp-short} in a partially disconnected environment with the Operator + On an {ocp-short} cluster operating on a restricted network, public resources are not available. However, deploying the {product} Operator and running {product-short} requires the following public resources: * Operator images (bundle, operator, catalog) * Operands images ({product-very-short}, PostgreSQL) -To make these resources available, replace them with their equivalent resources in a mirror registry accessible to the {ocp-short} cluster. +To make these resources available, replace them with their equivalent resources in a mirror registry accessible to your cluster. -You can use a helper script that mirrors the necessary images and provides the necessary configuration to ensure those images will be used when installing the {product} Operator and creating {product-short} instances. +You can use a helper script that mirrors the necessary images and provides the necessary configuration to ensure those images will be used when installing the {product} Operator and creating {product-short} instances. This script requires a target mirror registry. You likely have a target mirror registry ready to use if your cluster is already operating on a disconnected network. If you do not already have a target registry, and if you have an {ocp-short} cluster, you might want to expose and leverage the internal cluster registry. -[NOTE] -==== -This script requires a target mirror registry which you should already have installed if your {ocp-short} cluster is ready to operate on a restricted network. However, if you are preparing your cluster for disconnected usage, you can use the script to deploy a mirror registry in the cluster and use it for the mirroring process. -==== +If you are connected to a {ocp-short} cluster, the helper script will detect it and will automatically expose the cluster registry. However, if you are connected to a Kubernetes cluster, you can manually specify the target registry that you want to mirror the images to. .Prerequisites -* You have an active {openshift-cli} session with administrative permissions to the {ocp-short} cluster. See link:https://docs.redhat.com/en/documentation/openshift_container_platform/{ocp-version}/html-single/cli_tools/index#cli-getting-started[Getting started with the OpenShift CLI]. -* You have an active `oc registry` session to the `registry.redhat.io` {company-name} Ecosystem Catalog. See link:https://access.redhat.com/RegistryAuthentication[{company-name} Container Registry Authentication]. -* The `opm` CLI tool is installed. See link:https://docs.redhat.com/en/documentation/openshift_container_platform/{ocp-version}/html-single/cli_tools/index#olm-about-opm_cli-opm-install[Installing the opm CLI]. -* The jq package is installed. See link:https://jqlang.github.io/jq/download/[Download jq]. -* Podman is installed. See link:https://podman.io/docs/installation[Podman Installation Instructions]. -* Skopeo version 1.14 or higher is installed. link:https://github.com/containers/skopeo/blob/main/install.md[See Installing Skopeo]. -* If you already have a mirror registry for your cluster, an active Skopeo session with administrative access to this registry is required. See link:https://github.com/containers/skopeo#authenticating-to-a-registry[Authenticating to a registry] and link:https://docs.redhat.com/en/documentation/openshift_container_platform/{ocp-version}/html-single/disconnected_installation_mirroring/index#prerequisites_installing-mirroring-installation-images[Mirroring images for a disconnected installation]. - -[NOTE] -==== -The internal {ocp-short} cluster image registry cannot be used as a target mirror registry. See link:https://docs.redhat.com/en/documentation/openshift_container_platform/{ocp-version}/html-single/disconnected_installation_mirroring/index#installation-about-mirror-registry_installing-mirroring-installation-images[About the mirror registry]. -==== - -* If you prefer to create your own mirror registry, see link:https://docs.redhat.com/en/documentation/openshift_container_platform/{ocp-version}/html-single/disconnected_installation_mirroring/index#installing-mirroring-creating-registry[Creating a mirror registry with mirror registry for Red Hat OpenShift]. - -* If you do not already have a mirror registry, you can use the helper script to create one for you and you need the following additional prerequisites: -+ -** The cURL package is installed. For {rhel}, the curl command is available by installing the curl package. To use curl for other platforms, see the link:https://curl.se/[cURL website]. -** The `htpasswd` command is available. For {rhel}, the `htpasswd` command is available by installing the `httpd-tools` package. +* You have an active `oc registry` session to the `registry.redhat.io` {company-name} Ecosystem Catalog. For more information, see link:https://access.redhat.com/RegistryAuthentication[{company-name} Container Registry Authentication]. +* You have an active `skopeo` session with administrative access to the target mirror registry. For more information, see link:https://github.com/containers/skopeo#authenticating-to-a-registry[Authenticating to a registry]. +* You have installed the `opm` CLI tool. For more information, see link:https://docs.redhat.com/en/documentation/openshift_container_platform/4.17/html/cli_tools/opm-cli#olm-about-opm_cli-opm-install[Installing the opm CLI]. +* You have installed Podman 5.3 or later. For more information, see link:https://podman.io/docs/installation[Podman Installation Instructions]. .Procedure -. Download and run the mirroring script to install a custom Operator catalog and mirror the related images: `prepare-restricted-environment.sh` (link:https://github.com/redhat-developer/rhdh-operator/blob/release-{product-version}/.rhdh/scripts/prepare-restricted-environment.sh[source]). +. In your terminal, navigate to the directory where you want to save the mirroring script. +. Download the mirroring script by running the following command: + -[source,yaml,subs="attributes+"] +[source,terminal,subs="attributes+"] +---- +curl -sSLO https://raw.githubusercontent.com/redhat-developer/rhdh-operator/refs/heads/release-{product-version}/.rhdh/scripts/prepare-restricted-environment.sh +---- ++ +. Run the mirroring script by running the `bash` command with the appropriate set of options: +* If you do not already have a target mirror registry and want the script to create one for you, use the following example: ++ +[source,terminal,subs="+quotes,+attributes"] ---- -curl -sSLO https://raw.githubusercontent.com/redhat-developer/rhdh-operator/release-{product-version}/.rhdh/scripts/prepare-restricted-environment.sh - -# if you do not already have a target mirror registry -# and want the script to create one for you -# use the following example: bash prepare-restricted-environment.sh \ --prod_operator_index "registry.redhat.io/redhat/redhat-operator-index:v{ocp-version}" \ --prod_operator_package_name "rhdh" \ --prod_operator_bundle_name "rhdh-operator" \ - --prod_operator_version "v{product-bundle-version}" - -# if you already have a target mirror registry -# use the following example: + --prod_operator_version "v{product-bundle-version}" \ +---- +* If you want to use an existing target mirror registry, specify it with the `--use_existing_mirror_registry` option. For example: ++ +[source,terminal,subs="+quotes,+attributes"] +---- bash prepare-restricted-environment.sh \ --prod_operator_index "registry.redhat.io/redhat/redhat-operator-index:v{ocp-version}" \ --prod_operator_package_name "rhdh" \ --prod_operator_bundle_name "rhdh-operator" \ --prod_operator_version "v{product-bundle-version}" \ - --use_existing_mirror_registry "my_registry" + --use_existing_mirror_registry "__" ---- + [NOTE] ==== The script can take several minutes to complete as it copies multiple images to the mirror registry. ==== + +.Verification +* If you are using {ocp-brand-name}, the {product} Operator is in the *Installed Operators* list in the web console. +* If you are using a supported Kubernetes platform, you can check the list of pods running in the `rhdh-operator` namespace by running the following command in your terminal: ++ +[source,terminal,subs="+quotes,+attributes"] +---- +kubectl -n rhdh-operator get pods +---- + +== Installing {product} on {ocp-short} in a fully disconnected environment with the Operator + +If your network has access to the registry through a bastion host or physical disk, you can use the Operator to install {product} by mirroring specified resources and transferring them to your air-gapped environment without any connection to the internet. + +.Prerequisites + +* You have set up your disconnected environment. +** You have mirrored all of the required images to disk. +** You have manually transferred the mirror folder to the network of the disconnected mirror registry. +** You have mirrored the images from disk to the target mirror registry in your disconnected environment. +** You have installed the Operator in your disconnected environment. +* You have set up your workstation. +** You have an active `oc registry` session to the `registry.redhat.io` {company-name} Ecosystem Catalog. For more information, see link:https://access.redhat.com/RegistryAuthentication[{company-name} Container Registry Authentication]. +** You have installed the `opm` CLI tool. For more information, see link:https://docs.redhat.com/en/documentation/openshift_container_platform/4.17/html/cli_tools/opm-cli#olm-about-opm_cli-opm-install[Installing the opm CLI]. +** You have installed Podman 5.3 or later. For more information, see link:https://podman.io/docs/installation[Podman Installation Instructions]. + +.Procedure +. Download the mirroring script to disk by running the following command: ++ +[source,terminal,subs="attributes+"] +---- +curl -sSLO https://raw.githubusercontent.com/redhat-developer/rhdh-operator/refs/heads/release-{product-version}/.rhdh/scripts/prepare-restricted-environment.sh +---- ++ +. Run the mirroring script by running the `bash` command with the appropriate set of options: ++ +[source,terminal,subs="+quotes,+attributes"] +---- +bash prepare-restricted-environment.sh \ + --index-image "quay.io/rhdh/iib:next-v4.18-x86_64" \ + --ci-index true \ + --to-dir __ \ + [--filter-versions '*'] \ + [--use-oc-mirror true] +---- ++ +where + +__ :: Specifies the directory where you want to pull all of the necessary images with the `--to-dir` option, for example, my.registry.example.com/namespace ++ +[NOTE] +==== +The script can take several minutes to complete as it copies multiple images to the mirror registry. +==== ++ +. Transfer the directory specified by the `--to-dir` option to your disconnected environment. +. From a machine in your disconnected environment that has access to both the cluster and the target mirror registry, download the mirroring script from disk by running the following command: ++ +[source,terminal,subs="attributes+"] +---- +curl -sSLO https://raw.githubusercontent.com/redhat-developer/rhdh-operator/refs/heads/release-{product-version}/.rhdh/scripts/prepare-restricted-environment.sh +---- ++ +. Run the mirroring script by running the `bash` command with the appropriate set of options: ++ +[source,terminal,subs="+quotes,+attributes"] +---- +bash prepare-restricted-environment.sh \ + --from-dir __ \ + [--to-registry __/__] \ + [--use-oc-mirror true] +---- ++ +where + +__ :: Specifies the directory where you want to pull all of the necessary images with the `--to-dir` option. + +__ :: Specifies the URL for the target mirror registry where you want to mirror the images. + +__ :: Specifies the target namespace where you want to mirror the images. ++ +[NOTE] +==== +If you used `oc-mirror` to mirror the images to disk, you must also use `oc-mirror` to mirror the images from disk due to the folder layout that `oc-mirror` uses. +==== ++ +[NOTE] +==== +The script can take several minutes to complete as it automatically installs the {product} Operator. +==== + +.Verification +* If you are using {ocp-brand-name}, the {product} Operator is in the *Installed Operators* list in the web console. +* If you are using a supported Kubernetes platform, you can check the list of pods running in the `rhdh-operator` namespace by running the following command in your terminal: ++ +[source,terminal,subs="+quotes,+attributes"] +---- +kubectl -n rhdh-operator get pods +---- From 470b71099f4c76298368888a17b3b9861f2b171e Mon Sep 17 00:00:00 2001 From: linfraze Date: Fri, 14 Feb 2025 12:25:05 -0500 Subject: [PATCH 2/7] RHIDP-5494: Apply SME comments --- ...dh-airgapped-environment-ocp-operator.adoc | 96 ++++++++----------- 1 file changed, 39 insertions(+), 57 deletions(-) diff --git a/modules/installation/proc-install-rhdh-airgapped-environment-ocp-operator.adoc b/modules/installation/proc-install-rhdh-airgapped-environment-ocp-operator.adoc index 225513c499..fc5032e52d 100644 --- a/modules/installation/proc-install-rhdh-airgapped-environment-ocp-operator.adoc +++ b/modules/installation/proc-install-rhdh-airgapped-environment-ocp-operator.adoc @@ -7,7 +7,7 @@ You can install {product} in a fully disconnected or partially disconnected environment using the {product} Operator. For a list of supported platforms, see the link:https://access.redhat.com/support/policy/updates/developerhub[{product} Life Cycle page]. -== Installing {product} on {ocp-short} in a partially disconnected environment with the Operator +== Installing {product} in a partially disconnected environment with the Operator On an {ocp-short} cluster operating on a restricted network, public resources are not available. However, deploying the {product} Operator and running {product-short} requires the following public resources: @@ -21,10 +21,19 @@ You can use a helper script that mirrors the necessary images and provides the n If you are connected to a {ocp-short} cluster, the helper script will detect it and will automatically expose the cluster registry. However, if you are connected to a Kubernetes cluster, you can manually specify the target registry that you want to mirror the images to. .Prerequisites -* You have an active `oc registry` session to the `registry.redhat.io` {company-name} Ecosystem Catalog. For more information, see link:https://access.redhat.com/RegistryAuthentication[{company-name} Container Registry Authentication]. +* You have installed Podman 5.3 or later. For more information, see link:https://podman.io/docs/installation[Podman Installation Instructions]. +* You have installed Skopeo 1.17 or later. +* You have installed yq 4.44 or later. +* You have installed the GNU sed command line text editor. +* You have installed umoci CLI tool. +* You have an active `oc registry`, `podman`, or `skopeo` session to the `registry.redhat.io` {company-name} Ecosystem Catalog. For more information, see link:https://access.redhat.com/RegistryAuthentication[{company-name} Container Registry Authentication]. * You have an active `skopeo` session with administrative access to the target mirror registry. For more information, see link:https://github.com/containers/skopeo#authenticating-to-a-registry[Authenticating to a registry]. * You have installed the `opm` CLI tool. For more information, see link:https://docs.redhat.com/en/documentation/openshift_container_platform/4.17/html/cli_tools/opm-cli#olm-about-opm_cli-opm-install[Installing the opm CLI]. -* You have installed Podman 5.3 or later. For more information, see link:https://podman.io/docs/installation[Podman Installation Instructions]. +* If you are using an {ocp-short} cluster, you have the following prerequisites: +** (Optional) You have installed the `oc-mirror` {ocp-short} CLI plugin if you want to use it to mirror images. +* If you are using a supported Kubernetes cluster, you have the following prerequisites: +** You have installed the Operator Lifecycle Manager (OLM) on the disconnected cluster. +** You have a mirror registry that is reachable from the disconnected cluster. .Procedure . In your terminal, navigate to the directory where you want to save the mirroring script. @@ -36,27 +45,15 @@ curl -sSLO https://raw.githubusercontent.com/redhat-developer/rhdh-operator/refs ---- + . Run the mirroring script by running the `bash` command with the appropriate set of options: -* If you do not already have a target mirror registry and want the script to create one for you, use the following example: + [source,terminal,subs="+quotes,+attributes"] ---- -bash prepare-restricted-environment.sh \ - --prod_operator_index "registry.redhat.io/redhat/redhat-operator-index:v{ocp-version}" \ - --prod_operator_package_name "rhdh" \ - --prod_operator_bundle_name "rhdh-operator" \ - --prod_operator_version "v{product-bundle-version}" \ ----- -* If you want to use an existing target mirror registry, specify it with the `--use_existing_mirror_registry` option. For example: -+ -[source,terminal,subs="+quotes,+attributes"] ----- -bash prepare-restricted-environment.sh \ - --prod_operator_index "registry.redhat.io/redhat/redhat-operator-index:v{ocp-version}" \ - --prod_operator_package_name "rhdh" \ - --prod_operator_bundle_name "rhdh-operator" \ - --prod_operator_version "v{product-bundle-version}" \ - --use_existing_mirror_registry "__" +bash prepare-restricted-environment.sh \ (1) + [--to-registry __]] \ (2) + [--use-oc-mirror true] ---- +<1> Specifies the URL for the target mirror registry where you want to mirror the images. +<2> (Optional) Uses the `oc-mirror` {ocp-short} CLI plugin to mirror images. + [NOTE] ==== @@ -72,21 +69,21 @@ The script can take several minutes to complete as it copies multiple images to kubectl -n rhdh-operator get pods ---- -== Installing {product} on {ocp-short} in a fully disconnected environment with the Operator +== Installing {product} in a fully disconnected environment with the Operator -If your network has access to the registry through a bastion host or physical disk, you can use the Operator to install {product} by mirroring specified resources and transferring them to your air-gapped environment without any connection to the internet. +If your network has access to the registry through a bastion host, you can use the helper script to install {product} by mirroring the Operator-related images to disk and transferring them to your air-gapped environment without any connection to the internet. .Prerequisites -* You have set up your disconnected environment. -** You have mirrored all of the required images to disk. -** You have manually transferred the mirror folder to the network of the disconnected mirror registry. -** You have mirrored the images from disk to the target mirror registry in your disconnected environment. -** You have installed the Operator in your disconnected environment. -* You have set up your workstation. -** You have an active `oc registry` session to the `registry.redhat.io` {company-name} Ecosystem Catalog. For more information, see link:https://access.redhat.com/RegistryAuthentication[{company-name} Container Registry Authentication]. -** You have installed the `opm` CLI tool. For more information, see link:https://docs.redhat.com/en/documentation/openshift_container_platform/4.17/html/cli_tools/opm-cli#olm-about-opm_cli-opm-install[Installing the opm CLI]. -** You have installed Podman 5.3 or later. For more information, see link:https://podman.io/docs/installation[Podman Installation Instructions]. +* You have installed Podman 5.3 or later. For more information, see link:https://podman.io/docs/installation[Podman Installation Instructions]. +* You have installed Skopeo 1.17 or later. +* You have installed yq 4.44 or later. +* You have installed the GNU sed command line text editor. +* You have installed umoci CLI tool. +* You have an active `oc registry`, `podman`, or `skopeo` session to the `registry.redhat.io` {company-name} Ecosystem Catalog. For more information, see link:https://access.redhat.com/RegistryAuthentication[{company-name} Container Registry Authentication]. +* You have an active `oc registry` session to the `registry.redhat.io` {company-name} Ecosystem Catalog. For more information, see link:https://access.redhat.com/RegistryAuthentication[{company-name} Container Registry Authentication]. +* You have installed the `opm` CLI tool. For more information, see link:https://docs.redhat.com/en/documentation/openshift_container_platform/4.17/html/cli_tools/opm-cli#olm-about-opm_cli-opm-install[Installing the opm CLI]. +* You have installed Podman 5.3 or later. For more information, see link:https://podman.io/docs/installation[Podman Installation Instructions]. .Procedure . Download the mirroring script to disk by running the following command: @@ -101,16 +98,12 @@ curl -sSLO https://raw.githubusercontent.com/redhat-developer/rhdh-operator/refs [source,terminal,subs="+quotes,+attributes"] ---- bash prepare-restricted-environment.sh \ - --index-image "quay.io/rhdh/iib:next-v4.18-x86_64" \ - --ci-index true \ - --to-dir __ \ - [--filter-versions '*'] \ - [--use-oc-mirror true] + --to-dir __ ---- + where -__ :: Specifies the directory where you want to pull all of the necessary images with the `--to-dir` option, for example, my.registry.example.com/namespace +__ :: Specifies the absolute path to a directory where you want to pull all of the necessary images with the `--to-dir` option, for example, `/home/user/rhdh-operator-mirror-dir`. + [NOTE] ==== @@ -118,30 +111,19 @@ The script can take several minutes to complete as it copies multiple images to ==== + . Transfer the directory specified by the `--to-dir` option to your disconnected environment. -. From a machine in your disconnected environment that has access to both the cluster and the target mirror registry, download the mirroring script from disk by running the following command: -+ -[source,terminal,subs="attributes+"] ----- -curl -sSLO https://raw.githubusercontent.com/redhat-developer/rhdh-operator/refs/heads/release-{product-version}/.rhdh/scripts/prepare-restricted-environment.sh ----- -+ -. Run the mirroring script by running the `bash` command with the appropriate set of options: +. From a machine in your disconnected environment that has access to both the cluster and the target mirror registry, run the mirroring script by running the `bash` command with the appropriate set of options: + [source,terminal,subs="+quotes,+attributes"] ---- -bash prepare-restricted-environment.sh \ - --from-dir __ \ - [--to-registry __/__] \ - [--use-oc-mirror true] +bash __/install.sh \ (1) + --from-dir __ \ (2) + [--to-registry __] \ (3) + [--use-oc-mirror true] (4) ---- -+ -where - -__ :: Specifies the directory where you want to pull all of the necessary images with the `--to-dir` option. - -__ :: Specifies the URL for the target mirror registry where you want to mirror the images. - -__ :: Specifies the target namespace where you want to mirror the images. +<1> The downloaded image and the absolute path to the directory where it is stored on your system. +<2> Specifies the directory where you want to pull all of the necessary images with the `--to-dir` option. +<3> Specifies the URL for the target mirror registry where you want to mirror the images. +<4> (Optional) Uses the `oc-mirror` {ocp-short} CLI plugin to mirror images. + [NOTE] ==== From 408ff8467c3e12317e16b44ce5eca9a0a9df0b9b Mon Sep 17 00:00:00 2001 From: linfraze Date: Mon, 17 Feb 2025 13:40:50 -0500 Subject: [PATCH 3/7] RHIDP-5494: Add Next steps and links to RHDH installation guides --- ...oc-install-rhdh-airgapped-environment-ocp-operator.adoc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/installation/proc-install-rhdh-airgapped-environment-ocp-operator.adoc b/modules/installation/proc-install-rhdh-airgapped-environment-ocp-operator.adoc index fc5032e52d..c7a202d545 100644 --- a/modules/installation/proc-install-rhdh-airgapped-environment-ocp-operator.adoc +++ b/modules/installation/proc-install-rhdh-airgapped-environment-ocp-operator.adoc @@ -143,3 +143,10 @@ The script can take several minutes to complete as it automatically installs the ---- kubectl -n rhdh-operator get pods ---- + +.Next steps +* To deploy {product-very-short} on {ocp-brand-name} with the Operator, see link:https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_red_hat_developer_hub_on_openshift_container_platform/assembly-install-rhdh-ocp-operator[Installing {product} on {ocp-short} with the Operator] +* To deploy {product-very-short} on {eks-brand-name} with the Operator, see link:https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_red_hat_developer_hub_on_amazon_elastic_kubernetes_service/proc-rhdh-deploy-eks-operator_title-install-rhdh-eks[Installing {product-short} on {eks-short} with the Operator] +* To deploy {product-very-short} on {aks-brand-name} with the Operator, see link:https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_red_hat_developer_hub_on_microsoft_azure_kubernetes_service/proc-rhdh-deploy-aks-operator_title-install-rhdh-aks[Installing {product-short} on {aks-short} with the Operator] +* To deploy {product-very-short} on {gcp-brand-name} with the Operator, see link:https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_red_hat_developer_hub_on_openshift_dedicated_on_google_cloud_platform/proc-install-rhdh-osd-gcp-operator_title-install-rhdh-osd-gcp[Installing {product-short} on {gcp-short} with the Operator] +* To deploy {product-very-short} on {gke-brand-name} with the Operator, see link:https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_red_hat_developer_hub_on_google_kubernetes_engine/proc-rhdh-deploy-gke-operator.adoc_title-install-rhdh-gke#proc-deploy-rhdh-instance-gke.adoc_title-install-rhdh-gke[Deploying {product-short} on {gke-short} with the Operator] From 1645770cdbc067d2eac6f5056def5b456e6dce14 Mon Sep 17 00:00:00 2001 From: linfraze Date: Fri, 7 Mar 2025 12:12:07 -0500 Subject: [PATCH 4/7] RHIDP-5494: Create snippet and apply SME comments --- ...snip-rhdh-install-operator-next-steps.adoc | 9 +++++ modules/installation/artifacts | 1 + ...dh-airgapped-environment-ocp-operator.adoc | 40 ++++++++++--------- 3 files changed, 32 insertions(+), 18 deletions(-) create mode 100644 artifacts/snip-rhdh-install-operator-next-steps.adoc create mode 120000 modules/installation/artifacts diff --git a/artifacts/snip-rhdh-install-operator-next-steps.adoc b/artifacts/snip-rhdh-install-operator-next-steps.adoc new file mode 100644 index 0000000000..95d34e048b --- /dev/null +++ b/artifacts/snip-rhdh-install-operator-next-steps.adoc @@ -0,0 +1,9 @@ +[id='snip-rhdh-install-operator-next-steps_{context}'] + +.Next steps +* Use the Operator to create a {product} instance on a supported platform. For more information, see the following documentation for the platform that you want to use: +** link:https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_red_hat_developer_hub_on_openshift_container_platform/assembly-install-rhdh-ocp-operator[Installing {product} on {ocp-short} with the Operator] +** link:https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_red_hat_developer_hub_on_amazon_elastic_kubernetes_service/proc-rhdh-deploy-eks-operator_title-install-rhdh-eks[Installing {product-short} on {eks-short} with the Operator] +** link:https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_red_hat_developer_hub_on_microsoft_azure_kubernetes_service/proc-rhdh-deploy-aks-operator_title-install-rhdh-aks[Installing {product-short} on {aks-short} with the Operator] +** link:https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_red_hat_developer_hub_on_openshift_dedicated_on_google_cloud_platform/proc-install-rhdh-osd-gcp-operator_title-install-rhdh-osd-gcp[Installing {product-short} on {gcp-short} with the Operator] +** link:https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_red_hat_developer_hub_on_google_kubernetes_engine/proc-rhdh-deploy-gke-operator.adoc_title-install-rhdh-gke#proc-deploy-rhdh-instance-gke.adoc_title-install-rhdh-gke[Deploying {product-short} on {gke-short} with the Operator] diff --git a/modules/installation/artifacts b/modules/installation/artifacts new file mode 120000 index 0000000000..f30b6dea60 --- /dev/null +++ b/modules/installation/artifacts @@ -0,0 +1 @@ +../../artifacts \ No newline at end of file diff --git a/modules/installation/proc-install-rhdh-airgapped-environment-ocp-operator.adoc b/modules/installation/proc-install-rhdh-airgapped-environment-ocp-operator.adoc index c7a202d545..03a6b1682e 100644 --- a/modules/installation/proc-install-rhdh-airgapped-environment-ocp-operator.adoc +++ b/modules/installation/proc-install-rhdh-airgapped-environment-ocp-operator.adoc @@ -48,9 +48,10 @@ curl -sSLO https://raw.githubusercontent.com/redhat-developer/rhdh-operator/refs + [source,terminal,subs="+quotes,+attributes"] ---- -bash prepare-restricted-environment.sh \ (1) - [--to-registry __]] \ (2) - [--use-oc-mirror true] +bash prepare-restricted-environment.sh \ + --filter-versions "{product-version}" \ + [--to-registry __] \ <1> + [--use-oc-mirror true] <2> ---- <1> Specifies the URL for the target mirror registry where you want to mirror the images. <2> (Optional) Uses the `oc-mirror` {ocp-short} CLI plugin to mirror images. @@ -69,6 +70,14 @@ The script can take several minutes to complete as it copies multiple images to kubectl -n rhdh-operator get pods ---- +.Next steps +* Use the Operator to create a {product} instance on a supported platform. For more information, see the following documentation for the platform that you want to use: +** link:https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_red_hat_developer_hub_on_openshift_container_platform/assembly-install-rhdh-ocp-operator[Installing {product} on {ocp-short} with the Operator] +** link:https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_red_hat_developer_hub_on_amazon_elastic_kubernetes_service/proc-rhdh-deploy-eks-operator_title-install-rhdh-eks[Installing {product-short} on {eks-short} with the Operator] +** link:https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_red_hat_developer_hub_on_microsoft_azure_kubernetes_service/proc-rhdh-deploy-aks-operator_title-install-rhdh-aks[Installing {product-short} on {aks-short} with the Operator] +** link:https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_red_hat_developer_hub_on_openshift_dedicated_on_google_cloud_platform/proc-install-rhdh-osd-gcp-operator_title-install-rhdh-osd-gcp[Installing {product-short} on {gcp-short} with the Operator] +** link:https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_red_hat_developer_hub_on_google_kubernetes_engine/proc-rhdh-deploy-gke-operator.adoc_title-install-rhdh-gke#proc-deploy-rhdh-instance-gke.adoc_title-install-rhdh-gke[Deploying {product-short} on {gke-short} with the Operator] + == Installing {product} in a fully disconnected environment with the Operator If your network has access to the registry through a bastion host, you can use the helper script to install {product} by mirroring the Operator-related images to disk and transferring them to your air-gapped environment without any connection to the internet. @@ -98,12 +107,12 @@ curl -sSLO https://raw.githubusercontent.com/redhat-developer/rhdh-operator/refs [source,terminal,subs="+quotes,+attributes"] ---- bash prepare-restricted-environment.sh \ - --to-dir __ + --filter-versions "{product-version}" \ + --to-dir __ <1> + [--use-oc-mirror true] <2> ---- -+ -where - -__ :: Specifies the absolute path to a directory where you want to pull all of the necessary images with the `--to-dir` option, for example, `/home/user/rhdh-operator-mirror-dir`. +<1> Specifies the absolute path to a directory where you want to pull all of the necessary images with the `--to-dir` option, for example, `/home/user/rhdh-operator-mirror-dir`. +<2> (Optional) Uses the `oc-mirror` {ocp-short} CLI plugin to mirror images. + [NOTE] ==== @@ -115,10 +124,10 @@ The script can take several minutes to complete as it copies multiple images to + [source,terminal,subs="+quotes,+attributes"] ---- -bash __/install.sh \ (1) - --from-dir __ \ (2) - [--to-registry __] \ (3) - [--use-oc-mirror true] (4) +bash __/install.sh \ <1> + --from-dir __ \ <2> + [--to-registry __] \ <3> + [--use-oc-mirror true] <4> ---- <1> The downloaded image and the absolute path to the directory where it is stored on your system. <2> Specifies the directory where you want to pull all of the necessary images with the `--to-dir` option. @@ -144,9 +153,4 @@ The script can take several minutes to complete as it automatically installs the kubectl -n rhdh-operator get pods ---- -.Next steps -* To deploy {product-very-short} on {ocp-brand-name} with the Operator, see link:https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_red_hat_developer_hub_on_openshift_container_platform/assembly-install-rhdh-ocp-operator[Installing {product} on {ocp-short} with the Operator] -* To deploy {product-very-short} on {eks-brand-name} with the Operator, see link:https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_red_hat_developer_hub_on_amazon_elastic_kubernetes_service/proc-rhdh-deploy-eks-operator_title-install-rhdh-eks[Installing {product-short} on {eks-short} with the Operator] -* To deploy {product-very-short} on {aks-brand-name} with the Operator, see link:https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_red_hat_developer_hub_on_microsoft_azure_kubernetes_service/proc-rhdh-deploy-aks-operator_title-install-rhdh-aks[Installing {product-short} on {aks-short} with the Operator] -* To deploy {product-very-short} on {gcp-brand-name} with the Operator, see link:https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_red_hat_developer_hub_on_openshift_dedicated_on_google_cloud_platform/proc-install-rhdh-osd-gcp-operator_title-install-rhdh-osd-gcp[Installing {product-short} on {gcp-short} with the Operator] -* To deploy {product-very-short} on {gke-brand-name} with the Operator, see link:https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_red_hat_developer_hub_on_google_kubernetes_engine/proc-rhdh-deploy-gke-operator.adoc_title-install-rhdh-gke#proc-deploy-rhdh-instance-gke.adoc_title-install-rhdh-gke[Deploying {product-short} on {gke-short} with the Operator] +include::../../artifacts/snip-rhdh-install-operator-next-steps.adoc[] From eb46d36c23702d14f635b4ddb8e394f2562477b6 Mon Sep 17 00:00:00 2001 From: linfraze Date: Wed, 12 Mar 2025 14:29:23 -0400 Subject: [PATCH 5/7] RHIDP-5494: Apply reviewer comments --- ...dh-airgapped-environment-ocp-operator.adoc | 38 +++++++++---------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/modules/installation/proc-install-rhdh-airgapped-environment-ocp-operator.adoc b/modules/installation/proc-install-rhdh-airgapped-environment-ocp-operator.adoc index 03a6b1682e..eff4efb2ba 100644 --- a/modules/installation/proc-install-rhdh-airgapped-environment-ocp-operator.adoc +++ b/modules/installation/proc-install-rhdh-airgapped-environment-ocp-operator.adoc @@ -16,16 +16,16 @@ On an {ocp-short} cluster operating on a restricted network, public resources ar To make these resources available, replace them with their equivalent resources in a mirror registry accessible to your cluster. -You can use a helper script that mirrors the necessary images and provides the necessary configuration to ensure those images will be used when installing the {product} Operator and creating {product-short} instances. This script requires a target mirror registry. You likely have a target mirror registry ready to use if your cluster is already operating on a disconnected network. If you do not already have a target registry, and if you have an {ocp-short} cluster, you might want to expose and leverage the internal cluster registry. +You can use a helper script that mirrors the necessary images and provides the necessary configuration to ensure those images are used when installing the {product} Operator and creating {product-short} instances. This script requires a target mirror registry. You likely have a target mirror registry if your cluster is already operating on a disconnected network. If you do not already have a target registry, and if you have an {ocp-short} cluster, you might want to expose and leverage the internal cluster registry. -If you are connected to a {ocp-short} cluster, the helper script will detect it and will automatically expose the cluster registry. However, if you are connected to a Kubernetes cluster, you can manually specify the target registry that you want to mirror the images to. +When connected to a {ocp-short} cluster, the helper script detects it and automatically exposes the cluster registry. If connected to a Kubernetes cluster, you can manually specify the target registry to mirror the images. .Prerequisites * You have installed Podman 5.3 or later. For more information, see link:https://podman.io/docs/installation[Podman Installation Instructions]. * You have installed Skopeo 1.17 or later. -* You have installed yq 4.44 or later. -* You have installed the GNU sed command line text editor. -* You have installed umoci CLI tool. +* You have installed `yq` 4.44 or later. +* You have installed the GNU `sed` command line text editor. +* You have installed `umoci` CLI tool. * You have an active `oc registry`, `podman`, or `skopeo` session to the `registry.redhat.io` {company-name} Ecosystem Catalog. For more information, see link:https://access.redhat.com/RegistryAuthentication[{company-name} Container Registry Authentication]. * You have an active `skopeo` session with administrative access to the target mirror registry. For more information, see link:https://github.com/containers/skopeo#authenticating-to-a-registry[Authenticating to a registry]. * You have installed the `opm` CLI tool. For more information, see link:https://docs.redhat.com/en/documentation/openshift_container_platform/4.17/html/cli_tools/opm-cli#olm-about-opm_cli-opm-install[Installing the opm CLI]. @@ -44,7 +44,7 @@ If you are connected to a {ocp-short} cluster, the helper script will detect it curl -sSLO https://raw.githubusercontent.com/redhat-developer/rhdh-operator/refs/heads/release-{product-version}/.rhdh/scripts/prepare-restricted-environment.sh ---- + -. Run the mirroring script by running the `bash` command with the appropriate set of options: +. Run the mirroring script by using the `bash` command with the appropriate set of options: + [source,terminal,subs="+quotes,+attributes"] ---- @@ -86,13 +86,11 @@ If your network has access to the registry through a bastion host, you can use t * You have installed Podman 5.3 or later. For more information, see link:https://podman.io/docs/installation[Podman Installation Instructions]. * You have installed Skopeo 1.17 or later. -* You have installed yq 4.44 or later. -* You have installed the GNU sed command line text editor. -* You have installed umoci CLI tool. +* You have installed `yq` 4.44 or later. +* You have installed the GNU `sed` command line text editor. +* You have installed `umoci` CLI tool. * You have an active `oc registry`, `podman`, or `skopeo` session to the `registry.redhat.io` {company-name} Ecosystem Catalog. For more information, see link:https://access.redhat.com/RegistryAuthentication[{company-name} Container Registry Authentication]. -* You have an active `oc registry` session to the `registry.redhat.io` {company-name} Ecosystem Catalog. For more information, see link:https://access.redhat.com/RegistryAuthentication[{company-name} Container Registry Authentication]. * You have installed the `opm` CLI tool. For more information, see link:https://docs.redhat.com/en/documentation/openshift_container_platform/4.17/html/cli_tools/opm-cli#olm-about-opm_cli-opm-install[Installing the opm CLI]. -* You have installed Podman 5.3 or later. For more information, see link:https://podman.io/docs/installation[Podman Installation Instructions]. .Procedure . Download the mirroring script to disk by running the following command: @@ -102,12 +100,12 @@ If your network has access to the registry through a bastion host, you can use t curl -sSLO https://raw.githubusercontent.com/redhat-developer/rhdh-operator/refs/heads/release-{product-version}/.rhdh/scripts/prepare-restricted-environment.sh ---- + -. Run the mirroring script by running the `bash` command with the appropriate set of options: +. Run the mirroring script by using the `bash` command with the appropriate set of options: + -[source,terminal,subs="+quotes,+attributes"] +[source,terminal,subs="attributes+"] ---- -bash prepare-restricted-environment.sh \ - --filter-versions "{product-version}" \ +bash prepare-restricted-environment.sh + --filter-versions "{product-version}" --to-dir __ <1> [--use-oc-mirror true] <2> ---- @@ -120,13 +118,13 @@ The script can take several minutes to complete as it copies multiple images to ==== + . Transfer the directory specified by the `--to-dir` option to your disconnected environment. -. From a machine in your disconnected environment that has access to both the cluster and the target mirror registry, run the mirroring script by running the `bash` command with the appropriate set of options: +. From a machine in your disconnected environment that has access to both the cluster and the target mirror registry, run the mirroring script by using the `bash` command with the appropriate set of options: + [source,terminal,subs="+quotes,+attributes"] ---- -bash __/install.sh \ <1> - --from-dir __ \ <2> - [--to-registry __] \ <3> +bash __/install.sh <1> + --from-dir __ <2> + [--to-registry __] <3> [--use-oc-mirror true] <4> ---- <1> The downloaded image and the absolute path to the directory where it is stored on your system. @@ -134,7 +132,7 @@ bash __/install.sh \ <1> <3> Specifies the URL for the target mirror registry where you want to mirror the images. <4> (Optional) Uses the `oc-mirror` {ocp-short} CLI plugin to mirror images. + -[NOTE] +[IMPORTANT] ==== If you used `oc-mirror` to mirror the images to disk, you must also use `oc-mirror` to mirror the images from disk due to the folder layout that `oc-mirror` uses. ==== From 50d3fa1a009828080ed3127e100960baeb3e290c Mon Sep 17 00:00:00 2001 From: linfraze Date: Thu, 13 Mar 2025 08:28:04 -0400 Subject: [PATCH 6/7] RHIDP-5494: Apply reviewer comment --- .../proc-install-rhdh-airgapped-environment-ocp-operator.adoc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/installation/proc-install-rhdh-airgapped-environment-ocp-operator.adoc b/modules/installation/proc-install-rhdh-airgapped-environment-ocp-operator.adoc index eff4efb2ba..4dbfdccd00 100644 --- a/modules/installation/proc-install-rhdh-airgapped-environment-ocp-operator.adoc +++ b/modules/installation/proc-install-rhdh-airgapped-environment-ocp-operator.adoc @@ -80,6 +80,8 @@ kubectl -n rhdh-operator get pods == Installing {product} in a fully disconnected environment with the Operator +In environments without internet access — whether for security, compliance, or operational reasons — a fully disconnected installation ensures that {product} can run reliably without external dependencies. + If your network has access to the registry through a bastion host, you can use the helper script to install {product} by mirroring the Operator-related images to disk and transferring them to your air-gapped environment without any connection to the internet. .Prerequisites From bafb2d2efba00e9b8d05e0ae6757786a7a70fe9d Mon Sep 17 00:00:00 2001 From: linfraze Date: Thu, 13 Mar 2025 11:48:09 -0400 Subject: [PATCH 7/7] RHIDP-5494: Remove snippet --- modules/installation/artifacts | 1 - ...c-install-rhdh-airgapped-environment-ocp-operator.adoc | 8 +++++++- 2 files changed, 7 insertions(+), 2 deletions(-) delete mode 120000 modules/installation/artifacts diff --git a/modules/installation/artifacts b/modules/installation/artifacts deleted file mode 120000 index f30b6dea60..0000000000 --- a/modules/installation/artifacts +++ /dev/null @@ -1 +0,0 @@ -../../artifacts \ No newline at end of file diff --git a/modules/installation/proc-install-rhdh-airgapped-environment-ocp-operator.adoc b/modules/installation/proc-install-rhdh-airgapped-environment-ocp-operator.adoc index 4dbfdccd00..1ade5a3396 100644 --- a/modules/installation/proc-install-rhdh-airgapped-environment-ocp-operator.adoc +++ b/modules/installation/proc-install-rhdh-airgapped-environment-ocp-operator.adoc @@ -153,4 +153,10 @@ The script can take several minutes to complete as it automatically installs the kubectl -n rhdh-operator get pods ---- -include::../../artifacts/snip-rhdh-install-operator-next-steps.adoc[] +.Next steps +* Use the Operator to create a {product} instance on a supported platform. For more information, see the following documentation for the platform that you want to use: +** link:https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_red_hat_developer_hub_on_openshift_container_platform/assembly-install-rhdh-ocp-operator[Installing {product} on {ocp-short} with the Operator] +** link:https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_red_hat_developer_hub_on_amazon_elastic_kubernetes_service/proc-rhdh-deploy-eks-operator_title-install-rhdh-eks[Installing {product-short} on {eks-short} with the Operator] +** link:https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_red_hat_developer_hub_on_microsoft_azure_kubernetes_service/proc-rhdh-deploy-aks-operator_title-install-rhdh-aks[Installing {product-short} on {aks-short} with the Operator] +** link:https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_red_hat_developer_hub_on_openshift_dedicated_on_google_cloud_platform/proc-install-rhdh-osd-gcp-operator_title-install-rhdh-osd-gcp[Installing {product-short} on {gcp-short} with the Operator] +** link:https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.4/html/installing_red_hat_developer_hub_on_google_kubernetes_engine/proc-rhdh-deploy-gke-operator.adoc_title-install-rhdh-gke#proc-deploy-rhdh-instance-gke.adoc_title-install-rhdh-gke[Deploying {product-short} on {gke-short} with the Operator]