### Start Minikube with addons and resources Source: https://github.com/eclipse-che/che-docs/blob/main/modules/install/pages/proc_installing-che-on-minikube-keycloak-oidc.adoc Starts a Minikube cluster with the ingress addon and allocates 8GB of RAM and 4 CPU cores for testing Eclipse Che with Keycloak. Use this command before installing cert-manager. ```bash minikube start --addons=ingress --vm=true --memory=8192 --cpus=4 ``` -------------------------------- ### Example workspace URLs Source: https://github.com/eclipse-che/che-docs/blob/main/modules/get-started-user/pages/starting-a-workspace-from-a-git-repository-url.adoc Example URLs for starting a workspace from a Git repository. The first uses HTTPS, the second uses Git+SSH. Replace the repository URL with your own. ```text pass:c,a,q[{prod-url}#https://github.com/che-samples/cpp-hello-world] ``` ```text pass:c,a,q[{prod-url}#git@github.com:che-samples/cpp-hello-world.git] ``` -------------------------------- ### Example URL with image parameter Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/pages/url-parameter-for-container-image.adoc Example of a URL using the `image` parameter to start a workspace with a specific container image from a GitHub repository. ```text {prod-url}#https://github.com/eclipse-che/che-docs?image=quay.io/devfile/universal-developer-image:ubi9-latest ``` -------------------------------- ### Start Minikube with required add-ons and resources Source: https://github.com/eclipse-che/che-docs/blob/main/modules/install/pages/proc_installing-che-on-minikube.adoc Starts a Minikube cluster with the ingress and dashboard add-ons, using 10240 MB memory, 4 CPUs, 50 GB disk, and Kubernetes v1.23.9. This is the first step in the installation procedure. ```bash $ minikube start --addons=ingress,dashboard --vm=true --memory=10240 --cpus=4 --disk-size=50GB --kubernetes-version=v1.23.9 ``` -------------------------------- ### Output of oc get devworkspaces Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/partials/proc_creating-workspaces.adoc Example output showing the workspace in Starting phase with the message 'Waiting for workspace deployment'. ```text NAMESPACE NAME DEVWORKSPACE ID PHASE INFO user1-dev my-devworkspace workspacedf64e4a492cd4701 Starting Waiting for workspace deployment ``` -------------------------------- ### 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 Example output showing the storage driver is `overlay` with fuse-overlayfs as the mount program. ```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 Lola with uv Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/pages/distribute-claude-code-skills-with-lola.adoc Installs Lola using uv. Lola must be installed in the workspace container image or available on PATH. ```bash $ uv tool install lola-ai ``` -------------------------------- ### Verify storage driver with podman info Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/enabling-fuse-for-all-workspaces.adoc Start a workspace and run `podman info | grep overlay` to verify that the storage driver is `overlay`. The example output shows the expected result. ```bash $ podman info | grep overlay ``` -------------------------------- ### Example: editor-image parameter Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/pages/url-parameter-for-the-ide-image.adoc Example URL using only the editor-image parameter to set the IDE image to quay.io/che-incubator/che-code:next. ```text pass:c,a,q[{prod-url}]#https://github.com/eclipse-che/che-docs?editor-image=quay.io/che-incubator/che-code:next# ``` -------------------------------- ### Include project-context example Source: https://github.com/eclipse-che/che-docs/blob/main/CONTRIBUTING.adoc Include statement for a project-context example, using the project-context attribute to select the correct file. ```asciidoc \include::example$snip_{project-context}____.adoc[leveloffset=+1] ``` -------------------------------- ### Devfile provisioning a PV to a container Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/partials/proc_requesting-persistent-storage-in-a-devfile.adoc Complete devfile example that provisions a 2Gi PV named 'cache' to the 'golang' container at the '/.cache' path when the workspace starts. ```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 ``` -------------------------------- ### Go telemetry server (main.go) Source: https://github.com/eclipse-che/che-docs/blob/main/modules/extensions/pages/creating-a-telemetry-plugin.adoc Starts a server on port 8080 and writes telemetry events to standard output. This is the example telemetry server used for demonstration; for production, consider integrating with a third-party telemetry system. ```go include::example$creating-a-telemetry-plugin/main.go[] ``` -------------------------------- ### cpuLimit URL parameter example Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/pages/url-parameter-for-cpu-limit.adoc Example of using the cpuLimit parameter in a URL to set the CPU limit to 2 cores. ```text {prod-url}#https://github.com/eclipse-che/che-docs?cpuLimit=2 ``` -------------------------------- ### Read chectl installation logs Source: https://github.com/eclipse-che/che-docs/blob/main/modules/install/examples/proc_che-installing-the-chectl-management-tool-on-linux-or-macos.adoc Displays the contents of the chectl-install.log file to review installation details. ```bash $ cat {prod-cli}-install.log ``` -------------------------------- ### Example URL with memoryLimit=4Gi Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/pages/url-parameter-for-memory-limit.adoc Example URL that sets the memory limit to 4Gi for the workspace. The memoryLimit parameter overrides the memory limit defined for the first container of the devfile. ```text {prod-url}#https://github.com/eclipse-che/che-docs?memoryLimit=4Gi ``` -------------------------------- ### Public repository devfile URL example Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/pages/starting-a-workspace-from-a-raw-devfile-url.adoc Example for a public repository using the raw devfile URL. ```text pass:c,a,q[{prod-url}#https://raw.githubusercontent.com/che-samples/cpp-hello-world/main/devfile.yaml] ``` -------------------------------- ### Example: che-editor and editor-image parameters Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/pages/url-parameter-for-the-ide-image.adoc Example URL combining che-editor and editor-image parameters to override the supported IDE and change the target editor image. ```text pass:c,a,q[{prod-url}]#https://github.com/eclipse-che/che-docs?che-editor=che-incubator/che-code/latest&editor-image=quay.io/che-incubator/che-code:next# ``` -------------------------------- ### Example /etc/gitconfig file Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/deploying-che-with-support-for-git-repositories-with-self-signed-certificates.adoc Example contents of the /etc/gitconfig file mounted in workspace containers, showing the Git server host and the path to the certificate in the http section. ```ini [http "https://10.33.177.118:3000"] sslCAInfo = /etc/config/che-git-tls-creds/certificate ``` -------------------------------- ### Example HPA resource for {prod-deployment} Source: https://github.com/eclipse-che/che-docs/blob/main/modules/optimize/partials/proc_configuring-number-of-replicas.adoc Example HPA targeting the {prod-deployment} deployment with a minimum of 2 replicas, a maximum of 5 replicas, and scaling based on CPU utilization at 75%. ```yaml apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: {prod-deployment}-scaler namespace: {prod-namespace} spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: {prod-deployment} minReplicas: 2 maxReplicas: 5 metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 75 ``` -------------------------------- ### Create a 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 previously created my-samples.json file in the product namespace. ```shell {orch-cli} create configmap getting-started-samples --from-file=my-samples.json -n {prod-namespace} ``` -------------------------------- ### Output of `{orch-cli} get devworkspaces` showing Running phase Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/partials/proc_creating-workspaces.adoc Example output of the `{orch-cli} get devworkspaces` command after a workspace has successfully started. The PHASE column shows 'Running' and the INFO column provides the URL to open the workspace. ```text NAMESPACE NAME DEVWORKSPACE ID PHASE INFO user1-dev my-devworkspace workspacedf64e4a492cd4701 Running https://url-to-workspace.com ``` -------------------------------- ### Create a JSON file for samples configuration Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/configuring-getting-started-samples.adoc Create a file named my-samples.json containing an array of objects, where each object defines a sample's display name, description, tags, repository URL, and icon data. ```shell cat > my-samples.json <__", <1> "description": "____", <2> "tags": ____, <3> "url": "____", <4> "icon": { "base64data": "____", <5> "mediatype": "____" <6> } } ] EOF ``` -------------------------------- ### Verify workspace starting with oc get devworkspaces Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/partials/proc_creating-workspaces.adoc Check the PHASE status of the DevWorkspace to verify it is starting. The command watches the devworkspaces in the user namespace. ```bash $ {orch-cli} get devworkspaces -n ____ --watch ``` -------------------------------- ### Add postStart command to devfile Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/pages/distribute-claude-code-skills-with-lola.adoc Devfile snippet to automate lola sync at workspace startup. Replace with the project directory name and with a container component from the devfile's components section. ```yaml commands: - id: lola-sync exec: commandLine: lola sync workingDir: /projects/____ # <1> component: ____ # <2> events: postStart: - lola-sync ``` -------------------------------- ### Install cert-manager via Helm Source: https://github.com/eclipse-che/che-docs/blob/main/modules/install/pages/proc_installing-che-on-minikube-keycloak-oidc.adoc Adds the Jetstack Helm repository, updates the repository, and installs cert-manager in the 'cert-manager' namespace with the installCRDs flag set to true. Use this after starting Minikube. ```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 installCRDs=true ``` -------------------------------- ### Add postStart command to devfile Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/pages/share-claude-code-configuration-with-pvc-tmp-copy.adoc Configure the devfile to automatically copy configuration from the PVC to the home directory upon workspace startup. ```yaml commands: - id: init-claude-config exec: commandLine: | mkdir -p {prod-home}/.claude cp -a /tmp/claude/.claude/. {prod-home}/.claude/ 2>/dev/null || true cp /tmp/claude/.claude.json {prod-home}/.claude.json 2>/dev/null || true component: ____ # <1> events: postStart: - init-claude-config ``` -------------------------------- ### Editor definition devfile with events and commands Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/configuring-editors-definitions.adoc Example editor definition devfile with optional event bindings and predefined commands. The preStart command runs in an init container before workspace start; the postStart command runs after all plugins and extensions have started, including project cloning. The exec command starts the Che-Code entrypoint in the background. ```yaml events: preStart: - init-container-command postStart: - init-che-code-command commands: - id: init-container-command apply: component: che-code-injector - id: init-che-code-command exec: component: che-code-runtime-description commandLine: 'nohup /checode/entrypoint-volume.sh > /checode/entrypoint-logs.txt 2>&1 &' ``` -------------------------------- ### Example: URL with existing 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 this URL format to open an existing workspace created from the same URL. Replace `` with the actual repository URL and `workspace_name` with the name of the workspace to open. ```text pass:c,a,q[{prod-url}]#?existing=workspace_name ``` -------------------------------- ### Delete previous CRC cluster Source: https://github.com/eclipse-che/che-docs/blob/main/modules/install/pages/proc_installing-che-on-red-hat-openshift-local.adoc Removes an existing {rh-os-local} cluster before starting a new one. Run this command before proceeding with the setup. ```bash $ crc delete ``` -------------------------------- ### Verify NetworkPolicy resources in a user namespace with oc get Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/partials/proc_enabling-operator-managed-network-policies.adoc Runs 'oc get networkpolicies -n ____' to verify that the operator has created NetworkPolicy resources in a user workspace namespace after starting a workspace. Replace the placeholder with the actual namespace. ```shell {orch-cli} get networkpolicies -n ____ ``` -------------------------------- ### Download and execute the chectl install script Source: https://github.com/eclipse-che/che-docs/blob/main/modules/install/examples/proc_che-installing-the-chectl-management-tool-on-linux-or-macos.adoc Runs the install.sh script from the che-incubator GitHub Pages site using bash and curl. Requires /usr/local/bin in $PATH and sudo configured. ```bash $ bash <(curl -sL https://che-incubator.github.io/{prod-cli}/install.sh) ``` -------------------------------- ### Deploy {prod-short} with {prod-cli} Source: https://github.com/eclipse-che/che-docs/blob/main/modules/install/pages/proc_installing-che-on-openshift-with-keycloak-as-oidc.adoc Deploys {prod-short} on OpenShift using the prepared patch file. ```bash {prod-cli} server:deploy \ --platform openshift \ --che-operator-cr-patch-yaml che-patch.yaml ``` -------------------------------- ### DevWorkspace custom resource Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/partials/proc_creating-workspaces.adoc Create a DevWorkspace custom resource by pasting the devfile contents under spec.template. The example includes metadata, routingClass, started flag, contributions for the IDE, and template with projects and components. ```yaml kind: DevWorkspace apiVersion: workspace.devfile.io/v1alpha2 metadata: name: my-devworkspace namespace: user1-dev spec: routingClass: che started: true contributions: - name: ide uri: http://{prod-id-short}-dashboard.{prod-namespace}.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: {prod-url}/dashboard/ ``` -------------------------------- ### PVC scheduling failure symptom message Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/pages/troubleshoot-claude-code-configuration-persistence.adoc This is the error message displayed when a workspace fails to start due to a PVC scheduling failure after init pod setup. It indicates that no nodes are available because the PersistentVolume's node affinity does not match. ```text 0/N nodes are available: X node(s) didn't match PersistentVolume's node affinity ``` -------------------------------- ### Launch Visual Studio Code CLI tunnel with accept-server-license-terms and name flag Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/pages/connect-visual-studio-code-to-che-workspace.adoc Starts a Remote Tunnels session for the current workspace using the installed CLI. The --name $DEVWORKSPACE_NAME names the tunnel; after successful login, prompts to open the workspace in a browser. ```shell /checode/code tunnel --accept-server-license-terms --name $DEVWORKSPACE_NAME ``` -------------------------------- ### Add postStart command to copy configuration Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/pages/share-claude-code-configuration-with-gitops.adoc Add a postStart command that copies the configuration from the cloned repository into the home directory. Replace with the container component name. ```yaml commands: - id: init-claude-config exec: commandLine: | cp -a /projects/claude-config/.claude/. {prod-home}/.claude/ 2>/dev/null || true cp /projects/claude-config/.claude.json {prod-home}/.claude.json 2>/dev/null || true component: ____ # <1> events: postStart: - init-claude-config ``` -------------------------------- ### Deploy {prod-short} instance with {prod-cli} Source: https://github.com/eclipse-che/che-docs/blob/main/modules/install/pages/proc_installing-che-on-minikube.adoc Creates the {prod-short} instance on the Minikube cluster using the {prod-cli} server:deploy command with the minikube platform. This is the second step in the installation procedure. ```bash $ {prod-cli} server:deploy --platform minikube ``` -------------------------------- ### Deploy {prod-short} with chectl Source: https://github.com/eclipse-che/che-docs/blob/main/modules/install/pages/proc_installing-che-on-red-hat-openshift-local.adoc Installs the {prod-short} instance using {prod-cli}. This command deploys the instance on the CRC platform. ```bash $ {prod-cli} server:deploy --platform crc ``` -------------------------------- ### Get default registry path with oc get route Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/devworkspace-backup-integrated-openshift-registry.adoc Get the default path to the OpenShift integrated registry by retrieving the host of the `default-route` route in the `openshift-image-registry` namespace. ```shell echo "https://$(oc get route default-route -n openshift-image-registry --template='{{ .spec.host }}'))" ``` -------------------------------- ### Get CheCluster namespace Source: https://github.com/eclipse-che/che-docs/blob/main/modules/administration-guide/pages/enabling-users-to-run-multiple-workspaces-simultaneously.adoc Gets the name of the {prod-short} namespace. The default is {prod-namespace}. ```terminal $ {orch-cli} get checluster --all-namespaces \ -o=jsonpath="{.items[*].metadata.namespace}" ``` -------------------------------- ### Run lola sync Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/pages/distribute-claude-code-skills-with-lola.adoc Fetches the module referenced in .lola-req and installs it into the target assistant's native directory structure in the project directory. ```bash $ lola sync ``` -------------------------------- ### Verify initialization Source: https://github.com/eclipse-che/che-docs/blob/main/modules/end-user-guide/pages/share-claude-code-configuration-with-pvc-direct-mount.adoc Displays the logs of the init pod to confirm the initialization commands executed successfully. ```shell $ {orch-cli} logs claude-config-init ``` -------------------------------- ### Install cert-manager using Helm on AKS Source: https://github.com/eclipse-che/che-docs/blob/main/modules/install/partials/proc_installing-cert-manager-on-microsoft-azure-kubernetes-service.adoc Adds the Jetstack Helm repository and installs the cert-manager chart into the cert-manager namespace with CRDs enabled. Use the --wait flag to block until the installation completes. ```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 ```