### Example URLs for Starting a New Workspace Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/pages/starting-a-workspace-from-a-git-repository-url.adoc Examples demonstrating how to start a new workspace using either an HTTPS or Git+SSH URL for a GitHub repository. ```shell pass:c,a,q[{prod-url}#https://github.com/che-samples/cpp-hello-world] ``` ```shell pass:c,a,q[{prod-url}#git@github.com:che-samples/cpp-hello-world.git] ``` -------------------------------- ### Example: Public Repository URL Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/pages/starting-a-workspace-from-a-raw-devfile-url.adoc This is an example of a URL that starts a new workspace from a public repository's devfile. ```bash https://#https://raw.githubusercontent.com/che-samples/cpp-hello-world/main/devfile.yaml ``` -------------------------------- ### Example: Private Repository URL with Token Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/pages/starting-a-workspace-from-a-raw-devfile-url.adoc This example demonstrates how to construct a URL to start a workspace from a private repository using a personal access token. ```bash https://#https://____@raw.githubusercontent.com/che-samples/cpp-hello-world/main/devfile.yaml ``` -------------------------------- ### Example URL for Starting a New Workspace Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/pages/url-parameter-concatenation.adoc This URL demonstrates how to include a Git repository URL along with concatenated optional parameters like editor and devfile path. ```url https://github.com/che-samples/cpp-hello-world?new&che-editor=che-incubator/intellij-community/latest&devfilePath=tests/testdevfile.yaml ``` -------------------------------- ### Install {prod-short} Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/installing-che.adoc Use this command to install {prod-short}. ```bash chectl che install ``` -------------------------------- ### Example of Blocking VSIX Installation Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/manage-extension-installation.adoc An example of how an extension might attempt to install from a VSIX, which would be blocked if `BlockInstallFromVSIXCommandExtensionsInstallation` is true. ```javascript vscode.commands.executeCommand('workbench.extensions.command.installFromVSIX', URL); ``` -------------------------------- ### Example Node Status Output Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/enabling-access-to-dev-fuse-for-openshift.adoc This is an example of the output from `oc get nodes` after applying the MachineConfig, showing a node with 'SchedulingDisabled' status. ```text NAME STATUS ROLES AGE VERSION ip-10-0-136-161.ec2.internal Ready worker 28m v1.27.9 ip-10-0-136-243.ec2.internal Ready master 34m v1.27.9 ip-10-0-141-105.ec2.internal Ready,SchedulingDisabled worker 28m v1.27.9 ip-10-0-142-249.ec2.internal Ready master 34m v1.27.9 ip-10-0-153-11.ec2.internal Ready worker 28m v1.27.9 ip-10-0-153-150.ec2.internal Ready master 34m v1.27.9 ``` -------------------------------- ### Install chectl CLI Source: https://context7.com/eclipse-che/che-docs/llms.txt Installs the `chectl` management tool on Linux or macOS using a script. Verify the installation and check the version afterwards. ```bash # Install chectl on Linux or macOS bash <(curl -sL https://che-incubator.github.io/chectl/install.sh) # Verify installation which chectl # /usr/local/bin/chectl chectl --version # View installation logs cat chectl-install.log ``` -------------------------------- ### Example Open VSX Registry URL Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/partials/proc_selecting-an-open-vsx-registry-instance.adoc An example of how to set the `openVSXURL` to a specific Open VSX registry instance. This example uses a secure pass-through format for the URL. ```yaml openVSXURL: "pass:c,a,q[https://open-vsx.org]" ``` -------------------------------- ### Install chectl on Windows Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/installing-the-chectl-management-tool.adoc Use this command to install the {prod-cli} tool on a Windows operating system. ```bash curl -sSL https://raw.githubusercontent.com/eclipse/che/main/deploy/chectl/install.sh | bash -s -- --install-dir c:\\che\\bin ``` -------------------------------- ### Example devfile provisioning a PV for a workspace Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/partials/proc_requesting-persistent-storage-in-a-devfile.adoc This devfile example demonstrates how a persistent volume named 'cache' is provisioned and mounted to the '/.cache' path within the 'golang' container. ```yaml schemaVersion: 2.1.0 metadata: name: mydevfile components: - name: golang container: image: golang memoryLimit: 512Mi mountSources: true command: ['sleep', 'infinity'] volumeMounts: - name: cache path: /.cache - name: cache volume: size: 2Gi ``` -------------------------------- ### Start Minikube with Add-ons and Resources Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/installing-che-on-minikube.adoc Start Minikube with the ingress and dashboard add-ons, specifying sufficient memory, CPUs, and disk size for Che deployment. Ensure the Kubernetes version is compatible. ```bash $ minikube start --addons=ingress,dashboard --vm=true --memory=10240 --cpus=4 --disk-size=50GB --kubernetes-version=v1.23.9 ``` -------------------------------- ### Start Minikube Cluster Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/installing-che-on-minikube-keycloak-oidc.adoc Starts a Minikube cluster with specified resources and the ingress addon enabled. Ensure sufficient memory and CPU are allocated. ```shell minikube start --addons=ingress --vm=true --memory=8192 --cpus=4 ``` -------------------------------- ### Read chectl Installation Logs Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/examples/proc_che-installing-the-chectl-management-tool-on-linux-or-macos.adoc View the installation logs to review any messages or errors during the chectl installation process. This is useful for troubleshooting. ```bash $ cat chectl-install.log ``` -------------------------------- ### Example output of podman info Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/enabling-fuse-for-all-workspaces.adoc This is an example of the expected output when fuse-overlayfs is correctly configured and in use. ```text graphDriverName: overlay overlay.mount_program: Executable: /usr/bin/fuse-overlayfs Package: fuse-overlayfs-1.12-1.module+el8.9.0+20326+387084d0.x86_64 fuse-overlayfs: version 1.12 Backing Filesystem: overlayfs ``` -------------------------------- ### Install chectl on Linux or macOS Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/installing-the-chectl-management-tool.adoc Use this command to install the {prod-cli} tool on a Linux or macOS operating system. ```bash curl -sSL https://raw.githubusercontent.com/eclipse/che/main/deploy/chectl/install.sh | bash -s -- --install-dir $(pwd)/bin ``` -------------------------------- ### Deploy {prod-short} Instance Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/installing-che-on-red-hat-openshift-local.adoc Installs the {prod-short} instance on the {rh-os-local} platform using the {prod-cli} tool. ```bash $ {prod-cli} server:deploy --platform crc ``` -------------------------------- ### Start Workspace with Basic Git Repository URL Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/pages/starting-a-workspace-from-a-git-repository-url.adoc Use this URL syntax to start a new workspace with a clone of a Git repository. Replace `{prod-url}` with your instance's FQDN and `` with the actual Git clone URL. ```shell pass:c,a,q[{prod-url}]#____ ``` -------------------------------- ### Start Workspace from Public Devfile URL Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/pages/starting-a-workspace-from-a-raw-devfile-url.adoc Use this syntax to start a new workspace from a public devfile URL. Ensure the devfile is accessible without authentication. ```bash https://#____ ``` -------------------------------- ### Install chectl on Windows Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/examples/proc_che-installing-the-chectl-management-tool-on-windows.adoc Run this command in PowerShell to download and execute the installation script for the chectl management tool. It bypasses execution policy for the current process. ```powershell C:\Users> Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://che-incubator.github.io/chectl/install.ps1')) ``` -------------------------------- ### Install Visual Studio Code CLI in Che Workspace Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/pages/connect-visual-studio-code-to-che-workspace.adoc Installs the Visual Studio Code CLI into the `/checode` directory within your workspace. Ensure `gzip` is installed; otherwise, download the CLI manually and upload it. ```shell curl 'https://code.visualstudio.com/sha/download?build=stable&os=cli-alpine-x64' --location -o /tmp/code.tar.gz && \ tar -xvzf /tmp/code.tar.gz --directory=/checode ``` ```shell mv $PROJECT_SOURCE/code /checode && chmod +x /checode/code ``` -------------------------------- ### Example Default Storage Class Output Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/partials/configuring-environment-variables-for-amazon-elastic-kubernetes-service.adoc An example output showing a storage class marked as default. Ensure your output includes a similar entry. ```text NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE gp2 (default) kubernetes.io/aws-ebs Delete WaitForFirstConsumer false 126m ``` -------------------------------- ### Create OpenShift Project Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/installing-image-puller-on-openshift-using-cli.adoc Create a new OpenShift project to host the {image-puller-name-short} installation. ```bash oc new-project __<{image-puller-namespace}>__ ``` -------------------------------- ### Install cert-manager using Helm Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/partials/proc_installing-cert-manager-on-amazon-elastic-kubernetes-service.adoc Use this command to install cert-manager on your EKS cluster. Ensure you have Helm installed and configured. The `--wait` flag ensures the installation completes before proceeding, and `--create-namespace` creates the `cert-manager` namespace if it doesn't exist. ```bash helm repo add jetstack https://charts.jetstack.io helm repo update helm install cert-manager jetstack/cert-manager \ --wait \ --create-namespace \ --namespace cert-manager \ --set crds.enabled=true ``` -------------------------------- ### Install vCluster using Helm Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/installing-che-on-the-virtual-kubernetes-cluster.adoc This command installs vCluster using the Helm package manager. It adds the Loft Helm repository, updates repositories, and then installs vCluster into the 'vcluster' namespace with the prepared values file. ```shell helm repo add loft-sh https://charts.loft.sh helm repo update helm install vcluster loft-sh/vcluster-k8s \ --create-namespace \ --namespace vcluster \ --values /tmp/vcluster-values.yaml ``` -------------------------------- ### Verify chectl Installation Path Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/examples/proc_che-installing-the-chectl-management-tool-on-linux-or-macos.adoc Use this command to confirm that the chectl tool is installed and accessible at the expected location, typically /usr/local/bin/chectl. ```bash $ which chectl /usr/local/bin/chectl ``` -------------------------------- ### Configure extension installation policies Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/manage-extension-installation.adoc Add a ConfigMap to the {prod-namespace} namespace to specify extension installation policies. Ensure the JSON format is valid. ```yaml kind: ConfigMap apiVersion: v1 metadata: name: vscode-editor-configurations namespace: eclipse-che labels: app.kubernetes.io/component: workspaces-config app.kubernetes.io/part-of: che.eclipse.org annotations: controller.devfile.io/mount-as: subpath controller.devfile.io/mount-path: /checode-config controller.devfile.io/read-only: 'true' data: policy.json: | { "BlockCliExtensionsInstallation": true, "BlockDefaultExtensionsInstallation": true, "BlockInstallFromVSIXCommandExtensionsInstallation": true, "AllowedExtensions": { "*": true, "dbaeumer.vscode-eslint": false, "ms-python.python": false, "redhat": false } } ``` -------------------------------- ### Apply DevWorkspace and Verify Source: https://context7.com/eclipse-che/che-docs/llms.txt Apply the DevWorkspace YAML file to start the workspace and then verify its status using kubectl. ```bash # Apply the DevWorkspace to start the workspace kubectl apply -f my-devworkspace.yaml # Verify the workspace is starting kubectl get devworkspaces -n user1-dev --watch # NAMESPACE NAME DEVWORKSPACE ID PHASE INFO # user1-dev my-devworkspace workspacedf64e4a492cd4701 Starting Waiting for workspace deployment # user1-dev my-devworkspace workspacedf64e4a492cd4701 Running https://url-to-workspace.com ``` -------------------------------- ### Example of authenticating with OpenShift Connector from a local instance Source: https://github.com/eclipse-che/che-docs/blob/main/modules/extensions/partials/proc_authenticating-with-openshift-connector-from-che.adoc This example demonstrates how to authenticate with the OpenShift Connector from a local instance. It is typically used when the OpenShift OAuth service does not authenticate the {prod-short} instance directly. ```adoc include::example$snip_{project-context}-authenticating-with-openshift-connector-from-a-local-instance.adoc[] ``` -------------------------------- ### Verify Image Puller Installation Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/installing-image-puller-on-openshift-using-cli.adoc Verify the deployment, DaemonSet, and Pods for the {image-puller-name-short} in the specified namespace. ```bash oc get deployment,daemonset,pod --namespace __<{image-puller-namespace}>__ ``` -------------------------------- ### Collect {prod} server logs from a specific namespace Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/collecting-logs-using-chectl.adoc If {prod} is installed in a non-default namespace, use this command to specify the namespace from which to collect logs. Replace `` with the actual namespace where {prod} is installed. ```shell chectl server:logs -n my-namespace ``` -------------------------------- ### Set default extensions with semicolon-separated paths Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/default-extensions-for-microsoft-visual-studio-code.adoc Use this format to specify multiple `.vsix` extension files for installation. Separate each file path with a semicolon. ```yaml DEFAULT_EXTENSIONS='/projects/extension-1.vsix;/projects/extension-2.vsix' ``` -------------------------------- ### Devfile Components Example Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/partials/proc_creating-workspaces.adoc This YAML snippet shows the basic structure of components within a devfile, specifically a universal developer image. ```yaml components: - name: tooling-container container: image: quay.io/devfile/universal-developer-image:ubi9-latest ``` -------------------------------- ### Use a Mounted Secret File with Maven Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/pages/mounting-secrets.adoc Example command to use a settings file that has been mounted into the workspace, such as a Maven settings.xml. ```bash $ mvn --settings /home/user/.m2/settings.xml clean install ``` -------------------------------- ### DevWorkspace Status Output Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/partials/proc_creating-workspaces.adoc Example output showing the PHASE status of a DevWorkspace, indicating it is in the 'Starting' phase. ```text NAMESPACE NAME DEVWORKSPACE ID PHASE INFO user1-dev my-devworkspace workspacedf64e4a492cd4701 Starting Waiting for workspace deployment ``` -------------------------------- ### Minimal CheCluster Custom Resource Source: https://context7.com/eclipse-che/che-docs/llms.txt The CheCluster CR is the top-level configuration object for an Eclipse Che installation. This example shows a minimal configuration. ```yaml # minimal-checluster.yaml apiVersion: org.eclipse.che/v2 kind: CheCluster metadata: name: eclipse-che namespace: eclipse-che spec: components: {} devEnvironments: {} networking: {} ``` -------------------------------- ### Start Workspace with Optional Parameters Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/pages/starting-a-workspace-from-a-raw-devfile-url.adoc You can extend the devfile URL with optional parameters to customize the workspace startup. Refer to the documentation for a list of available parameters. ```bash https://#____?____ <1> <1> See xref:optional-parameters-for-the-urls-for-starting-a-new-workspace.adoc[]. ``` -------------------------------- ### Create a Workspace via Kubernetes API Source: https://context7.com/eclipse-che/che-docs/llms.txt Create a DevWorkspace custom resource directly on the cluster to start a new workspace programmatically. This example defines project sources, components, and environment variables. ```yaml # my-devworkspace.yaml kind: DevWorkspace apiVersion: workspace.devfile.io/v1alpha2 metadata: name: my-devworkspace namespace: user1-dev # Che user namespace spec: routingClass: che started: true # Start immediately on creation contributions: - name: ide uri: http://che-dashboard.eclipse-che.svc.cluster.local:8080/dashboard/api/editors/devfile?che-editor=che-incubator/che-code/latest template: projects: - name: my-project-name git: remotes: origin: https://github.com/eclipse-che/che-docs components: - name: tooling-container container: image: quay.io/devfile/universal-developer-image:ubi9-latest env: - name: CHE_DASHBOARD_URL value: https://che-host/dashboard/ ``` -------------------------------- ### Handle gzipped extension files with gunzip Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/default-extensions-for-microsoft-visual-studio-code.adoc If `curl` downloads a `.gzip` compressed file, use `gunzip` to decompress it into a `.vsix` file. This ensures the extension can be installed correctly. The example shows saving as `.vsix.gz` and then decompressing. ```yaml curl https://some-extension-url --location -o /tmp/extension.vsix.gz gunzip /tmp/extension.vsix.gz ``` -------------------------------- ### Create ConfigMap for Samples Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/configuring-getting-started-samples.adoc Create a Kubernetes ConfigMap named 'getting-started-samples' using the 'my-samples.json' file. This ConfigMap will store the custom samples configuration for {prod-short}. ```shell {orch-cli} create configmap getting-started-samples --from-file=my-samples.json -n {prod-namespace} ``` -------------------------------- ### DevWorkspace Custom Resource Example Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/partials/proc_creating-workspaces.adoc This YAML defines a DevWorkspace custom resource, including project details, container components, and IDE contribution. It specifies the workspace name, user namespace, and whether it should start automatically. ```yaml kind: DevWorkspace apiVersion: workspace.devfile.io/v1alpha2 metadata: name: my-devworkspace#<1> namespace: user1-dev#<2> spec: routingClass: che started: true#<3> contributions:#<4> - name: ide uri: pass:c,a,q[http://{prod-id-short}-dashboard.{prod-namespace}.svc.cluster.local:8080]/dashboard/api/editors/devfile?che-editor=che-incubator/che-code/latest template: projects:#<5> - name: my-project-name git: remotes: origin: https://github.com/eclipse-che/che-docs components:#<6> - name: tooling-container container: image: quay.io/devfile/universal-developer-image:ubi9-latest env: - name: CHE_DASHBOARD_URL value: pass:c,a,q[{prod-url}]/dashboard/ <7> ``` -------------------------------- ### Install Keycloak with Kubernetes manifests Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/installing-che-on-minikube-keycloak-oidc.adoc Deploys Keycloak to a Kubernetes cluster using a series of YAML manifests. This includes setting up namespaces, issuers, certificates for TLS, services, deployments, and ingress rules. The Keycloak image used is quay.io/keycloak/keycloak:18.0.2, configured to start in development mode with admin credentials. ```yaml --- aspects: v1 kind: Namespace metadata: name: keycloak --- aspects: cert-manager.io/v1 kind: Issuer metadata: name: keycloak-selfsigned namespace: keycloak labels: app: keycloak spec: selfSigned: {} --- aspects: cert-manager.io/v1 kind: Certificate metadata: name: keycloak-selfsigned namespace: keycloak labels: app: keycloak spec: isCA: true commonName: keycloak-selfsigned-ca privateKey: algorithm: ECDSA size: 256 issuerRef: name: keycloak-selfsigned kind: Issuer group: cert-manager.io secretName: ca.crt --- aspects: cert-manager.io/v1 kind: Issuer metadata: name: keycloak namespace: keycloak labels: app: keycloak spec: ca: secretName: ca.crt --- aspects: cert-manager.io/v1 kind: Certificate metadata: name: keycloak namespace: keycloak labels: app: keycloak spec: isCA: false commonName: keycloak dnsNames: - keycloak.$(minikube ip).nip.io privateKey: algorithm: RSA encoding: PKCS1 size: 4096 issuerRef: kind: Issuer name: keycloak group: cert-manager.io secretName: keycloak.tls subject: organizations: - Local Eclipse Che usages: - server auth - digital signature - key encipherment - key agreement - data encipherment --- aspects: v1 kind: Service metadata: name: keycloak namespace: keycloak labels: app: keycloak spec: ports: - name: http port: 8080 targetPort: 8080 selector: app: keycloak type: LoadBalancer --- aspects: apps/v1 kind: Deployment metadata: name: keycloak namespace: keycloak labels: app: keycloak spec: replicas: 1 selector: matchLabels: app: keycloak template: metadata: labels: app: keycloak spec: containers: - name: keycloak image: quay.io/keycloak/keycloak:18.0.2 args: ["start-dev"] env: - name: KEYCLOAK_ADMIN value: "admin" - name: KEYCLOAK_ADMIN_PASSWORD value: "admin" - name: KC_PROXY value: "edge" ports: - name: http containerPort: 8080 readinessProbe: httpGet: path: /realms/master port: 8080 --- aspects: networking.k8s.io/v1 kind: Ingress metadata: name: keycloak namespace: keycloak annotations: nginx.ingress.kubernetes.io/proxy-connect-timeout: '3600' nginx.ingress.kubernetes.io/proxy-read-timeout: '3600' nginx.ingress.kubernetes.io/ssl-redirect: 'true' spec: ingressClassName: nginx tls: - hosts: - keycloak.$(minikube ip).nip.io secretName: keycloak.tls rules: - host: keycloak.$(minikube ip).nip.io http: paths: - path: / pathType: Prefix backend: service: name: keycloak port: number: 8080 EOF ``` -------------------------------- ### Download and Execute chectl Install Script Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/examples/proc_che-installing-the-chectl-management-tool-on-linux-or-macos.adoc Run this command to download and execute the install.sh script for the chectl management tool. Ensure your directory is in the user's PATH and sudo is configured. ```bash $ bash <(curl -sL https://che-incubator.github.io/chectl/install.sh) ``` -------------------------------- ### Upgrade {prod-short} using `chectl` Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/upgrading-che-using-the-cli-management-tool.adoc Execute this command to initiate the upgrade process for your {prod-short} instance. Ensure you are in the correct namespace. For systems with slow network connections, consider extending the Pod wait timeout. ```bash $ {prod-cli} server:update -n {prod-namespace} ``` -------------------------------- ### Start Workspace with Optional Parameters Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/pages/starting-a-workspace-from-a-git-repository-url.adoc Extend the basic workspace URL with optional parameters to customize the workspace creation. Refer to the linked documentation for a list of available optional parameters. ```shell pass:c,a,q[{prod-url}]#____?____ <1> <1> See xref:optional-parameters-for-the-urls-for-starting-a-new-workspace.adoc[]. ``` -------------------------------- ### Start Workspace from Raw Devfile URL Source: https://context7.com/eclipse-che/che-docs/llms.txt Launches a workspace directly from a raw devfile URL. Supports both public and private repositories, with authentication for private ones using a token. ```text # Public devfile URL https://che-host#https://raw.githubusercontent.com/che-samples/cpp-hello-world/main/devfile.yaml # Private devfile URL using a personal access token https://che-host#https://@raw.githubusercontent.com/che-samples/cpp-hello-world/main/devfile.yaml ``` -------------------------------- ### Install cert-manager using Helm Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/installing-che-on-minikube-keycloak-oidc.adoc Installs cert-manager, a Kubernetes certificate authority, using Helm. This involves adding the cert-manager Helm repository, updating it, and then performing the installation. ```shell helm repo add jetstack https://charts.jetstack.io helm repo update helm install cert-manager jetstack/cert-manager \ --wait \ --create-namespace \ --namespace cert-manager \ --set installCRDs=true ``` -------------------------------- ### View kubedock server options Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/pages/running-containers-with-kubedock.adoc Use this command to view the available options for the kubedock server. This is useful for understanding configurable parameters. ```bash # kubedock server --help ``` -------------------------------- ### Install Kubernetes image puller Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/caching-images-for-faster-workspace-start.adoc Install the Kubernetes image puller component. This component is responsible for pre-pulling images on each node. ```bash kubectl apply -f https://raw.githubusercontent.com/che-incubator/image-puller/master/deploy/kubernetes/image-puller.yaml ``` -------------------------------- ### Block VSIX Extension Installation Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/manage-extension-installation.adoc This setting prevents extensions from being installed using the `workbench.extensions.command.installFromVSIX` API command. Set to `true` to block. ```json "BlockInstallFromVSIXCommandExtensionsInstallation": true ``` -------------------------------- ### Verify chectl Version Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/examples/proc_che-installing-the-chectl-management-tool-on-linux-or-macos.adoc Execute this command to check the installed version of the chectl tool. This helps ensure you have the correct version installed. ```bash $ chectl --version ``` -------------------------------- ### Start Workspace from Git Repository URL Source: https://context7.com/eclipse-che/che-docs/llms.txt Launches a new workspace directly from a Git repository URL by prepending the Che instance FQDN. Supports various Git providers and branch/commit specifications. ```text # Basic syntax https://# # GitHub — default branch https://che-host#https://github.com/che-samples/cpp-hello-world # GitHub — specific branch https://che-host#https://github.com/my-org/my-repo/tree/feature-branch # GitHub — pull request branch https://che-host#https://github.com/my-org/my-repo/pull/42 # GitLab — default branch https://che-host#https://gitlab.com/my-org/my-repo # Bitbucket Server — specific branch https://che-host#https://bb-host/users/my-slug/repos/my-repo/browse?at=refs%2Fheads%2Fmy-branch # Azure DevOps — default branch https://che-host#https://my-org@dev.azure.com/my-org/my-project/_git/my-repo # Git+SSH URL https://che-host#git@github.com:che-samples/cpp-hello-world.git ``` -------------------------------- ### Configure Host for {rh-os-local} Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/installing-che-on-red-hat-openshift-local.adoc Run this command to prepare your host machine for {rh-os-local} operations. ```bash $ crc setup ``` -------------------------------- ### Download extensions using cURL in postStart event Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/default-extensions-for-microsoft-visual-studio-code.adoc Fetch extension binaries from the network using `curl` within a `postStart` event in your devfile. This approach allows for dynamic downloading of extensions upon workspace startup. Ensure the `DEFAULT_EXTENSIONS` variable points to the temporary download location. ```yaml schemaVersion: 2.3.0 metadata: generateName: example-project components: - name: tools container: image: quay.io/devfile/universal-developer-image:ubi8-latest env: - name: DEFAULT_EXTENSIONS value: '/tmp/extension-1.vsix;/tmp/extension-2.vsix' commands: - id: add-default-extensions exec: # name of the tooling container component: tools # download several extensions using curl commandLine: | curl https://.../extension-1.vsix --location -o /tmp/extension-1.vsix curl https://.../extension-2.vsix --location -o /tmp/extension-2.vsix events: postStart: - add-default-extensions ``` -------------------------------- ### Create JSON for Custom Samples Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/configuring-getting-started-samples.adoc Create a JSON file to define custom samples for {prod-short} Dashboard. Each object in the array represents a sample with its display name, description, tags, repository URL, and icon details. ```shell cat > my-samples.json <__", "description": "____", "tags": ____, "url": "____", "icon": { "base64data": "____", "mediatype": "____" } } ] EOF ``` -------------------------------- ### Install Ingress-Nginx Controller with Helm Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/partials/proc_installing-ingress-nginx-controller-on-amazon-elastic-kubernetes-service.adoc Installs the Ingress-Nginx Controller using Helm, configuring it for AWS NLB with TCP backend protocol and cross-zone load balancing. ```bash helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx helm repo update helm install ingress-nginx ingress-nginx/ingress-nginx \ --wait \ --create-namespace \ --namespace ingress-nginx \ --set controller.service.annotations."service.beta.kubernetes.io/aws-load-balancer-backend-protocol"=tcp \ --set controller.service.annotations."service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled"="true" \ --set controller.service.annotations."service.beta.kubernetes.io/aws-load-balancer-type"=nlb ``` -------------------------------- ### Build and Validate Documentation Locally Source: https://github.com/eclipse-che/che-docs/blob/main/CONTRIBUTING.adoc Execute the `runnerpreview.sh` script from the project root to build and validate the documentation using the `che-docs` container. This is a non-preferred method. ```bash ./tools/runnerpreview.sh ``` -------------------------------- ### Log in to the cluster using oc Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/pages/using-a-git-provider-access-token.adoc Use the `oc login` command to authenticate with your cluster. Replace `____` with your username and `{prod-url}` with your cluster's URL. ```bash $ oc login pass:c,a,q[{prod-url}] --username=____ ``` -------------------------------- ### Install Keycloak with Self-Signed Certificate Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/installing-che-on-the-virtual-kubernetes-cluster.adoc Apply Kubernetes manifests to install Keycloak in its own namespace, configure a self-signed certificate issuer using cert-manager, and create a CA certificate. ```yaml --- apiVersion: v1 kind: Namespace metadata: name: keycloak --- apiVersion: cert-manager.io/v1 kind: Issuer metadata: name: keycloak-selfsigned namespace: keycloak labels: app: keycloak spec: selfSigned: {} --- apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: keycloak-selfsigned namespace: keycloak labels: app: keycloak spec: isCA: true commonName: keycloak-selfsigned-ca privateKey: algorithm: ECDSA size: 256 issuerRef: name: keycloak-selfsigned kind: Issuer group: cert-manager.io secretName: ca.crt --- apiVersion: cert-manager.io/v1 kind: Issuer metadata: name: keycloak namespace: keycloak labels: app: keycloak spec: ca: secretName: ca.crt --- apiVersion: cert-manager.io/v1 kind: Certificate ``` -------------------------------- ### Minimal CheCluster Custom Resource Example Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/checluster-custom-resource-fields-reference.adoc This is a basic example of a CheCluster custom resource. It defines the essential metadata and empty spec sections for components, devEnvironments, and networking. ```yaml apiVersion: org.eclipse.che/v2 kind: CheCluster metadata: name: {prod-checluster} namespace: {prod-namespace} spec: components: {} devEnvironments: {} networking: {} ``` -------------------------------- ### Install NGINX Ingress Controller using Helm Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/partials/proc_installing-nginx-ingress-controller-on-microsoft-azure-kubernetes-service.adoc Installs the NGINX Ingress Controller using the official Helm chart. It adds the NGINX Ingress Controller repository, updates it, and then installs the chart, ensuring the controller is created in the `ingress-nginx` namespace and waits for the deployment to complete. The annotation for the health probe request path is also set. ```shell helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx helm repo update helm install ingress-nginx ingress-nginx/ingress-nginx \ --wait \ --create-namespace \ --namespace ingress-nginx \ --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=/healthz ``` -------------------------------- ### Disable all extension installations Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/manage-extension-installation.adoc To completely disable extension installation, set all extensions to disallowed in the ConfigMap. This configuration can be placed in the user's namespace, but be aware that users can edit these values. ```yaml kind: ConfigMap apiVersion: v1 metadata: name: vscode-editor-configurations namespace: eclipse-che labels: app.kubernetes.io/component: workspaces-config app.kubernetes.io/part-of: che.eclipse.org annotations: controller.devfile.io/mount-as: subpath controller.devfile.io/mount-path: /checode-config controller.devfile.io/read-only: 'true' data: policy.json: | { "AllowedExtensions": { "*": false } } ``` ```yaml kind: ConfigMap apiVersion: v1 metadata: name: vscode-editor-configurations labels: controller.devfile.io/mount-to-devworkspace: 'true' controller.devfile.io/watch-configmap: 'true' annotations: controller.devfile.io/mount-as: subpath controller.devfile.io/mount-path: /checode-config controller.devfile.io/read-only: 'true' data: policy.json: | { "AllowedExtensions": { "*": false } } ``` -------------------------------- ### Execute Mirroring Script Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/partials/snip_preparing-images-for-a-restricted-environment.adoc Run the `prepare-restricted-environment.sh` script to download and install a custom Operator catalog and mirror related images to your private registry. Ensure all required parameters, including image sources and your private registry URL, are correctly provided. ```bash bash prepare-restricted-environment.sh \ --devworkspace_operator_index {devworkspace-operator-index-disconnected-install}\ --devworkspace_operator_version "v{devworkspace-operator-version-patch}" \ --prod_operator_index "{prod-operator-index}" \ --prod_operator_package_name "{prod-operator-package-name}" \ --prod_operator_bundle_name "{prod-operator-bundle-name}" \ --prod_operator_version "v{prod-ver-patch}" \ --my_registry "____" <1> ``` -------------------------------- ### Deploy Che with Custom Resource Patch Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/using-chectl-to-configure-the-checluster-custom-resource-during-installation.adoc Use the `chectl server:deploy` command to install {prod-short}, applying the configurations defined in your `che-operator-cr-patch.yaml` file. Specify the target platform for the deployment. ```bash $ {prod-cli} server:deploy \ --che-operator-cr-patch-yaml=che-operator-cr-patch.yaml \ --platform ____ ``` -------------------------------- ### Set NODE_EXTRA_CA_CERTS and Install Dependencies Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/partials/proc_restoring-node-extra-ca-certs-variable-value.adoc Set the NODE_EXTRA_CA_CERTS environment variable to the path of your SSL/TLS certificate before running npm install. This ensures that Node.js trusts your custom certificate for secure connections. ```bash export NODE_EXTRA_CA_CERTS=/public-certs/nexus.cer <1> npm install ``` -------------------------------- ### URL Syntax for GitHub Repository Clone Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/pages/starting-a-workspace-from-a-git-repository-url.adoc These examples show the URL syntax for cloning a GitHub repository. The first example clones the default branch, while the second specifies a particular branch. ```shell pass:c,a,q[{prod-url}#https://____/____/____] ``` ```shell pass:c,a,q[{prod-url}#https://____/____/____/tree/____] ``` -------------------------------- ### Start {rh-os-local} Cluster Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/installing-che-on-red-hat-openshift-local.adoc Starts the {rh-os-local} virtual machine with specified memory and disk size, using a pull secret file. Note the kubeadmin password displayed upon completion. ```bash $ crc start --memory 12288 --disk-size=64 --pull-secret-file ____ ``` -------------------------------- ### Publish an Extension to Open VSX Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/running-the-open-vsx-on-premises.adoc This sequence of commands downloads an extension, creates a namespace if it doesn't exist, publishes the extension, and then cleans up the downloaded file. Ensure the Open VSX CLI is configured. ```bash oc exec -n openvsx "${OVSX_POD_NAME}" -- bash -c "wget -O /tmp/extension.vsix https://open-vsx.org/api/redhat/vscode-yaml/1.18.0/file/redhat.vscode-yaml-1.18.0.vsix " && oc exec -n openvsx "${OVSX_POD_NAME}" -- bash -c "ovsx create-namespace redhat" || true && oc exec -n openvsx "${OVSX_POD_NAME}" -- bash -c "ovsx publish /tmp/extension.vsix" && oc exec -n openvsx "${OVSX_POD_NAME}" -- bash -c "rm /tmp/extension.vsix" ``` -------------------------------- ### Deploy {prod-short} Instance on OpenShift Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/installing-che-on-openshift-using-cli.adoc Use this command to create and deploy a new {prod-short} instance on your OpenShift cluster. ```bash $ {prod-cli} server:deploy --platform openshift ``` -------------------------------- ### Start New Workspace with URL Parameter Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/pages/url-parameter-for-the-existing-workspace-name.adoc Use the `new` URL parameter to force the creation of a new workspace, even if a workspace with the same URL already exists. This is useful for creating multiple workspaces from the same source. ```url {prod-url}#____?new ``` -------------------------------- ### Example Nginx 404 Not Found Response Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/partials/proc_installing-ingress-nginx-controller-on-amazon-elastic-kubernetes-service.adoc This is an example of the expected output when the Ingress-Nginx Controller is successfully accessed externally and returns a 404 Not Found error, typical for initial requests before routes are defined. ```html 404 Not Found

404 Not Found


nginx
``` -------------------------------- ### Dockerfile for Native build Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/creating-a-telemetry-plugin.adoc A sample Dockerfile for building a Quarkus native image. This is optimized for size and startup performance. ```yaml FROM registry.redhat.io/ubi8/openjdk-11:1.17 WORKDIR /app COPY target/quarkus-app/lib/ /app/lib/ COPY target/quarkus-app/*.jar /app/app.jar COPY target/quarkus-app/app/ /app/app/ EXPOSE 8080 CMD ["/app/application"] ```