Chapter 3. Installing CodeReady Workspaces
Chapter 3. Installing CodeReady Workspaces This section contains instructions to install Red Hat CodeReady Workspaces. The installation method depends on the target platform and the environment restrictions. 3.1. Installing CodeReady Workspaces on OpenShift 4 using OperatorHub This section describes how to install CodeReady Workspaces using the CodeReady Workspaces Operator available in OpenShift 4 web console. Operators are a method of packaging, deploying, and managing an OpenShift application which also provide the following: Repeatability of installation and upgrade. Constant health checks of every system component. Over-the-air (OTA) updates for OpenShift components and independent software vendor (ISV) content. A place to encapsulate knowledge from field engineers and spread it to all users. Prerequisites An administrator account on a running instance of OpenShift 4. 3.1.1. Installing the Red Hat CodeReady Workspaces Operator Red Hat CodeReady Workspaces Operator provides all the resources for running CodeReady Workspaces, such as PostgreSQL, RH-SSO, image registries, and the CodeReady Workspaces server, and it also configures all these services. Prerequisites Access to the OpenShift web console on the cluster. Procedure In the left panel, navigate to the Operators OperatorHub page. In the Filter by keyword field, enter Red Hat CodeReady Workspaces . Click the Red Hat CodeReady Workspaces tile. In the Red Hat CodeReady Workspaces pop-up window, click the Install button. On the Install Operator page, click the Install button. Verification steps To verify that the Red Hat CodeReady Workspaces Operator has installed correctly, in the left panel, navigate to the Operators Installed Operators page. On the Installed Operators page, click the Red Hat CodeReady Workspaces name and navigate to the Details tab. In the ClusterServiceVersion details section, wait for the following messages: Status : Succeeded Status reason : install strategy completed with no errors Navigate to the Events tab and wait for the following message: install strategy completed with no errors . 3.1.2. Creating an instance of the Red Hat CodeReady Workspaces Operator Follow this procedure to install Red Hat CodeReady Workspaces with the default configuration. To modify the configuration, see Chapter 2, Configuring the CodeReady Workspaces installation . Procedure In the left panel, click Operators , then click Installed Operators . On the Installed Operators page, click the Red Hat CodeReady Workspaces name. On the Operator details page, in the Details tab, click the Create instance link in the Provided APIs section. This navigates you to the Create CheCluster page, which contains the configuration needed to create a CodeReady Workspaces instance, stored in the CheCluster Custom Resource. Create the codeready-workspaces cluster by using the Create button at the end of the page using the default values. On the Operator details page, in the Red Hat CodeReady Workspaces Cluster tab, click the codeready-workspaces link. Navigate to the codeready-workspaces instance using the link displayed under the Red Hat CodeReady Workspaces URL output. Note The installation might take more than 5 minutes. The URL appears when the Red Hat CodeReady Workspaces installation finishes. Verification To verify the CodeReady Workspaces instance has installed correctly, navigate to the CodeReady Workspaces Cluster tab of the Operator details page. The CheClusters page displays the list of CodeReady Workspaces instances and their status. Click codeready-workspaces CheCluster and navigate to the Details tab. See the content of the following fields: The Message field contains error messages. The expected content is None . The Red Hat CodeReady Workspaces URL field contains the URL of the Red Hat CodeReady Workspaces instance. The URL appears when the deployment finishes successfully. Navigate to the Resources tab. View the list of resources assigned to the CodeReady Workspaces deployment and their status. Additional resources https://access.redhat.com/documentation/en-us/red_hat_codeready_workspaces/2.15/html-single/end-user_guide/index#navigating-che-using-the-dashboard.adoc . https://access.redhat.com/documentation/en-us/red_hat_codeready_workspaces/2.15/html-single/administration_guide/index#viewing-operator-events.adoc . 3.2. Installing CodeReady Workspaces on OpenShift 4 using the CLI This section describes how to install CodeReady Workspaces on OpenShift 4 with the crwctl CLI management tool. Prerequisites An OpenShift cluster with an administrator account. oc is available. See Getting started with the OpenShift CLI . oc version must match the OpenShift cluster version. You have logged in to OpenShift. See Logging in to the CLI . crwctl is available. See Section 3.3.1, "Installing the crwctl CLI management tool" . Procedure Run the server:deploy command to create the CodeReady Workspaces instance: Verification steps The output of the server:deploy command ends with: Navigate to the CodeReady Workspaces cluster instance: \https://codeready-<openshift_deployment_name>.<domain_name> . 3.3. Installing CodeReady Workspaces on OpenShift Container Platform 3.11 3.3.1. Installing the crwctl CLI management tool This section describes how to install crwctl, the CodeReady Workspaces CLI management tool. Procedure Navigate to https://developers.redhat.com/products/codeready-workspaces/download . Download the CodeReady Workspaces CLI management tool archive for version 2.15. Extract the archive to a folder, such as USDHOME/crwctl or /opt/crwctl . Run the crwctl executable from the extracted folder. In this example, USDHOME/crwctl/bin/crwctl version . Optionally, add the bin folder to your USDPATH , for example, PATH=USDPATH:USDHOME/crwctl/bin to enable running crwctl without the full path specification. Verification step Running crwctl version displays the current version of the tool. 3.3.2. Installing CodeReady Workspaces on OpenShift 3 using the Operator This section describes how to install CodeReady Workspaces on OpenShift 3 with the crwctl CLI management tool. The method of installation is using the Operator and enable TLS (HTTPS). Operators are a method of packaging, deploying, and managing a OpenShift application which also provide the following: Repeatability of installation and upgrade. Constant health checks of every system component. Over-the-air (OTA) updates for OpenShift components and independent software vendor (ISV) content. A place to encapsulate knowledge from field engineers and spread it to all users. Note This approach is only supported for use with OpenShift Container Platform and OpenShift Dedicated version 3.11, but also work for newer versions of OpenShift Container Platform and OpenShift Dedicated, and serves as a backup installation method for situations when the installation method using OperatorHub is not available. Prerequisites Administrator rights on a running instance of OpenShift 3.11. An installation of the oc OpenShift 3.11 CLI management tool. See Installing the OpenShift 3.11 CLI . An installation of the crwctl management tool. See Section 3.3.1, "Installing the crwctl CLI management tool" . To apply settings that the main crwctl command-line parameters cannot set, prepare a configuration file operator-cr-patch.yaml that will override the default values in the CheCluster Custom Resource used by the Operator. See Chapter 2, Configuring the CodeReady Workspaces installation . Use the openshift-workspaces namespace as the default installation project. Configure OpenShift to pull images from registry.redhat.com . See Red Hat Container Registry Authentication . Procedure Log in to OpenShift. See Basic Setup and Login . Run the following command to verify that the version of the oc OpenShift CLI management tool is 3.11: Run the following command to create the CodeReady Workspaces instance in the default project called openshift-workspaces: Verification steps The output of the command ends with: Navigate to the CodeReady Workspaces cluster instance: \https://codeready-<openshift_deployment_name>.<domain_name> . 3.4. Installing CodeReady Workspaces in a restricted environment By default, Red Hat CodeReady Workspaces uses various external resources, mainly container images available in public registries. To deploy CodeReady Workspaces in an environment where these external resources are not available (for example, on a cluster that is not exposed to the public Internet): Identify the image registry used by the OpenShift cluster, and ensure you can push to it. Push all the images needed for running CodeReady Workspaces to this registry. Configure CodeReady Workspaces to use the images that have been pushed to the registry. Proceed to the CodeReady Workspaces installation. The procedure for installing CodeReady Workspaces in restricted environments is different based on the installation method you use: Installation using OperatorHub on Openshift 4.3 and above Installation using the crwctl management tool on both OpenShift 3.11 or 4.x Notes on network connectivity in restricted environments Restricted network environments range from a private subnet in a cloud provider to a separate network owned by a company, disconnected from the public Internet. Regardless of the network configuration, CodeReady Workspaces works provided that the Routes that are created for CodeReady Workspaces components (codeready-workspaces-server, identity provider, devfile and plugin registries) are accessible from inside the OpenShift cluster. Take into account the network topology of the environment to determine how best to accomplish this. For example, on a network owned by a company or an organization, the network administrators must ensure that traffic bound from the cluster can be routed to Route hostnames. In other cases, for example, on AWS, create a proxy configuration allowing the traffic to leave the node to reach an external-facing Load Balancer. When the restricted network involves a proxy, follow the instructions provided in Section 3.4.3, "Preparing CodeReady Workspaces Custom Resource for installing behind a proxy" . 3.4.1. Installing CodeReady Workspaces in a restricted environment using OperatorHub Prerequisites A running OpenShift cluster. See the OpenShift Container Platform 4.3 documentation for instructions on how to install an OpenShift cluster on a restricted network. Access to the mirror registry used to installed the OpenShift disconnected cluster in restricted network. See the Related OpenShift Container Platform 4.3 documentation about creating a mirror registry for installation in a restricted network . On disconnected OpenShift 4 clusters running on restricted networks, an Operator can be successfully installed from OperatorHub only if it meets the additional requirements defined in Enabling your Operator for restricted network environments . The CodeReady Workspaces operator meets these requirements and is therefore compatible with the official documentation about OLM on a restricted network . Procedure To install CodeReady Workspaces from OperatorHub: Build a redhat-operators catalog image. See Building an Operator catalog image . Configure OperatorHub to use this catalog image for operator installations. See Configuring OperatorHub for restricted networks . Proceed to the CodeReady Workspaces installation as usual as described in Section 3.1, "Installing CodeReady Workspaces on OpenShift 4 using OperatorHub" . 3.4.2. Installing CodeReady Workspaces in a restricted environment using CLI management tool Note Use CodeReady Workspaces CLI management tool to install CodeReady Workspaces on restricted networks if installation through OperatorHub is not available. This method is supported for OpenShift Container Platform 3.11. Prerequisites A running OpenShift cluster. See the OpenShift Container Platform 3.11 documentation for instructions on how to install an OpenShift cluster. 3.4.2.1. Preparing an private registry Prerequisites The oc tool is available. The skopeo tool, version 0.1.40 or later, is available. The podman tool is available. An image registry accessible from the OpenShift cluster and supporting the format of the V2 image manifest, schema version 2. Ensure you can push to it from a location having, at least temporarily, access to the internet. Table 3.1. Placeholders used in examples <source-image> Full coordinates of the source image, including registry, organization, and digest. <target-registry> Host name and port of the target container-image registry. <target-organization> Organization in the target container-image registry <target-image> Image name and digest in the target container-image registry. <target-user> User name in the target container-image registry. <target-password> User password in the target container-image registry. Procedure Log into the internal image registry: Note If you encounter an error, like x509: certificate signed by unknown authority , when attempting to push to the internal registry, try one of these workarounds: add the OpenShift cluster's certificate to /etc/containers/certs.d/ <target-registry> add the registry as an insecure registry by adding the following lines to the Podman configuration file located at /etc/containers/registries.conf : Copy images without changing their digest. Repeat this step for every image in the following table: Note Table 3.2. Understanding the usage of the container-images from the prefix or keyword they include in their name Usage Prefix or keyword Essential not stacks- or plugin- Workspaces stacks- , plugin- Table 3.3. Images to copy in the private registry <source-image> <target-image> registry.redhat.io/codeready-workspaces/backup-rhel8@sha256:6b636d6bba6c509756803c4186960ed69adfa2eae42dde5af48b67c6e0794915 backup-rhel8@sha256:6b636d6bba6c509756803c4186960ed69adfa2eae42dde5af48b67c6e0794915 registry.redhat.io/codeready-workspaces/configbump-rhel8@sha256:15574551ec79aa8cd9e0eea3d379fc7a77a4e16cc92f937b4a89c6f9a6f2ce40 configbump-rhel8@sha256:15574551ec79aa8cd9e0eea3d379fc7a77a4e16cc92f937b4a89c6f9a6f2ce40 registry.redhat.io/codeready-workspaces/crw-2-rhel8-operator@sha256:1c8b06e457ba008f86e5fefc82013acdb4639317cde809e926931d202a194a17 crw-2-rhel8-operator@sha256:1c8b06e457ba008f86e5fefc82013acdb4639317cde809e926931d202a194a17 registry.redhat.io/codeready-workspaces/dashboard-rhel8@sha256:e46636f0c66221d9a01506b114e18f3d3afe61da99bf224e71cf4051235e51ac dashboard-rhel8@sha256:e46636f0c66221d9a01506b114e18f3d3afe61da99bf224e71cf4051235e51ac registry.redhat.io/codeready-workspaces/devfileregistry-rhel8@sha256:fdcd72766757f08486a6e4dbf3a24bf084aefdb2e86971c440048aec0315d7e8 devfileregistry-rhel8@sha256:fdcd72766757f08486a6e4dbf3a24bf084aefdb2e86971c440048aec0315d7e8 registry.redhat.io/codeready-workspaces/idea-rhel8@sha256:eff6db1da4c9743ff77b91acf08378bce6a652826b3b252512e63f767de07785 idea-rhel8@sha256:eff6db1da4c9743ff77b91acf08378bce6a652826b3b252512e63f767de07785 registry.redhat.io/codeready-workspaces/jwtproxy-rhel8@sha256:6176e28c4c02f0a40f8192088ccb505ce5722258bcaab0addff9bafa310c1ca4 jwtproxy-rhel8@sha256:6176e28c4c02f0a40f8192088ccb505ce5722258bcaab0addff9bafa310c1ca4 registry.redhat.io/codeready-workspaces/machineexec-rhel8@sha256:dc0e082c9522158cb12345b1d184c3803d8a4a63a7189940e853e51557e43acf machineexec-rhel8@sha256:dc0e082c9522158cb12345b1d184c3803d8a4a63a7189940e853e51557e43acf registry.redhat.io/codeready-workspaces/plugin-java11-rhel8@sha256:315273182e1f4dc884365fc3330ada3937b40369f3faf7762847ec433c3ac537 plugin-java11-rhel8@sha256:315273182e1f4dc884365fc3330ada3937b40369f3faf7762847ec433c3ac537 registry.redhat.io/codeready-workspaces/plugin-java8-rhel8@sha256:8cb1e495825051b83cf903bb317e55823a6f57b3bad92e9407dc8fa59c24c0cc plugin-java8-rhel8@sha256:8cb1e495825051b83cf903bb317e55823a6f57b3bad92e9407dc8fa59c24c0cc registry.redhat.io/codeready-workspaces/plugin-kubernetes-rhel8@sha256:75fe8823dea867489b68169b764dc8b0b03290a456e9bfec5fe0cc413eec7355 plugin-kubernetes-rhel8@sha256:75fe8823dea867489b68169b764dc8b0b03290a456e9bfec5fe0cc413eec7355 registry.redhat.io/codeready-workspaces/plugin-openshift-rhel8@sha256:d7603582f7ace76283641809b0c61dbcb78621735e536b789428e5a910d35af3 plugin-openshift-rhel8@sha256:d7603582f7ace76283641809b0c61dbcb78621735e536b789428e5a910d35af3 registry.redhat.io/codeready-workspaces/pluginbroker-artifacts-rhel8@sha256:6d13003539fcbda201065eae2e66dc67fed007ba3ba41fb3b8ec841650c52bc2 pluginbroker-artifacts-rhel8@sha256:6d13003539fcbda201065eae2e66dc67fed007ba3ba41fb3b8ec841650c52bc2 registry.redhat.io/codeready-workspaces/pluginbroker-metadata-rhel8@sha256:de8ede01ce5d3b06ae8b1866bb482bb937f020f7dee5dfb20b041f02c1e63f68 pluginbroker-metadata-rhel8@sha256:de8ede01ce5d3b06ae8b1866bb482bb937f020f7dee5dfb20b041f02c1e63f68 registry.redhat.io/codeready-workspaces/pluginregistry-rhel8@sha256:cbb82d5bcea22d6d65644c2a4c88ce1e3a082e8a696217d6a104b67daa60384e pluginregistry-rhel8@sha256:cbb82d5bcea22d6d65644c2a4c88ce1e3a082e8a696217d6a104b67daa60384e registry.redhat.io/codeready-workspaces/server-rhel8@sha256:e1694549ca2af22a1d1780cc7d92bb0829a411f74377f825eab3e0fba7c020d9 server-rhel8@sha256:e1694549ca2af22a1d1780cc7d92bb0829a411f74377f825eab3e0fba7c020d9 registry.redhat.io/codeready-workspaces/stacks-cpp-rhel8@sha256:c2f38140f52112b2a7688c2a179afcaa930ad6216925eb322cfd9634a71cfc13 stacks-cpp-rhel8@sha256:c2f38140f52112b2a7688c2a179afcaa930ad6216925eb322cfd9634a71cfc13 registry.redhat.io/codeready-workspaces/stacks-dotnet-rhel8@sha256:f48fe1caa5be1ae91140681bee159ca8b11dc687fa50fbf9dc5644f4852bf5c8 stacks-dotnet-rhel8@sha256:f48fe1caa5be1ae91140681bee159ca8b11dc687fa50fbf9dc5644f4852bf5c8 registry.redhat.io/codeready-workspaces/stacks-golang-rhel8@sha256:db76d04752973223e2c0de9401ebf06b84263e1bb6d29f1455daaff0cb39c1b3 stacks-golang-rhel8@sha256:db76d04752973223e2c0de9401ebf06b84263e1bb6d29f1455daaff0cb39c1b3 registry.redhat.io/codeready-workspaces/stacks-php-rhel8@sha256:d120c41ee8dd80fb960dd4c1657bede536d32f13f3c3ca84e986a830ec2ead3b stacks-php-rhel8@sha256:d120c41ee8dd80fb960dd4c1657bede536d32f13f3c3ca84e986a830ec2ead3b registry.redhat.io/codeready-workspaces/theia-endpoint-rhel8@sha256:5d26cf000924716d8d03969121a4c636e7fc8ef08aa21148eafa28a2c4aeaff7 theia-endpoint-rhel8@sha256:5d26cf000924716d8d03969121a4c636e7fc8ef08aa21148eafa28a2c4aeaff7 registry.redhat.io/codeready-workspaces/theia-rhel8@sha256:6000d00ef1029583642c01fec588f92addb95f16d56d0c23991a8f19314b0f06 theia-rhel8@sha256:6000d00ef1029583642c01fec588f92addb95f16d56d0c23991a8f19314b0f06 registry.redhat.io/codeready-workspaces/traefik-rhel8@sha256:70215465e2ad65a61d1b5401378532a3a10aa60afdda0702fb6061d89b8ba3be traefik-rhel8@sha256:70215465e2ad65a61d1b5401378532a3a10aa60afdda0702fb6061d89b8ba3be registry.redhat.io/devworkspace/devworkspace-rhel8-operator@sha256:3f96fb70c3f56dea3384ea31b9252a5c6aca8e0f33dc53be590f134912244078 devworkspacedevworkspace-rhel8-operator@sha256:3f96fb70c3f56dea3384ea31b9252a5c6aca8e0f33dc53be590f134912244078 registry.redhat.io/jboss-eap-7/eap-xp3-openjdk11-openshift-rhel8@sha256:bb3072afdbf31ddd1071fea37ed5308db3bf8a2478b5aa5aff8373e8042d6aeb eap-xp3-openjdk11-openshift-rhel8@sha256:bb3072afdbf31ddd1071fea37ed5308db3bf8a2478b5aa5aff8373e8042d6aeb registry.redhat.io/jboss-eap-7/eap74-openjdk8-openshift-rhel7@sha256:b4a113c4d4972d142a3c350e2006a2b297dc883f8ddb29a88db19c892358632d eap74-openjdk8-openshift-rhel7@sha256:b4a113c4d4972d142a3c350e2006a2b297dc883f8ddb29a88db19c892358632d registry.redhat.io/openshift4/ose-kube-rbac-proxy@sha256:1dc542b5ab33368443f698305a90c617385b4e9b101acc4acc0aa7b4bf58a292 openshift4ose-kube-rbac-proxy@sha256:1dc542b5ab33368443f698305a90c617385b4e9b101acc4acc0aa7b4bf58a292 registry.redhat.io/openshift4/ose-oauth-proxy@sha256:83988048d5f585ca936442963e23b77520e1e4d8c3d5b8160e43ae834a24b720 openshift4ose-oauth-proxy@sha256:83988048d5f585ca936442963e23b77520e1e4d8c3d5b8160e43ae834a24b720 registry.redhat.io/rh-sso-7/sso75-openshift-rhel8@sha256:dd4ea229521fb58dda7e547ea6db993156f4c61aa8a00f2fd1375bb77168b6e6 sso75-openshift-rhel8@sha256:dd4ea229521fb58dda7e547ea6db993156f4c61aa8a00f2fd1375bb77168b6e6 registry.redhat.io/rhel8/postgresql-13@sha256:6032adb3eac903ee8aa61f296ca9aaa57f5709e5673504b609222e042823f195 postgresql-13@sha256:6032adb3eac903ee8aa61f296ca9aaa57f5709e5673504b609222e042823f195 registry.redhat.io/rhel8/postgresql-96@sha256:314747a4a64ac16c33ead6a34479dccf16b9a07abf440ea7eeef7cda4cd19e32 postgresql-96@sha256:314747a4a64ac16c33ead6a34479dccf16b9a07abf440ea7eeef7cda4cd19e32 registry.redhat.io/rhscl/mongodb-36-rhel7@sha256:9f799d356d7d2e442bde9d401b720600fd9059a3d8eefea6f3b2ffa721c0dc73 mongodb-36-rhel7@sha256:9f799d356d7d2e442bde9d401b720600fd9059a3d8eefea6f3b2ffa721c0dc73 registry.redhat.io/ubi8/ubi-minimal@sha256:2e4bbb2be6e7aff711ddc93f0b07e49c93d41e4c2ffc8ea75f804ad6fe25564e ubi8ubi-minimal@sha256:2e4bbb2be6e7aff711ddc93f0b07e49c93d41e4c2ffc8ea75f804ad6fe25564e Verification steps Verify the images have the same digests: Additional resources To find the sources of the images list, see the values of the relatedImages attribute in the link: - CodeReady Workspaces Operator ClusterServiceVersion sources . 3.4.2.2. Preparing CodeReady Workspaces Custom Resource for restricted environment When installing CodeReady Workspaces in a restricted environment using crwctl or OperatorHub, provide a CheCluster custom resource with additional information. 3.4.2.2.1. Downloading the default CheCluster Custom Resource Procedure Download the default custom resource YAML file . Name the downloaded custom resource org_v1_che_cr.yaml . Keep it for further modification and usage. 3.4.2.2.2. Customizing the CheCluster Custom Resource for restricted environment Prerequisites All required images available in an image registry that is visible to the OpenShift cluster where CodeReady Workspaces is to be deployed. This is described in Section 3.4.2.1, "Preparing an private registry" , where the placeholders used in the following examples are also defined. Procedure In the CheCluster Custom Resource, which is managed by the CodeReady Workspaces Operator, add the fields used to facilitate deploying an instance of CodeReady Workspaces in a restricted environment: # [...] spec: server: airGapContainerRegistryHostname: ' <target-registry> ' airGapContainerRegistryOrganization: ' <target-organization> ' # [...] 3.4.2.3. Starting CodeReady Workspaces installation in a restricted environment using CodeReady Workspaces CLI management tool This sections describes how to start the CodeReady Workspaces installation in a restricted environment using the CodeReady Workspaces CLI management tool. Prerequisites CodeReady Workspaces CLI management tool is installed. See Section 3.3.1, "Installing the crwctl CLI management tool" . The oc tool is installed. Access to an OpenShift instance. Procedure Log in to OpenShift Container Platform: Install CodeReady Workspaces with a customized Custom Resource to add fields related to the restricted environment: Note For slow systems or internet connections, add the --k8spodwaittimeout=1800000 flag option to the crwctl server:start command to extend the Pod timeout period to 1800000 ms or longer. 3.4.3. Preparing CodeReady Workspaces Custom Resource for installing behind a proxy This procedure describes how to provide necessary additional information to the CheCluster custom resource when installing CodeReady Workspaces behind a proxy. Procedure In the CheCluster Custom Resource, which is managed by the CodeReady Workspaces Operator, add the fields used to facilitate deploying an instance of CodeReady Workspaces in a restricted environment: # [...] spec: server: proxyURL: ' <URL of the proxy, with the http protocol, and without the port> ' proxyPort: ' <Port of proxy, typically 3128> ' # [...] In addition to those basic settings, the proxy configuration usually requires adding the host of the external OpenShift cluster API URL in the list of the hosts to be accessed from CodeReady Workspaces without using the proxy. To retrieve this cluster API host, run the following command against the OpenShift cluster: The corresponding field of the CheCluster Custom Resource is nonProxyHosts . If a host already exists in this field, use | as a delimiter to add the cluster API host: # [...] spec: server: nonProxyHosts: 'anotherExistingHost|<cluster api host>' # [...]
crwctl server:deploy -n openshift-workspaces Command server:deploy has completed successfully. oc login oc version v3.11.0+0cbc58b crwctl server:deploy -p openshift Command server:deploy has completed successfully. podman login --username <user> --password <password> <target-registry> [registries.insecure] registries = [' <target-registry> '] skopeo copy --all docker:// <source-image> docker:// <target-registry> / <target-organization> / <target-image> skopeo inspect docker:// <source-image> skopeo inspect docker:// <target-registry> / <target-organization> / <target-image> [...] spec: server: airGapContainerRegistryHostname: ' <target-registry> ' airGapContainerRegistryOrganization: ' <target-organization> ' [...] oc login USD{OPENSHIFT_API_URL} --username USD{OPENSHIFT_USERNAME} --password USD{OPENSHIFT_PASSWORD} crwctl server:start --che-operator-image=<target-registry>/<target-organization>/crw-2-rhel8-operator:2.15 --che-operator-cr-yaml=org_v1_che_cr.yaml [...] spec: server: proxyURL: ' <URL of the proxy, with the http protocol, and without the port> ' proxyPort: ' <Port of proxy, typically 3128> ' [...] oc whoami --show-server | sed 's#https://##' | sed 's#:.*USD##' [...] spec: server: nonProxyHosts: 'anotherExistingHost|<cluster api host>' [...]