Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions antora.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ nav:
- modules/discover/nav.adoc
- modules/install/nav.adoc
- modules/get-started/nav.adoc
- modules/develop/nav.adoc
- modules/end-user-guide/nav.adoc
- modules/upgrade/nav.adoc
- modules/secure/nav.adoc
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,5 +104,5 @@ EOF
.Additional resources

* xref:configuring-ai-providers.adoc[]
* xref:end-user-guide:mounting-secrets.adoc[Mounting secrets (end-user guide)]
* xref:develop:mounting-secrets.adoc[Mounting secrets (end-user guide)]
* link:https://devfile.io/docs/2.2.0/what-is-a-devfile[Devfile documentation]
Original file line number Diff line number Diff line change
Expand Up @@ -265,9 +265,9 @@ NOTE: Creating Template Kubernetes resources is supported only on OpenShift.
====

.Additional resources
* xref:end-user-guide:mounting-configmaps.adoc[]
* xref:end-user-guide:mounting-secrets.adoc[]
* xref:end-user-guide:requesting-persistent-storage-for-workspaces.adoc[]
* xref:develop:mounting-configmaps.adoc[]
* xref:develop:mounting-secrets.adoc[]
* xref:develop:requesting-persistent-storage-for-workspaces.adoc[]
* link:https://github.com/devfile/devworkspace-operator/blob/main/docs/additional-configuration.adoc#automatically-mounting-volumes-configmaps-and-secrets[Automatically mounting volumes, configmaps, and secrets]
* link:https://docs.openshift.com/container-platform/latest/rest_api/template_apis/template-template-openshift-io-v1.html[OpenShift API reference for `Template`]
* link:https://docs.openshift.com/container-platform/latest/applications/projects/configuring-project-creation.html[Configuring OpenShift project creation]
Original file line number Diff line number Diff line change
Expand Up @@ -151,4 +151,4 @@ When you update the registry (for example, to remove a tool or change the inject
.Additional resources

* xref:ai-provider-api-key-secret-reference.adoc[]
* xref:end-user-guide:using-ai-assistants-in-workspaces.adoc[]
* xref:develop:using-ai-assistants-in-workspaces.adoc[]
2 changes: 1 addition & 1 deletion modules/administration-guide/pages/configuring-fuse.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ This is not necessary for OpenShift versions 4.15 and later, since the `/dev/fus
After enabling `/dev/fuse` access, fuse-overlayfs can be enabled in two ways:

. For all user workspaces within the cluster. See xref:administration-guide:enabling-fuse-for-all-workspaces.adoc[].
. For workspaces belonging to certain users. See xref:end-user-guide:using-the-fuse-overlay-storage-driver.adoc[].
. For workspaces belonging to certain users. See xref:develop:using-the-fuse-overlay-storage-driver.adoc[].
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
[id="configuring-the-storage-strategy"]
= Configuring the storage strategy

{prod-short} can be configured to provide persistent or non-persistent storage to workspaces by selecting a storage strategy. The selected storage strategy will be applied to all newly created workspaces by default. Users can opt for a non-default storage strategy for their workspace in their xref:end-user-guide:requesting-persistent-storage-for-workspaces.adoc[devfile] or through the xref:end-user-guide:url-parameter-for-the-workspace-storage.adoc[URL parameter].
{prod-short} can be configured to provide persistent or non-persistent storage to workspaces by selecting a storage strategy. The selected storage strategy will be applied to all newly created workspaces by default. Users can opt for a non-default storage strategy for their workspace in their xref:develop:requesting-persistent-storage-for-workspaces.adoc[devfile] or through the xref:develop:url-parameter-for-the-workspace-storage.adoc[URL parameter].

Available storage strategies:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ integrated registry or link:https://quay.io[Quay.io], to store backup archives a

The backup makes a snapshot of *stopped* Workspace PVCs and stores them as tar.gz archives in the specified OCI registry.

Users can restore backups from the {prod-short} dashboard. See xref:end-user-guide:restoring-workspaces-from-backups.adoc[].
Users can restore backups from the {prod-short} dashboard. See xref:develop:restoring-workspaces-from-backups.adoc[].

NOTE: By default, the {devworkspace} backup job is disabled.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,4 +139,4 @@ sh-4.4# stat /host/etc/crio/crio.conf.d/99-podman-fuse
----

== Using fuse-overlayfs for Podman and Buildah within a workspace
Users can follow xref:end-user-guide:using-the-fuse-overlay-storage-driver.adoc[] to update existing workspaces to use the fuse-overlayfs storage driver for Podman and Buildah.
Users can follow xref:develop:using-the-fuse-overlay-storage-driver.adoc[] to update existing workspaces to use the fuse-overlayfs storage driver for Podman and Buildah.
45 changes: 45 additions & 0 deletions modules/develop/nav.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
.Develop
* xref:developing-with-che.adoc[]
* xref:using-credentials-and-configurations-in-workspaces.adoc[]
** xref:mounting-secrets.adoc[]
*** xref:creating-image-pull-secrets.adoc[]
** xref:mounting-configmaps.adoc[]
*** xref:mounting-git-configuration.adoc[]
*** xref:mounting-ssh-configuration.adoc[]
* xref:using-the-fuse-overlay-storage-driver.adoc[]
** xref:accessing-fuse.adoc[]
** xref:enabling-overlay-with-a-configmap.adoc[]
** xref:running-containers-with-kubedock.adoc[]
* xref:using-che-in-team-workflow.adoc[]
** xref:first-time-contributors.adoc[]
** xref:benefits-of-pull-requests-review-in-che.adoc[]
** xref:try-in-web-ide-github-action.adoc[]
* xref:requesting-persistent-storage-for-workspaces.adoc[]
** xref:restoring-workspaces-from-backups.adoc[]
*** xref:proc-restoring-a-workspace-from-backup.adoc[]
*** xref:proc-viewing-backups-in-the-dashboard.adoc[]
* xref:proc_preventing-workspace-idling-for-long-running-commands.adoc[]
* xref:optional-parameters-for-the-urls-for-starting-a-new-workspace.adoc[]
** xref:url-parameter-concatenation.adoc[]
** xref:url-parameter-for-the-ide.adoc[]
** xref:url-parameter-for-the-ide-image.adoc[]
** xref:url-parameter-for-starting-duplicate-workspaces.adoc[]
** xref:url-parameter-for-the-existing-workspace-name.adoc[]
** xref:url-parameter-for-the-devfile-file-name.adoc[]
** xref:url-parameter-for-the-devfile-file-path.adoc[]
** xref:url-parameter-for-the-workspace-storage.adoc[]
** xref:url-parameter-for-additional-remotes.adoc[]
** xref:url-parameter-for-container-image.adoc[]
** xref:url-parameter-for-memory-limit.adoc[]
** xref:url-parameter-for-cpu-limit.adoc[]
** xref:url-parameter-for-the-ai-provider.adoc[]
* xref:setting-up-development-tools.adoc[]
** xref:customizing-workspace-components.adoc[]
*** xref:devfile-introduction.adoc[]
** xref:ides-in-workspaces.adoc[]
*** xref:microsoft-visual-studio-code-open-source-ide.adoc[]
*** xref:connect-visual-studio-code-to-che-workspace.adoc[]
*** xref:defining-a-common-ide.adoc[]
** xref:using-ai-assistants-in-workspaces.adoc[]
*** xref:configuring-an-ai-provider-api-key.adoc[]
*** xref:changing-the-ai-tool-on-a-workspace.adoc[]
60 changes: 60 additions & 0 deletions modules/develop/pages/accessing-fuse.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
:_content-type: PROCEDURE
:description: Enable access to /dev/fuse in workspace containers to use fuse-overlayfs as a storage driver for Podman.
:keywords: user-guide, fuse, overlay, device, /dev/fuse, pod, overrides
:navtitle: Access /dev/fuse in workspace containers
:page-aliases:

[id="accessing-fuse"]
= Access /dev/fuse in workspace containers

[role="_abstract"]
Enable access to `/dev/fuse` in workspace containers to use fuse-overlayfs as a storage driver for Podman.


.Prerequisites

* For {orch-name} versions older than 4.15: you have administrator-enabled access to `/dev/fuse`. See xref:administration-guide:configuring-fuse.adoc[Configuring fuse-overlayfs].
* You have identified a workspace to use with fuse-overlayfs.

.Procedure

. Use the `pod-overrides` attribute to add the required annotations defined in xref:administration-guide:configuring-fuse.adoc[Configuring fuse-overlayfs] to the workspace. The `pod-overrides` attribute allows merging certain fields in the workspace pod's `spec`.
+
*For {orch-name} versions older than 4.15:*
+
[source,bash,subs="+quotes,+attributes,+macros"]
----
$ {orch-cli} patch devworkspace __<DevWorkspace_name>__ \
--patch '{"spec":{"template":{"attributes":{"pod-overrides":{"metadata":{"annotations":{"io.kubernetes.cri-o.Devices":"/dev/fuse","io.openshift.podman-fuse":""}}}}}}}' \
--type=merge
----
+
*For {orch-name} version 4.15 and later:*
+
[source,bash,subs="+quotes,+attributes,+macros"]
----
$ {orch-cli} patch devworkspace __<DevWorkspace_name>__ \
--patch '{"spec":{"template":{"attributes":{"pod-overrides":{"metadata":{"annotations":{"io.kubernetes.cri-o.Devices":"/dev/fuse"}}}}}}}' \
--type=merge
----

.Verification

. Start the workspace and verify that `/dev/fuse` is available in the workspace container:
+
[source,bash,subs="+attributes,+quotes"]
----
$ stat /dev/fuse
----

[role="_additional-resources"]
.Next steps

* xref:enabling-overlay-with-a-configmap.adoc[]

[role="_additional-resources"]
.Additional resources

* xref:using-the-fuse-overlay-storage-driver.adoc[]
* xref:running-containers-with-kubedock.adoc[]
* xref:enabling-overlay-with-a-configmap.adoc[]
Original file line number Diff line number Diff line change
@@ -1,32 +1,38 @@
:_content-type: PROCEDURE
:description: {prod} workspace contains all tools you need to review pull and merge requests from start to finish.
:keywords: user-guide, reviewing, pull request, merge request
:navtitle: Reviewing pull and merge requests
:navtitle: Review pull and merge requests
:page-aliases:

[id="title"]
= Benefits of reviewing pull and merge requests in {prod}
= Review pull and merge requests

[role="_abstract"]
{prod} workspace contains all tools you need to review pull and merge requests from start to finish. By clicking a {prod-short} link, you get access to {prod}-supported web IDE with a ready-to-use workspace where you can run a linter, unit tests, the build and more.
Review pull and merge requests in a {prod}-supported web IDE with a ready-to-use workspace to run a linter, unit tests, the build, and more.


.Prerequisites

* You have access to the repository hosted by your Git provider.
* You have access to a {prod-short} instance.
* You have access to an {prod-short} instance.

.Procedure

. Open the feature branch to review in {prod-short}. A clone of the branch opens in a workspace with tools for debugging and testing.
. Check the pull or merge request changes.
. Run your desired debugging and testing tools:
** Run a linter.
** Run unit tests.
** Run the build.
** Run the application to check for problems.
. Navigate to UI of your Git provider to leave comment and pull or merge your assigned request.
. Navigate to the UI of your Git provider to leave a comment and pull or merge your assigned request.

.Verification

* (optional) Open a second workspace using the main branch of the repository to reproduce a problem.
* Optional: Open a second workspace using the main branch of the repository to reproduce a problem.

[role="_additional-resources"]
.Additional resources

// [role="_additional-resources"]
// .Additional resources
* xref:try-in-web-ide-github-action.adoc[]
* xref:first-time-contributors.adoc[]
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
:_content-type: PROCEDURE
:description: Switch or remove the AI coding assistant on a stopped workspace without recreating it.
:keywords: user-guide, ai, ai tool, ai provider, workspace, change, update
:navtitle: Changing the AI tool on a workspace
:navtitle: Change the AI tool on a workspace
:page-aliases:

[id="changing-the-ai-tool-on-a-workspace"]
Expand All @@ -12,7 +12,7 @@ Switch or remove the AI coding assistant on a stopped workspace without recreati

.Prerequisites

* The workspace is stopped.
* You have a stopped workspace.

.Procedure

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
:_content-type: PROCEDURE
:description: Store your AI provider API key so that it is automatically available as an environment variable in all your workspaces.
:keywords: user-guide, ai, api key, ai provider, environment variable, secret
:navtitle: Configuring an AI provider API key
:navtitle: Configure an AI provider API key
:page-aliases:

[id="configuring-an-ai-provider-api-key"]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
[id="connect-visual-studio-code-to-che-workspace"]
:_content-type: PROCEDURE
:navtitle: Connect Visual Studio Code to a {prod-short} workspace
:page-aliases: end-user-guide:connect-visual-studio-code-to-che-workspace.adoc

= Connecting Visual Studio Code to a {prod-short} workspace
[id="connect-visual-studio-code-to-che-workspace"]
= Connect Visual Studio Code to a {prod-short} workspace

{prod} supports connecting your desktop Visual Studio Code to a running {prod-short} workspace over link:https://code.visualstudio.com/docs/remote/tunnels/[Remote Tunnels].

Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
:_content-type: ASSEMBLY
:description: To allow the `{devworkspace}` Pods in the {orch-name} cluster of your organization's {prod-short} instance to access container registries that require authentication, create an image pull Secret.
:description: Create an image pull Secret with {orch-cli} to allow DevWorkspace Pods to access container registries that require authentication.
:keywords: user-guide, configuring, user, secrets
:navtitle: Creating image pull Secrets
:navtitle: Create image pull Secrets
:page-aliases:

[id="image-pull-secrets"]
= Creating image pull Secrets
= Create image pull Secrets

To allow the `{devworkspace}` Pods in the {orch-name} cluster of your organization's {prod-short} instance to access container registries that require authentication, create an image pull Secret.
Create an image pull Secret with `{orch-cli}` to allow `{devworkspace}` Pods to access container registries that require authentication.

You can create image pull Secrets by using `{orch-cli}` or a `.dockercfg` file or a `config.json` file.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
:_content-type: PROCEDURE
:description: Customizing workspace components
:description: {prod-short} provides several options to customize your workspaces to match project requirements and team standards.
:keywords: user-guide, customizing-developer-environments
:navtitle: Customizing workspace components
:navtitle: What you can customize in a Cloud Development Environment
:page-aliases: configuring-a-workspace-using-a-devfile.adoc, making-a-workspace-portable-using-a-devfile.adoc, authoring-devfiles-version-1.adoc, authoring-devfiles-version-2.adoc, authoring-devfiles.adoc, defining-custom-commands-for-che-theia.adoc, adding-a-vs-code-extension-to-a-workspace.adoc, adding-a-vs-code-extension-to-the-che-plugin-registry.adoc, adding-tools-to-che-after-creating-a-workspace.adoc, using-private-container-registries.adoc, customizing-developer-environments.adoc, what-is-a-che-theia-plug-in.adoc, testing-a-visual-studio-code-extension-in-che.adoc, publishing-metadata-for-a-vs-code-extension.adoc, contributor-guide:developing-che-theia-plug-ins.adoc, contributor-guide:testing-che-theia-plug-ins.adoc, contributor-guide:publishing-che-theia-plug-ins.adoc, contributor-guide:adding-support-for-a-new-language.adoc, contributor-guide:adding-support-for-a-new-debugger.adoc, contributor-guide:che-extensibility-reference.adoc, contributor-guide:che-extension-points.adoc, contributor-guide:che-theia-plug-in-api.adoc, contributor-guide:debug-adapter-protocol.adoc, contributor-guide:language-server-protocol.adoc, customizing-workspaces-components.adoc

// The application dashboard requires the presence of the `customizing-workspaces` id.
[id="customizing-workspaces"]
= Customizing workspace components
= What you can customize in a Cloud Development Environment

To customize workspace components:
{prod-short} provides several options to customize your workspaces to match project requirements and team standards.

* xref:starting-a-workspace-from-a-git-repository-url.adoc[Choose a Git repository for your workspace].

* xref:devfile-introduction.adoc[Use a devfile].

* xref:ides-in-workspaces.adoc[Configure an IDE].
You can customize your {prod-short} workspaces in a variety of ways:

* Choose a Git repository for your workspace.
* Use a devfile.
* Configure an IDE.
* Add {prod-short} specific attributes in addition to the generic devfile specification.
21 changes: 21 additions & 0 deletions modules/develop/pages/defining-a-common-ide.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
:_content-type: PROCEDURE
:navtitle: Define a common IDE
:description: Define a common IDE for all workspaces in a Git repository by using a che-editor.yaml file.
:keywords: select-IDE, che-editor, che-editor-yaml
:page-aliases: specifying-an-in-browser-ide-for-a-git-repository-by-using-che-editor.yaml.adoc, selecting-an-in-browser-ide-for-all-workspaces-that-clone-the-same-git-repository.adoc

[id="defining-a-common-ide"]
= Define a common IDE

Define a common IDE for all workspaces in a Git repository by using a `che-editor.yaml` file so that all team members and new contributors use the most suitable IDE for the project. You can also use this file to override the {prod-short} instance default IDE for a particular Git repository.

To use an IDE other than the default Microsoft Visual Studio Code - Open Source for most or all workspaces in your organization, an administrator can set `.spec.devEnvironments.defaultEditor` in the `CheCluster` Custom Resource to apply the change at the instance level.

.Prerequisites

* You have a project source code repository hosted on a Git provider.

include::partial$proc_setting-up-che-editor-yaml.adoc[leveloffset=+1]

include::partial$ref_parameters-for-che-editor-yaml.adoc[leveloffset=+1]

51 changes: 51 additions & 0 deletions modules/develop/pages/developing-with-che.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
:_content-type: CONCEPT
:navtitle: What you can do in a Cloud Development Environment
:description: Che Cloud Development Environments provide a complete, pre-configured development setup defined by a devfile in your Git repository.
:keywords: develop, overview, devfile, credentials, containers, storage, workflow

[id="developing-with-che"]
= What you can do in a Cloud Development Environment

[role="_abstract"]
{prod-short} Cloud Development Environments provide a complete, pre-configured development setup defined by a devfile in your Git repository. You can mount credentials, run containers, persist data, and collaborate with your team.


*How devfiles define your environment*

A `devfile.yaml` in your Git repository specifies container images, commands, endpoints, and volume mounts for your Cloud Development Environment. Devfile components map to containers in the workspace pod. When no devfile is present, {prod-short} uses the Universal Developer Image (UDI) with common language runtimes and tools pre-installed.

*How credentials are injected*

{orch-name} Secrets and ConfigMaps with specific labels are automatically mounted into all workspace containers by the {devworkspace} Controller. Git credentials, SSH keys, Maven settings, and API keys are injected without manual setup per Cloud Development Environment.

*How storage works*

Cloud Development Environment data is ephemeral by default and lost when the workspace stops. To persist data across restarts, request a PersistentVolume through a `volume` component in the devfile or apply a PersistentVolumeClaim (PVC) directly. Backup snapshots can restore uncommitted changes after a workspace is deleted.

*Your development workflow*

A typical development session follows this cycle: start a Cloud Development Environment from a Git URL, write and test code, commit changes, and stop the workspace. Data in `/projects` persists across restarts when using per-user storage. When you delete a workspace, backup snapshots preserve uncommitted work.

.What do you need to do?
[cols="1,2", options="header"]
|===
| Goal | Description

| Manage credentials and configurations
| Mount Secrets, ConfigMaps, SSH keys, and Git configuration so that tools authenticate automatically.

| Use fuse-overlayfs for containers
| Use fuse-overlayfs for Podman and Buildah, or kubedock for lightweight container execution.

| Collaborate with your team
| Add factory badges for contributors, review pull requests in cloud workspaces, and integrate with GitHub Actions.

| Persist and restore workspace data
| Request persistent storage in devfiles or PVCs, and restore Cloud Development Environments from backup snapshots.

| Prevent workspace idling
| Keep long-running commands active so that unattended tasks complete without interruption.

| Customize workspace creation with URL parameters
| Customize Cloud Development Environment creation by appending parameters to the workspace start URL.
|===
Loading
Loading