diff --git a/modules/install/nav.adoc b/modules/install/nav.adoc index f208e6a9c1..67c5226895 100644 --- a/modules/install/nav.adoc +++ b/modules/install/nav.adoc @@ -7,26 +7,28 @@ ** xref:running-at-scale.adoc[] ** xref:installing-the-chectl-management-tool.adoc[] // Installing -* xref:installing-che.adoc[] -** Deploy on OpenShift -*** xref:proc_installing-che-on-openshift-using-cli.adoc[] -*** xref:proc_installing-che-on-openshift-using-the-web-console.adoc[] -*** xref:proc_installing-che-on-openshift-with-keycloak-as-oidc.adoc[] -** Deploy on {kubernetes} -*** xref:installing-che-on-microsoft-azure.adoc[] -*** xref:installing-che-on-amazon-elastic-kubernetes-service.adoc[] -*** xref:proc_installing-che-on-the-virtual-kubernetes-cluster.adoc[] -** Deploy locally -*** xref:proc_installing-che-on-red-hat-openshift-local.adoc[] -*** xref:proc_installing-che-on-minikube.adoc[] -*** xref:proc_installing-che-on-minikube-keycloak-oidc.adoc[] -** Deploy in a restricted environment -*** xref:proc_installing-che-in-a-restricted-environment.adoc[] -** xref:using-chectl-to-configure-the-checluster-custom-resource-during-installation.adoc[] -** xref:proc_finding-the-fully-qualified-domain-name-fqdn.adoc[] -** Permissions -*** xref:ref_permissions-to-install-che-on-openshift-using-cli.adoc[] -*** xref:ref_permissions-to-install-che-on-openshift-using-the-web-console.adoc[] +* Deploy using GitOps +** xref:proc_deploying-che-using-gitops.adoc[] +** xref:proc_deploying-che-using-gitops-in-a-restricted-environment.adoc[] +* Deploy on OpenShift +** xref:proc_installing-che-on-openshift-using-cli.adoc[] +** xref:proc_installing-che-on-openshift-using-the-web-console.adoc[] +** xref:proc_installing-che-on-openshift-with-keycloak-as-oidc.adoc[] +* Deploy on {kubernetes} +** xref:installing-che-on-microsoft-azure.adoc[] +** xref:installing-che-on-amazon-elastic-kubernetes-service.adoc[] +** xref:proc_installing-che-on-the-virtual-kubernetes-cluster.adoc[] +* Deploy locally +** xref:proc_installing-che-on-red-hat-openshift-local.adoc[] +** xref:proc_installing-che-on-minikube.adoc[] +** xref:proc_installing-che-on-minikube-keycloak-oidc.adoc[] +* Deploy in a restricted environment +** xref:proc_installing-che-in-a-restricted-environment.adoc[] +* xref:using-chectl-to-configure-the-checluster-custom-resource-during-installation.adoc[] +* xref:proc_finding-the-fully-qualified-domain-name-fqdn.adoc[] +* Permissions +** xref:ref_permissions-to-install-che-on-openshift-using-cli.adoc[] +** xref:ref_permissions-to-install-che-on-openshift-using-the-web-console.adoc[] * xref:proc_verifying-the-installation.adoc[] * xref:con_next-steps-after-installation.adoc[] * xref:proc_uninstalling-che.adoc[] diff --git a/modules/install/pages/calculating-che-resource-requirements.adoc b/modules/install/pages/calculating-che-resource-requirements.adoc index db1c56602c..4ec7411f06 100644 --- a/modules/install/pages/calculating-che-resource-requirements.adoc +++ b/modules/install/pages/calculating-che-resource-requirements.adoc @@ -11,6 +11,8 @@ [role="_abstract"] Calculate the CPU and memory requirements for the {prod-short} Operator, {devworkspace} Controller, and user workspaces. Accurate resource estimates ensure your cluster can handle the expected number of concurrent users without performance issues. +include::partial$snip_persona-admin.adoc[] + The {prod-short} Operator, {devworkspace} Controller, and user workspaces consist of a set of pods. The pods contribute to the resource consumption in CPU and memory limits and requests. diff --git a/modules/install/pages/con_installation-overview.adoc b/modules/install/pages/con_installation-overview.adoc index d9a3d0df7f..c91f228f91 100644 --- a/modules/install/pages/con_installation-overview.adoc +++ b/modules/install/pages/con_installation-overview.adoc @@ -9,27 +9,33 @@ [role="_abstract"] {prod-short} deploys on {orch-name} as an Operator that manages a gateway, dashboard, server, and plug-in registry. The installation method you choose — CLI or web console — depends on your cluster environment, security requirements, and need for configuration control. +include::partial$snip_persona-admin.adoc[] + {prod-short} consists of an Operator, a user dashboard, a gateway, and a plug-in registry. The Operator manages the full lifecycle of all server components. You deploy {prod-short} by installing the Operator and creating a `CheCluster` custom resource. == Installation methods -{prod-short} supports two installation methods: +Argo CD (GitOps):: Store the Operator subscription and `CheCluster` configuration in a Git repository and let Argo CD reconcile the deployment. Choose this method for production deployments where every configuration change must be tracked in Git, auditable, and automatically reconciled. -`{prod-cli}` command-line tool:: Install and manage {prod-short} from the command line. This method provides the most control over the installation process and supports advanced configuration options during deployment. +`{prod-cli}` command-line tool:: Install and manage {prod-short} from the command line. Choose this method when you need to quickly deploy {prod-short} for evaluation or manage it from scripts. {orch-name} web console:: Install the {prod} Operator from OperatorHub and create a `CheCluster` instance through the web console. This method uses the standard {orch-name} Operator installation workflow. == Deployment scenarios -Standard installation:: Deploy {prod-short} on an {orch-name} cluster with internet access. Both the CLI and web console methods are available. +Standard installation:: Deploy {prod-short} on a cluster with internet access. All installation methods are available. + +GitOps deployment:: Your organization manages cluster configuration declaratively through Argo CD. Store the Operator subscription and `CheCluster` configuration in a Git repository and let Argo CD reconcile the desired state. Available for both connected and air-gapped clusters. -Restricted environment:: Deploy {prod-short} on an air-gapped or disconnected {orch-name} cluster. This scenario requires mirroring container images to a private registry before installation. +Restricted environment:: Deploy {prod-short} on an air-gapped or disconnected cluster. This scenario requires mirroring container images to a private registry before installation. Both GitOps and CLI methods are available. External identity provider:: Deploy {prod-short} with {keycloak} as an external OpenID Connect (OIDC) identity provider instead of the default {orch-name} OAuth. This scenario applies when you need to integrate with an existing identity management system. .Additional resources +* xref:proc_deploying-che-using-gitops.adoc[] * xref:proc_installing-che-on-openshift-using-cli.adoc[] * xref:proc_installing-che-on-openshift-using-the-web-console.adoc[] +* xref:proc_deploying-che-using-gitops-in-a-restricted-environment.adoc[] * xref:proc_installing-che-in-a-restricted-environment.adoc[] * xref:proc_installing-che-on-openshift-with-keycloak-as-oidc.adoc[] diff --git a/modules/install/pages/con_next-steps-after-installation.adoc b/modules/install/pages/con_next-steps-after-installation.adoc index e554ee453a..b4134be963 100644 --- a/modules/install/pages/con_next-steps-after-installation.adoc +++ b/modules/install/pages/con_next-steps-after-installation.adoc @@ -9,6 +9,8 @@ [role="_abstract"] After a successful installation, a few configuration tasks remain before your team can start using {prod-short} — customizing the `CheCluster` resource, connecting Git providers, and verifying end-to-end functionality with a first workspace. +include::partial$snip_persona-admin.adoc[] + * Configure the `CheCluster` custom resource to customize {prod-short} behavior. * Configure OAuth for Git providers so that users can interact with remote Git repositories. * Create your first workspace from a Git repository URL. diff --git a/modules/install/pages/installing-che-on-amazon-elastic-kubernetes-service.adoc b/modules/install/pages/installing-che-on-amazon-elastic-kubernetes-service.adoc index e179cdc752..10f0df07ed 100644 --- a/modules/install/pages/installing-che-on-amazon-elastic-kubernetes-service.adoc +++ b/modules/install/pages/installing-che-on-amazon-elastic-kubernetes-service.adoc @@ -9,6 +9,8 @@ [role="_abstract"] To provide cloud development environments on AWS, deploy {prod-short} on an Amazon EKS cluster by configuring DNS, TLS certificates, and Keycloak as the OIDC identity provider. +include::partial$snip_persona-admin.adoc[] + .Prerequisites * You have `helm` installed. See link:https://helm.sh/docs/intro/install/[Installing Helm]. diff --git a/modules/install/pages/installing-che-on-microsoft-azure.adoc b/modules/install/pages/installing-che-on-microsoft-azure.adoc index e52f031ae6..2e77b55651 100644 --- a/modules/install/pages/installing-che-on-microsoft-azure.adoc +++ b/modules/install/pages/installing-che-on-microsoft-azure.adoc @@ -9,6 +9,8 @@ [role="_abstract"] To provide cloud development environments on Microsoft Azure, deploy {prod-short} on an AKS cluster by configuring DNS, TLS certificates, and Keycloak as the OIDC identity provider. +include::partial$snip_persona-admin.adoc[] + .Prerequisites * You have `helm` installed. See link:https://helm.sh/docs/intro/install/[Installing Helm]. diff --git a/modules/install/pages/installing-the-chectl-management-tool.adoc b/modules/install/pages/installing-the-chectl-management-tool.adoc index 72c6f57b7c..1785c9b191 100644 --- a/modules/install/pages/installing-the-chectl-management-tool.adoc +++ b/modules/install/pages/installing-the-chectl-management-tool.adoc @@ -11,6 +11,8 @@ [role="_abstract"] Install `{prod-cli}`, the {prod} CLI management tool, on Linux, macOS, or Windows. The `{prod-cli}` tool lets you deploy, update, and manage {prod-short} from the command line. +include::partial$snip_persona-admin.adoc[] + include::example$proc_{project-context}-installing-the-chectl-management-tool-on-windows.adoc[leveloffset=+1] include::example$proc_{project-context}-installing-the-chectl-management-tool-on-linux-or-macos.adoc[leveloffset=+1] diff --git a/modules/install/pages/proc_deploying-che-using-gitops-in-a-restricted-environment.adoc b/modules/install/pages/proc_deploying-che-using-gitops-in-a-restricted-environment.adoc new file mode 100644 index 0000000000..a4d5882e4a --- /dev/null +++ b/modules/install/pages/proc_deploying-che-using-gitops-in-a-restricted-environment.adoc @@ -0,0 +1,224 @@ +:_content-type: PROCEDURE +:description: Deploy {prod-short} in a restricted network through Argo CD by mirroring the required container images to a private registry and storing the deployment manifests in an internal Git repository. +:keywords: install, gitops, argo cd, air-gapped, restricted, disconnected +:navtitle: Deploy in a restricted environment using GitOps + +[id="deploying-che-using-gitops-in-a-restricted-environment"] += Deploy in a restricted environment using GitOps + +[role="_abstract"] +Deploy {prod-short} in a restricted network through Argo CD by mirroring the required container images to a private registry and storing the deployment manifests in an internal Git repository. + +include::partial$snip_persona-admin.adoc[] + +In a disconnected environment, the cluster cannot pull images from public registries or sync from external Git repositories. You mirror the required images to an internal registry, store the {prod-short} manifests in an internal Git repository, and let Argo CD reconcile the deployment from inside the network. + +.Prerequisites + +* You have a {kubernetes} or {orch-name} cluster operating on a restricted network with administrative access. + +* You have mirrored the required {prod-short} container images and Operator catalogs to a private registry. See xref:proc_installing-che-in-a-restricted-environment.adoc[]. + +* You have an `ImageContentSourcePolicy` or `ImageDigestMirrorSet` configured to redirect image pulls to your private registry. + +* You have Argo CD installed on the cluster. See link:https://argo-cd.readthedocs.io/en/stable/getting_started/[Argo CD Getting Started]. + +* You have an active `{orch-cli}` session with administrative permissions to the cluster. + +* You have an internal Git repository accessible from the cluster. + +.Procedure + +. In your internal Git repository, create a directory for the {prod-short} manifests with three files: the Operator subscription, the `CheCluster` custom resource, and a Kustomize configuration. ++ +.Repository structure +[source,subs="+quotes"] +---- +____/ +└── che/ + ├── subscription.yaml + ├── checluster.yaml + └── kustomization.yaml +---- + +. Create the `subscription.yaml` file with the namespace and Operator subscription pointing to the disconnected catalog source: ++ +[source,yaml,subs="+attributes,+quotes"] +---- +apiVersion: v1 +kind: Namespace +metadata: + name: {prod-namespace} +--- +apiVersion: operators.coreos.com/v1alpha1 +kind: Subscription +metadata: + name: {prod-operator-package-name} + namespace: openshift-operators +spec: + channel: {prod-stable-channel} + installPlanApproval: Automatic + name: {prod-operator-package-name} + source: {prod-operator-package-name}-disconnected-install + sourceNamespace: openshift-marketplace +---- ++ +The `source` field points to the disconnected catalog source created by the mirroring script. + +. Create the `checluster.yaml` file with the {prod-short} instance configuration pointing to your private registry: ++ +[source,yaml,subs="+attributes,+quotes"] +---- +apiVersion: org.eclipse.che/v2 +kind: CheCluster +metadata: + name: {prod-checluster} + namespace: {prod-namespace} +spec: + components: + cheServer: + debug: false + logLevel: INFO + metrics: + enable: true + pluginRegistry: + openVSXURL: "" + containerRegistry: + hostname: ____ + organization: ____ + devEnvironments: + startTimeoutSeconds: 600 + defaultEditor: che-incubator/che-code/latest + defaultNamespace: + autoProvision: true + template: -{prod-id-short} + storage: + pvcStrategy: per-user +---- ++ +`containerRegistry.hostname`:: The hostname of your private container registry that holds the mirrored images. +`containerRegistry.organization`:: The organization or project path in your private registry. +`pluginRegistry.openVSXURL`:: Set to an empty string to disable external Open VSX access. Use an internal Open VSX instance if IDE extensions are required. +`startTimeoutSeconds`:: Increased to 600 seconds to allow for slower image pulls from internal registries. + +. Create the `kustomization.yaml` file: ++ +[source,yaml] +---- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - subscription.yaml + - checluster.yaml +---- + +. Commit and push the files to your internal Git repository. + +. Grant the Argo CD service account the permissions required to create namespaces and install Operators: ++ +[source,bash,subs="+attributes,+quotes"] +---- +$ {orch-cli} apply -f - <__ + targetRevision: main + path: che + destination: + server: https://kubernetes.default.svc + syncPolicy: + automated: + selfHeal: true + prune: true + retry: + limit: 10 + backoff: + duration: 30s + factor: 2 + maxDuration: 5m + syncOptions: + - CreateNamespace=true + - ServerSideApply=true + - SkipDryRunOnMissingResource=true +EOF +---- + +. Wait for Argo CD to sync the resources. In a restricted environment, the Operator installation takes longer because images are pulled from the internal registry. + +.Verification + +. Verify that the Argo CD Application reports `Synced` and `Healthy`: ++ +[source,bash,subs="+attributes"] +---- +$ {orch-cli} get application {prod-id-short} -n argocd \ + -o jsonpath='{.status.sync.status}{" "}{.status.health.status}' +---- ++ +Expected output: `Synced Healthy` + +. Verify that the `CheCluster` is active: ++ +[source,bash,subs="+attributes"] +---- +$ {orch-cli} get checluster {prod-checluster} -n {prod-namespace} \ + -o jsonpath='{.status.chePhase}' +---- ++ +Expected output: `Active` + +. Retrieve the {prod-short} dashboard URL and open it in a browser: ++ +[source,bash,subs="+attributes"] +---- +$ {orch-cli} get checluster {prod-checluster} -n {prod-namespace} \ + -o jsonpath='{.status.cheURL}' +---- + +.Troubleshooting + +* *Image pull errors*: Verify that all required images are mirrored to your private registry and that the `ImageContentSourcePolicy` or `ImageDigestMirrorSet` is configured correctly. + +* *Sync fails with "CheCluster CRD not found"*: Verify that the Argo CD Application includes `SkipDryRunOnMissingResource=true` in the `syncOptions`. + +* *Sync retries but CheCluster is not created*: The Operator may still be installing. Wait for the ClusterServiceVersion to reach `Succeeded`: ++ +[source,bash,subs="+attributes"] +---- +$ {orch-cli} get csv -A | grep {prod-operator-package-name} +---- + +.Additional resources + +* xref:proc_deploying-che-using-gitops.adoc[] +* xref:proc_installing-che-in-a-restricted-environment.adoc[] +* link:https://argo-cd.readthedocs.io/en/stable/getting_started/[Argo CD Getting Started] diff --git a/modules/install/pages/proc_deploying-che-using-gitops.adoc b/modules/install/pages/proc_deploying-che-using-gitops.adoc new file mode 100644 index 0000000000..6581c2d114 --- /dev/null +++ b/modules/install/pages/proc_deploying-che-using-gitops.adoc @@ -0,0 +1,214 @@ +:_content-type: PROCEDURE +:description: Deploy {prod-short} declaratively through Argo CD so that every configuration change is tracked in Git, auditable, and automatically reconciled on the cluster. +:keywords: install, gitops, argo cd, declarative, deployment +:navtitle: Deploy using GitOps and Argo CD + +[id="deploying-che-using-gitops"] += Deploy using GitOps and Argo CD + +[role="_abstract"] +Deploy {prod-short} declaratively through Argo CD so that every configuration change is tracked in Git, auditable, and automatically reconciled on the cluster. + +include::partial$snip_persona-admin.adoc[] + +With this method, you store the Operator subscription and `CheCluster` configuration in a Git repository. Argo CD monitors the repository and applies changes to the cluster automatically. You manage {prod-short} through Git commits instead of direct cluster commands. + +.Prerequisites + +* You have a {kubernetes} or {orch-name} cluster with administrative access. + +* You have Argo CD installed on the cluster. See link:https://argo-cd.readthedocs.io/en/stable/getting_started/[Argo CD Getting Started]. + +* You have an active `{orch-cli}` session with administrative permissions to the cluster. + +* You have a Git repository accessible from the cluster (GitHub, GitLab, Bitbucket, or an internal Git server). + +.Procedure + +. In your Git repository, create a directory for the {prod-short} manifests. The directory contains three files: the Operator subscription, the `CheCluster` custom resource, and a Kustomize configuration. ++ +.Repository structure +[source,subs="+quotes"] +---- +____/ +└── che/ + ├── subscription.yaml + ├── checluster.yaml + └── kustomization.yaml +---- + +. Create the `subscription.yaml` file with the namespace and Operator subscription: ++ +[source,yaml,subs="+attributes"] +---- +apiVersion: v1 +kind: Namespace +metadata: + name: {prod-namespace} +--- +apiVersion: operators.coreos.com/v1alpha1 +kind: Subscription +metadata: + name: {prod-operator-package-name} + namespace: openshift-operators +spec: + channel: {prod-stable-channel} + installPlanApproval: Automatic + name: {prod-operator-package-name} + source: {prod-stable-channel-catalog-source} + sourceNamespace: openshift-marketplace +---- ++ +NOTE: On {kubernetes} clusters without OLM, install the {prod-short} Operator using Helm or `{prod-cli}` instead of a `Subscription`. + +. Create the `checluster.yaml` file with the {prod-short} instance configuration: ++ +[source,yaml,subs="+attributes"] +---- +apiVersion: org.eclipse.che/v2 +kind: CheCluster +metadata: + name: {prod-checluster} + namespace: {prod-namespace} +spec: + components: + cheServer: + debug: false + logLevel: INFO + metrics: + enable: true + pluginRegistry: + openVSXURL: https://open-vsx.org + devEnvironments: + startTimeoutSeconds: 300 + defaultEditor: che-incubator/che-code/latest + defaultNamespace: + autoProvision: true + template: -{prod-id-short} + storage: + pvcStrategy: per-user +---- + +. Create the `kustomization.yaml` file: ++ +[source,yaml] +---- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - subscription.yaml + - checluster.yaml +---- + +. Commit and push the files to your Git repository. + +. Grant the Argo CD service account the permissions required to create namespaces and install Operators: ++ +[source,bash,subs="+attributes,+quotes"] +---- +$ {orch-cli} apply -f - <__ + targetRevision: main + path: che + destination: + server: https://kubernetes.default.svc + syncPolicy: + automated: + selfHeal: true + prune: true + retry: + limit: 10 + backoff: + duration: 30s + factor: 2 + maxDuration: 5m + syncOptions: + - CreateNamespace=true + - ServerSideApply=true + - SkipDryRunOnMissingResource=true +EOF +---- ++ +`SkipDryRunOnMissingResource`:: Required because the `CheCluster` custom resource definition (CRD) does not exist until the Operator installs it. This option tells Argo CD to skip validation for unknown resource types and apply them directly. ++ +`selfHeal`:: Reverts manual changes on the cluster to match the Git repository state. + +. Wait for Argo CD to sync the resources. The Operator installs first, registers the `CheCluster` CRD, and then Argo CD applies the `CheCluster` custom resource. + +.Verification + +. Verify that the Argo CD Application reports `Synced` and `Healthy`: ++ +[source,bash,subs="+attributes"] +---- +$ {orch-cli} get application {prod-id-short} -n argocd \ + -o jsonpath='{.status.sync.status}{" "}{.status.health.status}' +---- ++ +Expected output: `Synced Healthy` + +. Verify that the `CheCluster` is active: ++ +[source,bash,subs="+attributes"] +---- +$ {orch-cli} get checluster {prod-checluster} -n {prod-namespace} \ + -o jsonpath='{.status.chePhase}' +---- ++ +Expected output: `Active` + +. Retrieve the {prod-short} dashboard URL and open it in a browser: ++ +[source,bash,subs="+attributes"] +---- +$ {orch-cli} get checluster {prod-checluster} -n {prod-namespace} \ + -o jsonpath='{.status.cheURL}' +---- + +.Troubleshooting + +* *Sync fails with "CheCluster CRD not found"*: Verify that the Argo CD Application includes `SkipDryRunOnMissingResource=true` in the `syncOptions`. + +* *Sync retries but CheCluster is not created*: The Operator may still be installing. Wait for the ClusterServiceVersion to reach `Succeeded`: ++ +[source,bash,subs="+attributes"] +---- +$ {orch-cli} get csv -A | grep {prod-operator-package-name} +---- + +.Additional resources + +* link:https://argo-cd.readthedocs.io/en/stable/getting_started/[Argo CD Getting Started] +* link:https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/[Argo CD sync options] +* xref:administration-guide:understanding-the-checluster-custom-resource.adoc[] diff --git a/modules/install/pages/proc_finding-the-fully-qualified-domain-name-fqdn.adoc b/modules/install/pages/proc_finding-the-fully-qualified-domain-name-fqdn.adoc index 9baea25bd1..2f9fa847f7 100644 --- a/modules/install/pages/proc_finding-the-fully-qualified-domain-name-fqdn.adoc +++ b/modules/install/pages/proc_finding-the-fully-qualified-domain-name-fqdn.adoc @@ -10,6 +10,8 @@ [role="_abstract"] Retrieve the {prod-short} dashboard URL from the `CheCluster` custom resource. You need this URL to open the dashboard in a browser or share the endpoint with your development team. +include::partial$snip_persona-admin.adoc[] + [TIP] ==== You can find the FQDN for your organization's {prod-short} instance in the *Administrator* view of the {orch-name} web console as follows. Go to *Operators* -> *Installed Operators* -> *{prod} instance Specification* -> *{prod-checluster}* -> *{prod} URL*. diff --git a/modules/install/pages/proc_installing-che-in-a-restricted-environment.adoc b/modules/install/pages/proc_installing-che-in-a-restricted-environment.adoc index c4d0723fc6..b3947dcfef 100644 --- a/modules/install/pages/proc_installing-che-in-a-restricted-environment.adoc +++ b/modules/install/pages/proc_installing-che-in-a-restricted-environment.adoc @@ -10,6 +10,8 @@ [role="_abstract"] Deploy {prod-short} on an air-gapped {orch-name} cluster by mirroring the required container images and Operator catalogs to a private registry. This procedure covers the additional steps needed when the cluster has no direct internet access. +include::partial$snip_persona-admin.adoc[] + On a restricted network, deploying {prod-short} and running workspaces requires the following public resources: * Operator catalog diff --git a/modules/install/pages/proc_installing-che-on-minikube-keycloak-oidc.adoc b/modules/install/pages/proc_installing-che-on-minikube-keycloak-oidc.adoc index 2d1af3b578..62ef0e6e9d 100644 --- a/modules/install/pages/proc_installing-che-on-minikube-keycloak-oidc.adoc +++ b/modules/install/pages/proc_installing-che-on-minikube-keycloak-oidc.adoc @@ -10,6 +10,8 @@ [role="_abstract"] To test {prod-short} with centralized authentication locally, deploy {prod-short} on a single-node {kubernetes} cluster with Minikube and configure Keycloak as the OpenID Connect (OIDC) identity provider. +include::partial$snip_persona-admin.adoc[] + [WARNING] ==== Single-node {kubernetes} clusters are suited only for testing or development. Do not use such clusters to run {prod-short} for organizations or developer teams. diff --git a/modules/install/pages/proc_installing-che-on-minikube.adoc b/modules/install/pages/proc_installing-che-on-minikube.adoc index 13cd49848d..fb1e774de7 100644 --- a/modules/install/pages/proc_installing-che-on-minikube.adoc +++ b/modules/install/pages/proc_installing-che-on-minikube.adoc @@ -10,6 +10,8 @@ [role="_abstract"] To evaluate {prod-short} in a local development environment, create a single-node {kubernetes} cluster with Minikube and deploy {prod-short}. +include::partial$snip_persona-admin.adoc[] + [WARNING] ==== Single-node {kubernetes} clusters are suited only for testing or development. Do not use such clusters to run {prod-short} for organizations or developer teams. diff --git a/modules/install/pages/proc_installing-che-on-openshift-using-cli.adoc b/modules/install/pages/proc_installing-che-on-openshift-using-cli.adoc index 9c5ac3884b..93f73cc478 100644 --- a/modules/install/pages/proc_installing-che-on-openshift-using-cli.adoc +++ b/modules/install/pages/proc_installing-che-on-openshift-using-cli.adoc @@ -10,6 +10,8 @@ [role="_abstract"] Install the {prod-short} Operator and create a `CheCluster` instance from the command line by using the `{prod-cli}` management tool. The CLI method provides full control over configuration options during deployment. +include::partial$snip_persona-admin.adoc[] + .Prerequisites * You have an {ocp} {ocp4-ver} or later cluster. diff --git a/modules/install/pages/proc_installing-che-on-openshift-using-the-web-console.adoc b/modules/install/pages/proc_installing-che-on-openshift-using-the-web-console.adoc index c7dbf0c751..854f6172be 100644 --- a/modules/install/pages/proc_installing-che-on-openshift-using-the-web-console.adoc +++ b/modules/install/pages/proc_installing-che-on-openshift-using-the-web-console.adoc @@ -10,6 +10,8 @@ [role="_abstract"] Deploy the {prod} Operator from OperatorHub and create a `CheCluster` instance through the {orch-name} web console. This method uses the standard Operator workflow and is suitable when you do not need advanced CLI configuration options. +include::partial$snip_persona-admin.adoc[] + .Prerequisites * You have an {orch-name} web console session as a cluster administrator. See link:https://docs.openshift.com/container-platform/{ocp4-ver}/web_console/web-console.html[Accessing the web console]. @@ -59,11 +61,9 @@ See link:https://docs.openshift.com/container-platform/{ocp4-ver}/operators/user .Verification -pass:[] - +// vale RedHat.Spelling = NO . In *{prod} instance Specification*, go to *{prod-checluster}*, landing on the *Details* tab. - -pass:[] +// vale RedHat.Spelling = YES . Under *Message*, check that there is *None*, which means no errors. diff --git a/modules/install/pages/proc_installing-che-on-openshift-with-keycloak-as-oidc.adoc b/modules/install/pages/proc_installing-che-on-openshift-with-keycloak-as-oidc.adoc index 833ef7c264..17964651ee 100644 --- a/modules/install/pages/proc_installing-che-on-openshift-with-keycloak-as-oidc.adoc +++ b/modules/install/pages/proc_installing-che-on-openshift-with-keycloak-as-oidc.adoc @@ -10,6 +10,8 @@ [role="_abstract"] To enable centralized user authentication through an external identity provider, install {prod-short} on {orch-name} with {keycloak} as the OIDC provider. +include::partial$snip_persona-admin.adoc[] + .Prerequisites * You have an active `{orch-cli}` session with administrative permissions to the {orch-name} cluster. See {orch-cli-link}. diff --git a/modules/install/pages/proc_installing-che-on-red-hat-openshift-local.adoc b/modules/install/pages/proc_installing-che-on-red-hat-openshift-local.adoc index 669900ab42..f84635e0f4 100644 --- a/modules/install/pages/proc_installing-che-on-red-hat-openshift-local.adoc +++ b/modules/install/pages/proc_installing-che-on-red-hat-openshift-local.adoc @@ -10,6 +10,8 @@ [role="_abstract"] To evaluate {prod-short} on a local {orch-name} cluster, deploy {prod-short} by using {rh-os-local} for development and testing. +include::partial$snip_persona-admin.adoc[] + .Prerequisites * You have `{prod-cli}` installed. See xref:installing-the-chectl-management-tool.adoc[]. diff --git a/modules/install/pages/proc_installing-che-on-the-virtual-kubernetes-cluster.adoc b/modules/install/pages/proc_installing-che-on-the-virtual-kubernetes-cluster.adoc index 0e35b96b55..6995b3ea67 100644 --- a/modules/install/pages/proc_installing-che-on-the-virtual-kubernetes-cluster.adoc +++ b/modules/install/pages/proc_installing-che-on-the-virtual-kubernetes-cluster.adoc @@ -10,6 +10,8 @@ [role="_abstract"] To deploy {prod-short} when the host cluster version is incompatible or lacks external OIDC support, use a virtual {kubernetes} cluster (vCluster) to bypass these constraints. +include::partial$snip_persona-admin.adoc[] + .Prerequisites * You have `helm` installed. See link:https://helm.sh/docs/intro/install/[Installing Helm]. diff --git a/modules/install/pages/proc_uninstalling-che.adoc b/modules/install/pages/proc_uninstalling-che.adoc index 076f1ce7ca..6aa2eb3b81 100644 --- a/modules/install/pages/proc_uninstalling-che.adoc +++ b/modules/install/pages/proc_uninstalling-che.adoc @@ -10,6 +10,8 @@ [role="_abstract"] Remove {prod-short} and all related user data from an {orch-name} cluster by using the `{prod-cli}` management tool. +include::partial$snip_persona-admin.adoc[] + [WARNING] ==== Uninstalling {prod-short} removes all {prod-short}-related user data. diff --git a/modules/install/pages/proc_verifying-the-installation.adoc b/modules/install/pages/proc_verifying-the-installation.adoc index 93ae6b395b..1d3f1eaabb 100644 --- a/modules/install/pages/proc_verifying-the-installation.adoc +++ b/modules/install/pages/proc_verifying-the-installation.adoc @@ -9,6 +9,8 @@ [role="_abstract"] Confirm that {prod-short} is operational before onboarding users by checking the Operator pod, the `CheCluster` status, and the dashboard URL. +include::partial$snip_persona-admin.adoc[] + .Prerequisites * You have installed {prod-short} on an {orch-name} cluster. diff --git a/modules/install/pages/ref_permissions-to-install-che-on-openshift-using-cli.adoc b/modules/install/pages/ref_permissions-to-install-che-on-openshift-using-cli.adoc index 01d72ec9bc..54d12a6f12 100644 --- a/modules/install/pages/ref_permissions-to-install-che-on-openshift-using-cli.adoc +++ b/modules/install/pages/ref_permissions-to-install-che-on-openshift-using-cli.adoc @@ -10,6 +10,8 @@ [role="_abstract"] The following `ClusterRole` defines the minimum permissions required for a `{prod-cli}`-based installation of {prod-short}. Apply this role to the service account or user of the installation program before running `{prod-cli} server:deploy`. +include::partial$snip_persona-admin.adoc[] + [source,yaml,subs="+quotes,+attributes"] ---- apiVersion: rbac.authorization.k8s.io/v1 diff --git a/modules/install/pages/ref_permissions-to-install-che-on-openshift-using-the-web-console.adoc b/modules/install/pages/ref_permissions-to-install-che-on-openshift-using-the-web-console.adoc index cc4433005c..0cf82b08f8 100644 --- a/modules/install/pages/ref_permissions-to-install-che-on-openshift-using-the-web-console.adoc +++ b/modules/install/pages/ref_permissions-to-install-che-on-openshift-using-the-web-console.adoc @@ -10,6 +10,8 @@ [role="_abstract"] The following `ClusterRole` defines the minimum permissions required for a web-console-based installation of {prod-short}. Apply this role to the user of the installation program before installing the Operator from OperatorHub. +include::partial$snip_persona-admin.adoc[] + [source,yaml,subs="+quotes,+attributes"] ---- apiVersion: rbac.authorization.k8s.io/v1 diff --git a/modules/install/pages/running-at-scale.adoc b/modules/install/pages/running-at-scale.adoc index 155b008995..796e93b763 100644 --- a/modules/install/pages/running-at-scale.adoc +++ b/modules/install/pages/running-at-scale.adoc @@ -10,6 +10,8 @@ [role="_abstract"] Scaling cloud development environments (CDEs) to thousands of concurrent workspaces imposes high infrastructure demands on etcd storage, Operator memory, and worker node capacity. This topic covers the bottlenecks, tested maximums, and architectural patterns — including multi-cluster deployments — that address these challenges. +include::partial$snip_persona-admin.adoc[] + Such a scale imposes high infrastructure demands and introduces potential bottlenecks that can impact performance and stability. Addressing these challenges requires meticulous planning, strategic architectural choices, monitoring, and continuous optimization. CDE workloads are particularly complex to scale. The underlying IDE solutions, such as link:https://github.com/microsoft/vscode[Visual Studio Code - Open Source ("Code - OSS")] or link:https://www.jetbrains.com/remote-development/gateway/[JetBrains Gateway], are designed as single-user applications, not as multitenant services. diff --git a/modules/install/pages/using-chectl-to-configure-the-checluster-custom-resource-during-installation.adoc b/modules/install/pages/using-chectl-to-configure-the-checluster-custom-resource-during-installation.adoc index 4ff59b0789..b3c929e877 100644 --- a/modules/install/pages/using-chectl-to-configure-the-checluster-custom-resource-during-installation.adoc +++ b/modules/install/pages/using-chectl-to-configure-the-checluster-custom-resource-during-installation.adoc @@ -9,6 +9,8 @@ To deploy {prod-short} with a suitable configuration, edit the `CheCluster` Custom Resource YAML file during the installation of {prod-short}. Otherwise, the {prod-short} deployment uses the default configuration parameterized by the Operator. +include::partial$snip_persona-admin.adoc[] + .Prerequisites diff --git a/modules/install/partials/snip_persona-admin.adoc b/modules/install/partials/snip_persona-admin.adoc new file mode 100644 index 0000000000..9857252bbf --- /dev/null +++ b/modules/install/partials/snip_persona-admin.adoc @@ -0,0 +1 @@ +This page is for platform administrators who install, configure, and manage {prod-short} on {orch-name} clusters. To learn more about common roles and example tasks referenced in {prod-short} documentation, see xref:discover:roles-and-tasks.adoc[].