diff --git a/modules/installation/proc-install-rhdh-airgapped-partial-k8s-helm.adoc b/modules/installation/proc-install-rhdh-airgapped-partial-k8s-helm.adoc index 1027b0da6f..8aab402d21 100644 --- a/modules/installation/proc-install-rhdh-airgapped-partial-k8s-helm.adoc +++ b/modules/installation/proc-install-rhdh-airgapped-partial-k8s-helm.adoc @@ -19,7 +19,7 @@ In a partially disconnected environment, the cluster cannot access external regi . In a terminal, download and extract the Helm chart by running the following commands: + -[source,terminal,subs="attributes+"] +[source,terminal,subs="+attributes,+quotes"] ---- helm repo add __ https://charts.openshift.io/ helm repo update @@ -27,10 +27,10 @@ helm pull __/redhat-developer-hub --version __/redhat-developer-hub --version __ > values.default.yaml ---- + -where +where: -__ :: Specifies the name of the Helm chart repository, for example, `openshift-helm-charts`. -__ :: Specifies the {product} version that you want to use, for example, `{product-chart-version}`. +__ :: Enter the name of the Helm chart repository, for example, `openshift-helm-charts`. +__ :: Enter the {product} version that you want to use, for example, `{product-chart-version}`. + . Use `yq` to extract the image digests by running the following commands: + diff --git a/modules/installation/proc-install-rhdh-helm-airgapped-full.adoc b/modules/installation/proc-install-rhdh-helm-airgapped-full.adoc index df5c7d79ef..b7fdf1c048 100644 --- a/modules/installation/proc-install-rhdh-helm-airgapped-full.adoc +++ b/modules/installation/proc-install-rhdh-helm-airgapped-full.adoc @@ -8,38 +8,36 @@ If your network has access to the registry through a bastion host, you can use t .Prerequisites * You have set up your workstation. -** You have access to the registry.redhat.io. +** You have an account in https://developers.redhat.com/[{rhdeveloper-name}] portal. ** You have access to the charts.openshift.io Helm chart repository. ** You have installed the {openshift-cli} on your workstation. -* {ocp-docs-link}/html-single/disconnected_environments/index#about-installing-oc-mirror-v2[You have installed the oc-mirror OpenShift CLI plugin]. -** You have an account in https://developers.redhat.com/[{rhdeveloper-name}] portal. -** You have set up your intermediary host. -** Your host has access to the disconnected cluster and to the target mirror registry, for example, the {ocp-brand-name} image registry. For more information about exposing the {ocp-short} image registry, see {ocp-docs-link}/html-single/registry/index#securing-exposing-registry[Exposing the registry]. -** {ocp-docs-link}/html-single/disconnected_environments/index#about-installing-oc-mirror-v2[You have installed the oc-mirror OpenShift CLI plugin]. +** You have installed the {ocp-docs-link}/html-single/disconnected_environments/index#installation-oc-mirror-installing-plugin_about-installing-oc-mirror-v2[`oc-mirror`] tool, with a version corresponding to the version of your {ocp-short} cluster. +* You have set up your intermediary host. +** Your host has access to the link:https://registry.redhat.io[{company-name} Ecosystem Catalog]. +** Your host has access to image registry on the destination host. +See {ocp-docs-link}/html-single/registry/index#securing-exposing-registry[Exposing the registry]. +* You have set up your destination host. ** You have installed {ocp-brand-name} {ocp-version-min} or later. -** You have installed the {openshift-cli} on your workstation. -* Make sure that your system meets the minimum sizing requirements. See {about-book-link}#rhdh-sizing_about-rhdh[Sizing requirements for {product}]. +** Your system meets the minimum sizing requirements. See {about-book-link}#rhdh-sizing_about-rhdh[Sizing requirements for {product}]. .Procedure . Create an `ImageSetConfiguration` file to specify the resources that you want to mirror. For example: + -[source,terminal,subs="+quotes"] +[source,yaml,subs="+attributes,+quotes"] ---- apiVersion: mirror.openshift.io/v1alpha2 kind: ImageSetConfiguration mirror: helm: repositories: - - name: __ (1) - url: __ (2) + - name: openshift-charts + url: https://charts.openshift.io charts: - - name: __ (3) - version: "__" (4) + - name: redhat-developer-hub + version: "{product-version}" ---- -<1> The name of the repository that you want to mirror, for example, `openshift-charts`. -<2> The URL for the repository that you want to mirror, for example, `https://charts.openshift.io`. -<3> The name of the Helm chart that you want to mirror, for example, `redhat-developer-hub`. -<4> The version of {product} that you want to use, for example, `{product-version}` +where: +`version: "{product-version}"`:: Enter the {product} version to mirror. . Mirror the resources specified in the `ImageSetConfiguration.yaml` file by running the `oc-mirror` command. For example: + @@ -51,11 +49,9 @@ oc-mirror --config=__/ImageSetConfiguration.yaml _` :: Specifies the location of your image set configuration file on your system, for example, `.user`. +`` :: Enter the location of your image set configuration file on your system, for example, `.user`. -`` :: Specifies the name of your mirror configuration yaml file, for example, `mirror-config.yaml` - -`` :: Specifies the location of your directory where the mirror archive will be created, for example, `pass:[file://.user]`. +`` :: Enter the location of your directory where the mirror archive will be created, for example, `pass:[file://.user]`. -- + [NOTE] @@ -63,7 +59,8 @@ where: Running the `oc-mirror` command generates a local workspace containing the mirror archive file, the Helm chart, and a `ImageContentSourcePolicy` (ICSP) manifest. The ICSP manifest contains an `imageContentSourcePolicy.yaml` file that you must apply against the cluster in a later step. ==== + -.Example output +Example output: ++ [source,terminal,subs="+quotes"] ---- Creating archive /path/to/mirror-archive/mirror_seq1_000000.tar @@ -85,9 +82,9 @@ oc-mirror --from __ __ -- where: -`` :: Specifies the name of the file containing the resources that you want to mirror, for example,`mirror_seq1_0000.tar`. +`` :: Enter the name of the file containing the resources that you want to mirror, for example,`mirror_seq1_0000.tar`. -`` :: Specifies the name of the target registry that you want to push the mirrored images to, for example, `docker://registry.localhost:5000`. +`` :: Enter the name of the target registry that you want to push the mirrored images to, for example, `docker://registry.localhost:5000`. -- + .Example output @@ -123,9 +120,9 @@ oc apply -f __/__/ImageContentSourcePoli -- where: -`` :: Specifies the name of your workspace directory, for example, `oc-mirror-workspace`. +`` :: Enter the name of your workspace directory, for example, `oc-mirror-workspace`. -`` :: Specifies the name of your results directory, for example, `results-1738070846`. +`` :: Enter the name of your results directory, for example, `results-1738070846`. -- . In your air-gapped environment, deploy the Helm chart to the namespace that you want to use by running the `helm install` command with `namespace` and `set` options. For example: + @@ -140,13 +137,13 @@ helm install __ __/__/cha -- where: -`` :: Specifies the name of your {product} instance, for example, `my-rhdh`. +`` :: Enter the name of your {product} instance, for example, `{my-product-namespace}`. -`` :: Specifies the name of your workspace directory, for example, `oc-mirror-workspace`. +`` :: Enter the name of your workspace directory, for example, `oc-mirror-workspace`. -`` :: Specifies the name of your results directory, for example, `results-1738070846`. +`` :: Enter the name of your results directory, for example, `results-1738070846`. -`` :: Specifies the name of the archive file containing the resources that you want to mirror, for example, `redhat-developer-hub-1.4.1.tgz`. +`` :: Enter the name of the archive file containing the resources that you want to mirror, for example, `redhat-developer-hub-1.4.1.tgz`. -`` :: Specifies the namespace that you want to deploy the Helm chart to, for example, `{my-product-namespace}`. +`` :: Enter the namespace that you want to deploy the Helm chart to, for example, `{my-product-namespace}`. -- diff --git a/modules/installation/proc-install-rhdh-helm-airgapped-partial.adoc b/modules/installation/proc-install-rhdh-helm-airgapped-partial.adoc index f3771e4e9d..d4516ef8dd 100644 --- a/modules/installation/proc-install-rhdh-helm-airgapped-partial.adoc +++ b/modules/installation/proc-install-rhdh-helm-airgapped-partial.adoc @@ -13,7 +13,7 @@ If your network has access to the `registry.redhat.io` registry and the `charts. * You have access to a mirror registry that can be reached from the disconnected cluster, for example, the {ocp-short} image registry. For more information about exposing the {ocp-short} image registry, see {ocp-docs-link}/html-single/registry/index#securing-exposing-registry[Exposing the registry]. * You are logged in to your target mirror registry and have permissions to push images to it. For more information, see {ocp-docs-link}/html-single/disconnected_environments/index#installation-adding-registry-pull-secret_about-installing-oc-mirror-v2[Configuring credentials that allow images to be mirrored]. * You have installed the {openshift-cli} on your workstation. -* {ocp-docs-link}/html-single/disconnected_environments/index#about-installing-oc-mirror-v2[You have installed the oc-mirror OpenShift CLI plugin]. +* Recommended on {ocp-short}: You have installed the {ocp-docs-link}/html-single/disconnected_environments/index#installation-oc-mirror-installing-plugin_about-installing-oc-mirror-v2[`oc-mirror`] tool, with a version corresponding to the version of your {ocp-short} cluster. * You have an account in https://developers.redhat.com/[{rhdeveloper-name}] portal. * Make sure that your system meets the minimum sizing requirements. See {about-book-link}#rhdh-sizing_about-rhdh[Sizing requirements for {product}]. @@ -29,23 +29,20 @@ oc login -u -p https://api.:6443 . Create an `ImageSetConfiguration.yaml` file. . In your `ImageSetConfiguration.yaml` file, specify the resources that you want to mirror. For example: + -[source,terminal,subs="+quotes"] +[source,yaml,subs="+attributes,+quotes"] ---- apiVersion: mirror.openshift.io/v1alpha2 kind: ImageSetConfiguration mirror: helm: repositories: - - name: __ (1) - url: __ (2) + - name: openshift-charts + url: https://charts.openshift.io charts: - - name: __ (3) - version: "__" (4) + - name: redhat-developer-hub + version: "{product-version}" ---- -<1> The name of the repository containing the Helm chart that you want to mirror, for example, `openshift-charts`. -<2> The URL for the repository containing the Helm chart that you want to mirror, for example, `https://charts.openshift.io`. -<3> The name of the Helm chart containing the images that you want to mirror, for example, `redhat-developer-hub`. -<4> The {product} version that you want to use, for example, `{product-version}` +`version: "{product-version}"`:: Enter the {product} version to mirror. . Mirror the resources specified in the image set configuration file directly to the target registry by running the `oc-mirror` command. For example: + diff --git a/modules/installation/proc-install-rhdh-operator-airgapped-full.adoc b/modules/installation/proc-install-rhdh-operator-airgapped-full.adoc index f266dfa906..ba8c2fb17e 100644 --- a/modules/installation/proc-install-rhdh-operator-airgapped-full.adoc +++ b/modules/installation/proc-install-rhdh-operator-airgapped-full.adoc @@ -16,27 +16,29 @@ If your network has access to the registry through a bastion host, you can use t * 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:link:https://access.redhat.com/articles/RegistryAuthentication[{company-name} Container Registry Authentication]. * You have installed the `opm` CLI tool. For more information, see {ocp-docs-link}/html/cli_tools/opm-cli#olm-about-opm_cli-opm-install[Installing the opm CLI]. +* Recommended on {ocp-short}: You have installed the {ocp-docs-link}/html-single/disconnected_environments/index#installation-oc-mirror-installing-plugin_about-installing-oc-mirror-v2[`oc-mirror`] tool, with a version corresponding to the version of your {ocp-short} cluster. * Make sure that your system meets the minimum sizing requirements. See {about-book-link}#rhdh-sizing_about-rhdh[Sizing requirements for {product}]. .Procedure . Download the mirroring script to disk by running the following command: + -[source,terminal,subs="attributes+"] +[source,terminal,subs="+attributes,+quotes"] ---- 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 using the `bash` command with the appropriate set of options: + -[source,terminal,subs="attributes+"] +[source,terminal,subs="+attributes,+quotes"] ---- bash prepare-restricted-environment.sh --filter-versions "{product-version}" - --to-dir __ <1> - [--use-oc-mirror true] <2> + --to-dir __ + [--use-oc-mirror true] ---- -<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. +where: +`--to-dir __`:: Enter the absolute path to a directory where you want to pull all of the necessary images, for example, `/home/user/rhdh-operator-mirror-dir`. +`--use-oc-mirror true`:: (Recommended on {ocp-short}) Use the `oc-mirror` {ocp-short} CLI plugin to mirror images. + [NOTE] ==== @@ -48,15 +50,16 @@ 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 + --from-dir __ + [--to-registry __] + [--use-oc-mirror true] ---- -<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. +where: +`__/install.sh`:: Enter the downloaded installation script and the absolute path to the directory where it is stored on your system. +`--from-dir __`:: Enter the directory where you want to pull all of the necessary images. +`--to-registry`:: (Optional) Enter the URL for the target mirror registry where you want to mirror the images. +`--use-oc-mirror true`:: Recommended on {ocp-short}: Use the `oc-mirror` {ocp-short} CLI plugin to mirror images. + [IMPORTANT] ==== diff --git a/modules/installation/proc-install-rhdh-operator-airgapped-partial.adoc b/modules/installation/proc-install-rhdh-operator-airgapped-partial.adoc index 74f1e98203..49474a7b9f 100644 --- a/modules/installation/proc-install-rhdh-operator-airgapped-partial.adoc +++ b/modules/installation/proc-install-rhdh-operator-airgapped-partial.adoc @@ -3,32 +3,42 @@ [id="proc-install-rhdh-operator-airgapped-partial.adoc_{context}"] = 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: +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 your cluster. -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. +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. -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. +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 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:link:https://access.redhat.com/articles/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 {ocp-docs-link}/html/cli_tools/opm-cli#olm-about-opm_cli-opm-install[Installing the opm CLI]. +* You have an active `oc registry`, `podman`, or `Skopeo` session to the `registry.redhat.io` {company-name} Ecosystem Catalog. +For more information, see link:link:https://access.redhat.com/articles/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 {ocp-docs-link}/html/cli_tools/opm-cli#olm-about-opm_cli-opm-install[Installing the opm CLI]. * 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. +** Recommended: You have installed the `oc-mirror` tool, with a version corresponding to the version of your {ocp-short} cluster. * 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. -* Make sure that your system meets the minimum sizing requirements. See {about-book-link}#rhdh-sizing_about-rhdh[Sizing requirements for {product}]. +* Make sure that your system meets the minimum sizing requirements. +See {about-book-link}#rhdh-sizing_about-rhdh[Sizing requirements for {product}]. .Procedure . In your terminal, navigate to the directory where you want to save the mirroring script. @@ -45,11 +55,12 @@ curl -sSLO https://raw.githubusercontent.com/redhat-developer/rhdh-operator/refs ---- bash prepare-restricted-environment.sh \ --filter-versions "{product-version}" \ - [--to-registry __] \ <1> - [--use-oc-mirror true] <2> + [--to-registry __] \ + [--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. +where: +`--to-registry _`:: Enter the URL for the target mirror registry where you want to mirror the images. +`--use-oc-mirror true`:: Optional: Use the `oc-mirror` {ocp-short} CLI plugin to mirror images. + [NOTE] ==== @@ -66,7 +77,8 @@ 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: +* 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: ** {installing-on-ocp-book-link}#assembly-install-rhdh-ocp-operator[Installing {product} on {ocp-short} with the Operator] ** {installing-on-eks-book-link}#assembly-install-rhdh-eks-operator[Installing {product-short} on {eks-short} with the Operator] ** {installing-on-aks-book-link}#proc-rhdh-deploy-aks-operator_title-install-rhdh-aks[Installing {product-short} on {aks-short} with the Operator]