diff --git a/modules/discover/nav.adoc b/modules/discover/nav.adoc index 1bbd8de2b9..524abce17d 100644 --- a/modules/discover/nav.adoc +++ b/modules/discover/nav.adoc @@ -1,6 +1,9 @@ .Discover * xref:what-is-che.adoc[] +* xref:what-problems-che-solves.adoc[] +* xref:who-is-che-for.adoc[] +* xref:when-to-use-che.adoc[] * xref:architecture-overview.adoc[] ** xref:server-components.adoc[] *** xref:che-operator.adoc[] diff --git a/modules/discover/pages/architecture-overview.adoc b/modules/discover/pages/architecture-overview.adoc index fa60f4390f..77ab3d8986 100644 --- a/modules/discover/pages/architecture-overview.adoc +++ b/modules/discover/pages/architecture-overview.adoc @@ -1,16 +1,14 @@ :_content-type: CONCEPT -:description: {prod-short} runs on three groups of components — server components, the {devworkspace} Operator, and user workspaces — that communicate through {devworkspace} custom resources on {orch-name}. +:description: {prod-short} fits together three groups of components that communicate through {devworkspace} custom resources on {orch-name}: server components, the {devworkspace} Operator, and user workspaces. :keywords: architecture, discover, components, devworkspace -:navtitle: Architecture overview -:page-aliases: administration-guide:architecture-overview.adoc, .:che-architecture-overview.adoc, .:high-level-che-architecture.adoc, overview:high-level-che-architecture.adoc, administration-guide:high-level-che-architecture.adoc, che-architecture-overview.adoc, .:che-architecture-overview-with-che-server.adoc, .:high-level-che-architecture-with-che-server.adoc, overview:high-level-che-architecture-with-che-server.adoc, administration-guide:high-level-che-architecture-with-che-server.adoc, .:che-architecture-overview-with-devworkspace.adoc, .:high-level-che-architecture-with-devworkspace.adoc, overview:high-level-che-architecture-with-devworkspace.adoc, administration-guide:high-level-che-architecture-with-devworkspace.adoc, architecture-overview-with-devworkspace.adoc, architecture-overview-with-che-server, server-components-with-che-server.adoc, che-workspaces-architecture-with-che-server.adoc, backup-and-recovery.adoc, supported-restic-compatible-backup-servers.adoc, backing-up-of-che-instances-to-an-sftp-backup-server.adoc, backing-up-of-che-instances-to-amazon-s3.adoc, backing-up-of-che-instances-to-a-rest-backup-server.adoc, backing-up-of-che-instances-to-the-internal-backup-server.adoc, restoring-a-che-instance-from-a-backup.adoc, backups-of-persistent-volumes.adoc, readiness-init-containers.adoc, enabling-and-disabling-readiness-init-containers-for-the-operator-installer.adoc, enabling-readiness-init-containers-for-the-operator-installer.adoc, disabling-readiness-init-containers-for-the-operator-installer.adoc, enabling-and-disabling-readiness-init-containers-for-the-olm-installer.adoc, enabling-readiness-init-containers-for-the-olm-installer.adoc, disabling-readiness-init-containers-for-the-olm-installer.adoc, overview:architecture-overview.adoc, overview:che-architecture.adoc +:navtitle: How the components fit together +:page-aliases: administration-guide:architecture-overview.adoc, administration-guide:high-level-che-architecture.adoc, administration-guide:high-level-che-architecture-with-che-server.adoc, administration-guide:high-level-che-architecture-with-devworkspace.adoc, overview:architecture-overview.adoc, overview:high-level-che-architecture.adoc, overview:high-level-che-architecture-with-che-server.adoc, overview:high-level-che-architecture-with-devworkspace.adoc, overview:che-architecture.adoc [id="architecture"] -= {prod-short} architecture += How the components fit together [role="_abstract"] -{prod-short} runs on three groups of components — server components, the {devworkspace} Operator, and user workspaces — that communicate through {devworkspace} custom resources on {orch-name}. Each group has a distinct role in delivering cloud development environments, and {orch-name} RBAC controls access to all resources. - -include::partial$snip_persona-discover.adoc[] +{prod-short} fits together three groups of components that communicate through {devworkspace} custom resources on {orch-name}: server components, the {devworkspace} Operator, and user workspaces. Each group has a distinct role in delivering cloud development environments, and {orch-name} RBAC controls access to all resources. .High-level {prod-short} architecture with the {devworkspace} operator image::architecture/{project-context}-interacting-with-devworkspace.png[] @@ -24,16 +22,18 @@ Manage User {orch-namespace} and workspaces. The main component is the User dash Creates and controls the necessary {orch-name} objects to run User workspaces. Including `Pods`, `Services`, and `PersistentVolumes`. User workspaces:: -Container-based development environments, the IDE included. +Container-based development environments, the Integrated Development Environment (IDE) included. The role of these {orch-name} features is central: {devworkspace} Custom Resources:: Valid {orch-name} objects representing the User workspaces and manipulated by {prod-short}. It is the communication channel for the three groups of components. -{orch-name} role-based access control (RBAC):: +{orch-name} role-based access control (RBAC):: Controls access to all resources. +Additional resources links to dedicated pages for the server deployments, the {devworkspace} Operator reconciliation loop, and the structure of user workspace pods. The {devworkspace} Operator repository and the {orch-name} Custom Resources documentation provide implementation details. + .Additional resources * xref:server-components.adoc[] diff --git a/modules/discover/pages/che-devfile-registry.adoc b/modules/discover/pages/che-devfile-registry.adoc index e40f240be7..3d2395216d 100644 --- a/modules/discover/pages/che-devfile-registry.adoc +++ b/modules/discover/pages/che-devfile-registry.adoc @@ -1,17 +1,15 @@ :_content-type: CONCEPT :description: The devfile registry provides a list of sample devfiles for creating ready-to-use workspaces. :keywords: devfile, registry, samples, discover -:navtitle: Devfile registry +:navtitle: Devfile registry and workspace templates :page-aliases: administration-guide:che-devfile-registry.adoc [id="devfile-registry"] -= Devfile registry += Devfile registry and workspace templates [role="_abstract"] The devfile registry provides a list of sample devfiles for creating ready-to-use workspaces. Use these samples as starting points for your development environments. -include::partial$snip_persona-discover.adoc[] - A devfile registry is a service providing a list of sample devfiles. You can use these samples to create ready-to-use workspaces. diff --git a/modules/discover/pages/che-operator.adoc b/modules/discover/pages/che-operator.adoc index 920f08eb05..33d362868d 100644 --- a/modules/discover/pages/che-operator.adoc +++ b/modules/discover/pages/che-operator.adoc @@ -1,37 +1,30 @@ :_content-type: ASSEMBLY :description: The {prod-short} Operator manages the full lifecycle of {prod-short} server components through the CheCluster custom resource. :keywords: operator, architecture, lifecycle, discover -:navtitle: {prod-short} operator +:navtitle: Operator and lifecycle management :page-aliases: administration-guide:che-operator.adoc [id="{prod-id-short}-operator"] -= {prod-short} operator += Operator and lifecycle management [role="_abstract"] The {prod-short} Operator manages the full lifecycle of {prod-short} server components through the `CheCluster` custom resource. Creating a `CheCluster` CR triggers the Operator to deploy the {devworkspace} Operator, gateway, dashboard, server, and plug-in registry. -include::partial$snip_persona-discover.adoc[] - -The {prod-short} operator ensures full lifecycle management of the {prod-short} server components. -It introduces: - `CheCluster` custom resource definition (CRD):: Defines the `CheCluster` {orch-name} object. {prod-short} controller:: - -Creates and controls the necessary {orch-name} objects to run a {prod-short} instance, such as pods, services, and persistent volumes. +Creates and controls the necessary {orch-name} objects to run an {prod-short} instance, such as pods, services, and persistent volumes. `CheCluster` custom resource (CR):: -On a cluster with the {prod-short} operator, it is possible to create a `CheCluster` custom resource (CR). The {prod-short} operator ensures the full lifecycle management of the {prod-short} server components on this {prod-short} instance: -+ -* xref:devworkspace-operator.adoc[] -* xref:gateway.adoc[] -* xref:dashboard.adoc[] -* xref:che-server.adoc[] -* xref:plugin-registry.adoc[] +On a cluster with the {prod-short} operator, it is possible to create a `CheCluster` custom resource (CR). The {prod-short} operator ensures the full lifecycle management of the {prod-short} server components on this {prod-short} instance. These components include the {devworkspace} Operator, gateway, user dashboard, {prod-short} server, and plug-in registry. The configuration guide in Additional resources documents every field in the `CheCluster` CR, and the install guide walks through initial deployment. .Additional resources * xref:administration-guide:understanding-the-checluster-custom-resource.adoc[] * xref:install:installing-che.adoc[] +* xref:devworkspace-operator.adoc[] +* xref:gateway.adoc[] +* xref:dashboard.adoc[] +* xref:che-server.adoc[] +* xref:plugin-registry.adoc[] diff --git a/modules/discover/pages/che-server.adoc b/modules/discover/pages/che-server.adoc index 81bd09b7be..43ae745a71 100644 --- a/modules/discover/pages/che-server.adoc +++ b/modules/discover/pages/che-server.adoc @@ -1,17 +1,15 @@ :_content-type: ASSEMBLY :description: The {prod-short} server is a Java web service that creates user namespaces, provisions them with secrets and config maps, and integrates with Git service providers. :keywords: server, architecture, namespaces, git, discover -:navtitle: {prod-short} server +:navtitle: Server and namespace provisioning :page-aliases: administration-guide:che-server.adoc [id="{prod-id-short}-server-with-devworkspace"] -= {prod-short} server += Server and namespace provisioning [role="_abstract"] The {prod-short} server is a Java web service that creates user namespaces, provisions them with secrets and config maps, and integrates with Git service providers for devfile fetching and authentication. -include::partial$snip_persona-discover.adoc[] - The {prod-short} server main functions are: * Creating user namespaces. diff --git a/modules/discover/pages/dashboard.adoc b/modules/discover/pages/dashboard.adoc index 2e04720d7d..11c5b2f1fe 100644 --- a/modules/discover/pages/dashboard.adoc +++ b/modules/discover/pages/dashboard.adoc @@ -1,42 +1,35 @@ :_content-type: ASSEMBLY :description: The user dashboard is the landing page of {prod} where users create, manage, and access their workspaces. :keywords: dashboard, architecture, user interface, discover -:navtitle: User dashboard +:navtitle: Dashboard and workspace management :page-aliases: administration-guide:dashboard.adoc [id="dashboard"] -= User dashboard += Dashboard and workspace management [role="_abstract"] The user dashboard is the landing page of {prod} where users create, manage, and access their workspaces. It coordinates with the {prod-short} server, plug-in registry, and {orch-name} API to convert devfiles into running workspace pods. -include::partial$snip_persona-discover.adoc[] - -The user dashboard is the landing page of {prod}. -{prod-short} users browse the user dashboard to access and manage their workspaces. -It is a React application. +It is a React application. The {prod-short} deployment starts it in the `{prod-deployment}-dashboard` Deployment. -It needs access to: - -* xref:che-server.adoc[] -* xref:plugin-registry.adoc[] -* {orch-name} API +It needs access to the {prod-short} server, the plug-in registry, and the {orch-name} Application Programming Interface (API). .User dashboard interactions with other components image::architecture/{project-context}-dashboard-interactions.png[User dashboard interactions with other components] When the user requests the user dashboard to start a workspace, the user dashboard executes this sequence of actions: -. Sends the repository URL to xref:che-server.adoc[] and expects a devfile in return, when the user is creating a workspace from a remote devfile. +. Sends the repository URL to the {prod-short} server and expects a devfile in return, when the user is creating a workspace from a remote devfile. . Reads the devfile describing the workspace. -. Collects the additional metadata from the xref:plugin-registry.adoc[]. +. Collects the additional metadata from the plug-in registry. . Converts the information into a {devworkspace} Custom Resource. . Creates the {devworkspace} Custom Resource in the user {orch-namespace} using the {orch-name} API. . Watches the {devworkspace} Custom Resource status. . Redirects the user to the running workspace IDE. - .Additional resources -include::example$snip_{project-context}-dashboard-additional-resources.adoc[] +* xref:administration-guide:configuring-dashboard.adoc[] +* xref:che-server.adoc[] +* xref:plugin-registry.adoc[] diff --git a/modules/discover/pages/devworkspace-operator.adoc b/modules/discover/pages/devworkspace-operator.adoc index 60009c30f0..9fa9967940 100644 --- a/modules/discover/pages/devworkspace-operator.adoc +++ b/modules/discover/pages/devworkspace-operator.adoc @@ -1,17 +1,15 @@ :_content-type: ASSEMBLY :description: The {devworkspace} Operator (DWO) extends {orch-name} to manage workspace pods, services, and persistent volumes by reconciling {devworkspace} custom resources. :keywords: devworkspace, operator, architecture, discover -:navtitle: {devworkspace} operator +:navtitle: {devworkspace} Operator and workspace pods :page-aliases: administration-guide:devworkspace-operator.adoc, .:devworkspace-operator.adoc [id="devworkspace-operator"] -= {devworkspace} Operator overview += {devworkspace} Operator and workspace pods [role="_abstract"] The {devworkspace} Operator (DWO) extends {orch-name} to manage workspace pods, services, and persistent volumes by reconciling {devworkspace} custom resources. Every {prod-short} workspace has an underlying {devworkspace} CR that contains the devfile, editor definition, and configuration attributes. -include::partial$snip_persona-discover.adoc[] - The {devworkspace} CR is a {orch-name} resource representation of a {prod-short} workspace. Whenever a user creates a workspace using {prod-short} in the background, Dashboard {prod-short} creates a {devworkspace} CR in the cluster. For every {prod-short} workspace, there is an underlying {devworkspace} CR on the cluster. .Example of a {devworkspace} CR in a cluster @@ -127,7 +125,7 @@ where: `devworkspace-webhook-server-*`:: The {devworkspace} operator webhook server pods. -== Configuring the {devworkspace}-controller-manager deployment +== {devworkspace}-controller-manager deployment You can configure the `devworkspace-controller-manager` pod in the {devworkspace} Operator Subscription object: @@ -152,7 +150,7 @@ spec: cpu: ... ---- -== Configuring the {devworkspace}-webhook-server deployment +== {devworkspace}-webhook-server deployment You can configure the `devworkspace-webhook-server` deployment in the global DWOC: diff --git a/modules/discover/pages/gateway.adoc b/modules/discover/pages/gateway.adoc index dc107f7907..0e6f01942e 100644 --- a/modules/discover/pages/gateway.adoc +++ b/modules/discover/pages/gateway.adoc @@ -1,37 +1,34 @@ :_content-type: ASSEMBLY :description: The {prod-short} gateway routes requests, authenticates users with OpenID Connect (OIDC), and enforces {orch-name} RBAC policies. :keywords: gateway, architecture, traefik, authentication, discover -:navtitle: Gateway +:navtitle: Gateway and request routing :page-aliases: administration-guide:gateway.adoc [id="gateway"] -= Gateway += Gateway and request routing [role="_abstract"] The {prod-short} gateway routes requests, authenticates users with OpenID Connect (OIDC), and enforces {orch-name} RBAC policies. It controls access to the dashboard, server, plug-in registry, and every user workspace. -include::partial$snip_persona-discover.adoc[] +The `che-gateway` Deployment contains four containers: -The {prod-short} gateway has the following roles: +* `gateway` (Traefik) routes requests to the correct backend service. +* `oauth-proxy` (OAuth2 Proxy) authenticates users with OpenID Connect (OIDC). +* `kube-rbac-proxy` applies {orch-name} Role Based Access Control (RBAC) policies to control access to any {prod-short} resource. +* `configbump` watches for configuration changes and reloads Traefik routing rules without restarting the Pod. -* Routing requests. It uses link:https://github.com/traefik/traefik[Traefik]. +Each container performs a distinct security and routing function. The security guide in Additional resources covers how to configure the access control policies that these containers enforce, and the Traefik, OAuth2 Proxy, and kube-rbac-proxy project repositories provide upstream documentation for each container. -* Authenticating users with OpenID Connect (OIDC). It uses {link-oauth2-proxy}. - -* Applying {orch-name} Role based access control (RBAC) policies to control access to any {prod-short} resource. It uses {link-kube-rbac-proxy}. - -The {prod-short} operator manages it as the `che-gateway` Deployment. +.{prod-short} gateway interactions with other components +image::architecture/{project-context}-gateway-interactions.png[Gateway interactions] -It controls access to: +.Additional resources +* xref:secure:managing-identities-and-authorizations.adoc[] +* link:https://github.com/traefik/traefik[Traefik] +* link:https://github.com/oauth2-proxy/oauth2-proxy[OAuth2 Proxy] +* link:https://github.com/brancz/kube-rbac-proxy[kube-rbac-proxy] * xref:dashboard.adoc[] * xref:che-server.adoc[] * xref:plugin-registry.adoc[] * xref:user-workspaces.adoc[] - -.{prod-short} gateway interactions with other components -image::architecture/{project-context}-gateway-interactions.png[{prod-short} gateway interactions with other components] - -.Additional resources - -* xref:secure:managing-identities-and-authorizations.adoc[] diff --git a/modules/discover/pages/plugin-registry.adoc b/modules/discover/pages/plugin-registry.adoc index 600319e6f0..e33012eb41 100644 --- a/modules/discover/pages/plugin-registry.adoc +++ b/modules/discover/pages/plugin-registry.adoc @@ -1,22 +1,16 @@ :_content-type: CONCEPT :description: The {prod-short} plug-in registry provides the list of available editors and editor extensions, each described by a Devfile v2. :keywords: plugin, registry, editors, extensions, discover -:navtitle: Plugin registry +:navtitle: Plug-in registry and editor definitions :page-aliases: administration-guide:plugin-registry.adoc, plug-in-registry [id="plugin-registry"] -= Plugin registry += Plug-in registry and editor definitions [role="_abstract"] The {prod-short} plug-in registry provides the list of available editors and editor extensions, each described by a Devfile v2. The dashboard reads this registry when assembling the {devworkspace} custom resource for a new workspace. -include::partial$snip_persona-discover.adoc[] - -Each {prod-short} workspace starts with a specific editor and set of associated extensions. -The {prod-short} plugin registry provides the list of available editors and editor extensions. -A Devfile v2 describes each editor or extension. - -The xref:dashboard.adoc[] is reading the content of the registry. +The user dashboard reads the content of the registry to determine which editors and extensions are available. The `che-editors.yaml` file linked in Additional resources lists every editor definition, and the online instance provides the latest community version of the registry. .Plugin registries interactions with other components image::architecture/{project-context}-plugin-registry-interactions.png[Plugin registries interactions with other components] diff --git a/modules/discover/pages/roles-and-tasks.adoc b/modules/discover/pages/roles-and-tasks.adoc index c487c1a27b..dbbe35b8a4 100644 --- a/modules/discover/pages/roles-and-tasks.adoc +++ b/modules/discover/pages/roles-and-tasks.adoc @@ -9,8 +9,7 @@ [role="_abstract"] {prod-short} documentation is written for specific user roles. Each guide and procedure identifies its intended audience so that you can find the content relevant to your responsibilities. -== Platform administrator - +== Platform administrator tasks and guides Platform administrators deploy, configure, secure, upgrade, and monitor {prod-short} on {orch-name} clusters. They manage the Operator, the `CheCluster` custom resource, and the platform infrastructure that developers use. @@ -19,16 +18,17 @@ Common tasks include: * Deploy {prod-short} on a cluster. See xref:install:installing-che.adoc[]. * Configure the `CheCluster` custom resource. See xref:administration-guide:understanding-the-checluster-custom-resource.adoc[]. * Set up OAuth for Git providers. See xref:administration-guide:configuring-oauth-for-git-providers.adoc[]. -* Upgrade to the latest version. See xref:administration-guide:upgrading-che.adoc[]. +* Control workspace start times with image caching. See xref:optimize:caching-images-for-faster-workspace-start.adoc[]. +* Upgrade to the latest version. See xref:upgrade:upgrading-che.adoc[]. * Monitor metrics and logs. See xref:administration-guide:configuring-observability.adoc[]. -== Developer - +== Developer tasks and guides Developers create workspaces, write code, use IDE extensions, and integrate with Git repositories. They consume the cloud development environments that platform administrators provide. Common tasks include: -* Create a workspace from a Git repository. See xref:end-user-guide:starting-a-workspace-from-a-git-repository-url.adoc[]. -* Authenticate to Git servers. See xref:end-user-guide:using-a-git-provider-access-token.adoc[]. -* Configure IDE extensions. See xref:end-user-guide:microsoft-visual-studio-code-open-source-ide.adoc[]. +* Create a workspace from a Git repository. See xref:get-started:starting-a-workspace-from-a-git-repository-url.adoc[]. +* Authenticate to Git servers. See xref:get-started:using-a-git-provider-access-token.adoc[]. +* Install and manage IDE extensions. See xref:end-user-guide:microsoft-visual-studio-code-open-source-ide.adoc[]. +* Use devfiles to define workspace configuration. See xref:end-user-guide:devfile-introduction.adoc[]. diff --git a/modules/discover/pages/server-components.adoc b/modules/discover/pages/server-components.adoc index f9f279e322..5e4829e689 100644 --- a/modules/discover/pages/server-components.adoc +++ b/modules/discover/pages/server-components.adoc @@ -1,16 +1,14 @@ :_content-type: ASSEMBLY -:description: The {prod-short} server components manage multi-tenancy and workspace lifecycle. Understanding these components helps you troubleshoot issues and plan cluster capacity. +:description: Your cluster runs four {prod-short} server deployments that manage multi-tenancy and workspace lifecycle: the gateway routes and authenticates requests, the dashboard provides the user interface, the server provisions namespaces and integrates with Git providers, and the plug-in registry supplies editor definitions. :keywords: architecture, server, components, devworkspace, discover -:navtitle: Server components +:navtitle: What runs on your cluster :page-aliases: administration-guide:server-components.adoc [id="{prod-id-short}-server-components"] -= {prod-short} server components += What runs on your cluster [role="_abstract"] -The {prod-short} server components manage multi-tenancy and workspace lifecycle. Understanding these components helps you troubleshoot issues and plan cluster capacity. - -include::partial$snip_persona-discover.adoc[] +Your cluster runs four {prod-short} server deployments that manage multi-tenancy and workspace lifecycle: the gateway routes and authenticates requests, the dashboard provides the user interface, the server provisions namespaces and integrates with Git providers, and the plug-in registry supplies editor definitions. .{prod-short} server components interacting with the {devworkspace} operator image::architecture/{project-context}-deployments-interacting-with-devworkspace.png[] diff --git a/modules/discover/pages/supported-platforms.adoc b/modules/discover/pages/supported-platforms.adoc index 7271326d40..4a1baa35ce 100644 --- a/modules/discover/pages/supported-platforms.adoc +++ b/modules/discover/pages/supported-platforms.adoc @@ -10,6 +10,4 @@ [role="_abstract"] {prod-short} runs on a specific range of {orch-name} versions and CPU architectures. Confirm that your target cluster matches a supported combination before starting the installation. -include::partial$snip_persona-discover.adoc[] - include::example$snip_{project-context}-supported-platforms.adoc[] diff --git a/modules/discover/pages/user-workspaces.adoc b/modules/discover/pages/user-workspaces.adoc index 76b8b7e204..e3ce586564 100644 --- a/modules/discover/pages/user-workspaces.adoc +++ b/modules/discover/pages/user-workspaces.adoc @@ -1,17 +1,15 @@ :_content-type: REFERENCE :description: User workspaces provide browser-based IDEs running in {orch-name} containers, giving developers on-demand access to editors, language servers, debugging tools, and application runtimes. :keywords: workspaces, architecture, devworkspace, discover -:navtitle: User workspaces +:navtitle: What developers get in a workspace :page-aliases: administration-guide:user-workspaces.adoc [id="user-workspaces"] -= User workspaces += What developers get in a workspace [role="_abstract"] User workspaces provide browser-based IDEs running in {orch-name} containers, giving developers on-demand access to editors, language servers, debugging tools, and application runtimes without local setup. -include::partial$snip_persona-discover.adoc[] - .User workspaces interactions with other components image::architecture/{project-context}-user-workspaces-interactions.png[User workspaces interactions with other components] @@ -45,4 +43,4 @@ The following diagram shows one running {prod-short} workspace and its component .{prod-short} workspace components image::workspace-components-with-dw.png[Workspace components] -In the diagram, there is one running workspaces. +In the diagram, there is one running workspace. diff --git a/modules/discover/pages/what-is-che.adoc b/modules/discover/pages/what-is-che.adoc index 50ff9d512b..223bf5d3d2 100644 --- a/modules/discover/pages/what-is-che.adoc +++ b/modules/discover/pages/what-is-che.adoc @@ -10,8 +10,6 @@ [role="_abstract"] Evaluate {prod-short} as a cloud development platform that delivers container-based, reproducible workspaces on {platforms-name} to accelerate developer onboarding and reduce environment inconsistencies. -include::partial$snip_persona-discover.adoc[] - {prod} is a {kubernetes}-native platform that provides cloud development environments (CDEs) to development teams. Instead of configuring local machines, developers get on-demand workspaces: container-based environments with all the tools, dependencies, and IDE access needed to code, build, test, and debug applications. == Core goals @@ -45,7 +43,7 @@ Enterprise integration:: {prod-short} defines a workspace as the project source code together with all dependencies necessary to edit, build, run, and debug it. The IDE and development runtime are treated as workspace dependencies, embedded and always included. This differentiates {prod-short} from traditional development environments where the IDE is bound to a workstation and runtimes are configured locally. -{prod-short} workspaces are {platforms-name} Pods that replicate application runtimes used in production and provide a development layer on top: intelligent code completion, debugging, and IDE tools. Workspaces are isolated from one another and manage the lifecycle of their own components. +{prod-short} workspaces are {platforms-name} Pods that replicate application runtimes used in production and provide a development layer on top: intelligent code completion, debugging, and IDE tools. Workspaces are isolated from one another and manage the lifecycle of their own components. Additional resources describes the architecture that delivers these workspaces and the platforms that {prod-short} supports. == Joining the community diff --git a/modules/discover/pages/what-problems-che-solves.adoc b/modules/discover/pages/what-problems-che-solves.adoc new file mode 100644 index 0000000000..be7f4abe00 --- /dev/null +++ b/modules/discover/pages/what-problems-che-solves.adoc @@ -0,0 +1,34 @@ +:_content-type: CONCEPT +:description: {prod-short} solves six common development workflow problems by providing ready-to-code cloud workspaces from Git repositories. +:keywords: problems, onboarding, consistency, security, compliance +:navtitle: What problems does {prod-short} solve? + +[id="what-problems-{prod-id-short}-solves"] += What problems does {prod-short} solve? + +[role="_abstract"] +{prod-short} solves six common development workflow problems by providing ready-to-code cloud workspaces from Git repositories. Developers open a URL and start coding within minutes. + +== Environment inconsistency + +When every developer configures their own local environment, differences in OS versions, tool versions, and dependencies cause "works on my machine" failures. {prod-short} uses devfiles, declarative YAML files that define the exact tools, runtimes, and dependencies for a project. Every developer who opens the same repository gets an identical environment. + +== Slow developer onboarding + +New team members must install tools, clone repositories, configure credentials, and troubleshoot build failures before writing their first line of code. With {prod-short}, a new developer opens the dashboard URL, pastes the team's repository link, and has a fully configured workspace within minutes. + +== Security and credential management + +Local development environments store credentials on individual laptops. {prod-short} centralizes credential management through OAuth integration with Git providers and {orch-name} RBAC. Developer tokens are stored as {orch-name} Secrets on the cluster, not on individual machines. + +== Environment drift over time + +Even teams that start with consistent environments drift as developers install different extensions, update tools independently, or modify configurations. {prod-short} rebuilds the workspace container from the devfile on each start, so the base toolchain is always consistent. The `/home/user` directory persists across restarts by default, preserving personal preferences and shell history without affecting the standardized tools and runtimes. + +== Resource constraints on developer laptops + +Complex projects with multiple microservices, databases, and build tools can overwhelm laptop hardware. {prod-short} runs workspaces on cluster infrastructure with configurable CPU, memory, and storage limits. Developers get the resources they need without upgrading their hardware. + +== Compliance in regulated environments + +Organizations in regulated industries need to control where code is developed and how it is accessed. {prod-short} runs entirely within your {orch-name} cluster and supports air-gapped environments with no internet access. In air-gapped deployments, all workspace traffic stays within your network boundary. diff --git a/modules/discover/pages/when-to-use-che.adoc b/modules/discover/pages/when-to-use-che.adoc new file mode 100644 index 0000000000..3297b7595b --- /dev/null +++ b/modules/discover/pages/when-to-use-che.adoc @@ -0,0 +1,38 @@ +:_content-type: CONCEPT +:description: {prod-short} is designed for teams that need consistent, secure, and centrally managed development environments on {orch-name}. +:keywords: evaluation, decision, use cases, enterprise, air-gapped +:navtitle: When to use {prod-short} + +[id="when-to-use-{prod-id-short}"] += When to use {prod-short} + +[role="_abstract"] +{prod-short} is designed for teams that need consistent, secure, and centrally managed development environments on {orch-name}. Not every team requires a cloud development platform, so evaluate your development workflow against the use cases below. + +== Teams that benefit from {prod-short} + +{prod-short} is a strong fit when your team faces one or more of these situations: + +* New developers join regularly and need to be productive on day one. +* Builds fail because of differences between developer machines. +* Your organization requires credentials to stay on cluster infrastructure, not on individual machines. +* Development must happen within a controlled network boundary, including air-gapped environments. +* Projects have complex dependency chains that are difficult to reproduce consistently across developer machines. + +== What {prod-short} provides for the enterprise + +On-premises control:: {prod-short} runs within your {orch-name} cluster. When deployed on-premises, your source code and credentials stay within your own infrastructure. + +Air-gapped deployment:: {prod-short} operates in disconnected environments with mirrored container images and internal extension registries. + +Native {orch-name} integration:: {prod-short} uses {orch-name} RBAC, OAuth, networking, and storage directly. No additional identity or access management layer is required. + +Open devfile standard:: Workspace definitions use the devfile format, an open standard maintained by the devfile.io community. The community site in Additional resources includes the devfile specification, sample devfiles, and tools for authoring workspace definitions. + +== What developers need to work with {prod-short} + +Developers need a supported web browser and network access to the {prod-short} dashboard URL. No local tools, CLI installations, or cluster credentials are required. + +.Additional resources + +* https://devfile.io[Devfile.io community] diff --git a/modules/discover/pages/who-is-che-for.adoc b/modules/discover/pages/who-is-che-for.adoc new file mode 100644 index 0000000000..ded046793e --- /dev/null +++ b/modules/discover/pages/who-is-che-for.adoc @@ -0,0 +1,43 @@ +:_content-type: CONCEPT +:description: {prod-short} serves two personas: platform administrators who deploy and manage the platform, and developers who use it to write code. +:keywords: personas, administrator, developer, teams, deployment +:navtitle: Who is {prod-short} for? + +[id="who-is-{prod-id-short}-for"] += Who is {prod-short} for? + +[role="_abstract"] +{prod-short} serves two personas: platform administrators who deploy and manage the platform, and developers who use it to write code. + +== Platform administrators + +Platform administrators install {prod-short} on an {orch-name} cluster and manage its lifecycle. Their responsibilities include: + +* Deploying the {prod-short} Operator and configuring the `CheCluster` Custom Resource +* Setting up OAuth for Git providers so that developers can access repositories without re-entering credentials +* Managing workspace policies such as idle timeouts, resource limits, and maximum workspaces per user +* Monitoring platform health through {devworkspace} Operator metrics and Grafana dashboards +* Upgrading {prod-short} to new versions + +Administrators primarily interact with {prod-short} through the {orch-name} web console and the `{orch-cli}` and `{prod-cli}` command-line tools. + +== Developers + +Developers receive the {prod-short} dashboard URL from their administrator and use it to create cloud workspaces. Their experience includes: + +* Opening a Git repository URL in {prod-short} to launch a workspace with their project code, tools, and dependencies +* Coding in a browser-based IDE (Microsoft Visual Studio Code - Open Source by default) with full terminal access +* Pushing commits, reviewing pull requests, and collaborating with their team from the browser +* Switching between projects by creating multiple workspaces, each isolated in its own container + +Developers do not need cluster access, `{orch-cli}` sessions, or any local tools beyond a web browser. + +== Team sizes and deployment models + +{prod-short} supports different deployment sizes: + +Small teams:: A single {prod-short} instance on a standard {orch-name} cluster handles workspace creation, storage, and networking with default settings. + +Growing teams:: As usage increases, configure resource quotas, deploy the {image-puller-name-short} for faster workspace starts, and set up monitoring to track usage patterns. + +Enterprise deployments:: For security-sensitive environments, consider air-gapped installations and advanced authorization to restrict platform access by team or group. For very large deployments, see the scalability guidance in the planning documentation. diff --git a/modules/discover/partials/snip_persona-discover.adoc b/modules/discover/partials/snip_persona-discover.adoc deleted file mode 100644 index 825a166f65..0000000000 --- a/modules/discover/partials/snip_persona-discover.adoc +++ /dev/null @@ -1 +0,0 @@ -This page is for platform administrators and developers evaluating {prod-short} as a cloud development platform. To learn more about common roles and example tasks referenced in {prod-short} documentation, see xref:roles-and-tasks.adoc[].