CheCluster Custom Resource fields reference

This section describes all fields available to customize the CheCluster Custom Resource.

Example 1. A minimal CheCluster Custom Resource example.
apiVersion: org.eclipse.che/v2
kind: CheCluster
metadata:
  name: eclipse-che
spec:
  devEnvironments:
    defaultNamespace:
      template: '<username>-che'
    storage:
      pvcStrategy: 'common'
  components:
    database:
      externalDb: false
    metrics:
      enable: true

Table 1. Development environment configuration options.
Property Description

defaultComponents

Default components applied to DevWorkspaces. These default components are meant to be used when a Devfile, that does not contain any components.

defaultEditor

The default editor to workspace create with. It could be a plugin ID or a URI. The plugin ID must have publisher/plugin/version format. The URI must start from http:// or https://.

defaultNamespace

User’s default namespace.

defaultPlugins

Default plug-ins applied to DevWorkspaces.

nodeSelector

The node selector limits the nodes that can run the workspace pods.

storage

Workspaces persistent storage.

tolerations

The pod tolerations of the workspace pods limit where the workspace pods can run.

trustedCerts

Trusted certificate settings.

Table 2. Che components configuration.
Property Description

cheServer

General configuration settings related to the Che server.

dashboard

Configuration settings related to the dashboard used by the Che installation.

database

Configuration settings related to the database used by the Che installation.

devWorkspace

DevWorkspace Operator configuration.

devfileRegistry

Configuration settings related to the devfile registry used by the Che installation.

imagePuller

Kubernetes Image Puller configuration.

metrics

Che server metrics configuration.

pluginRegistry

Configuration settings related to the plug-in registry used by the Che installation.

Table 3. DevWorkspace operator component configuration.
Property Description

deployment

Deployment override options.

runningLimit

The maximum number of running workspaces per user.

Table 4. General configuration settings related to the Che server component.
Property Description

clusterRoles

ClusterRoles assigned to Che ServiceAccount. The defaults roles are: - <che-namespace>-cheworkspaces-namespaces-clusterrole - <che-namespace>-cheworkspaces-clusterrole - <che-namespace>-cheworkspaces-devworkspace-clusterrole where the <che-namespace> is the namespace where the CheCluster CRD is created. Each role must have a app.kubernetes.io/part-of=che.eclipse.org label. The Che Operator must already have all permissions in these ClusterRoles to grant them.

debug

Enables the debug mode for Che server.

deployment

Deployment override options.

extraProperties

A map of additional environment variables applied in the generated che ConfigMap to be used by the Che server in addition to the values already generated from other fields of the CheCluster custom resource (CR). If the extraProperties field contains a property normally generated in che ConfigMap from other CR fields, the value defined in the extraProperties is used instead.

logLevel

The log level for the Che server: INFO or DEBUG.

proxy

Proxy server settings for Kubernetes cluster. No additional configuration is required for OpenShift cluster. By specifying these settings for the OpenShift cluster, you override the OpenShift proxy configuration.

Table 5. Configuration settings related to the Plug-in registry component used by the Che installation.
Property Description

deployment

Deployment override options.

disableInternalRegistry

Disables internal plug-in registry.

externalPluginRegistries

External plugin registries.

Table 6. Configuration settings related to the Devfile registry component used by the Che installation.
Property Description

deployment

Deployment override options.

disableInternalRegistry

Disables internal devfile registry.

externalDevfileRegistries

External devfile registries serving sample ready-to-use devfiles.

Table 7. Configuration settings related to the Database component used by the Che installation.
Property Description

credentialsSecretName

The secret that contains PostgreSQL user and password that the Che server uses to connect to the database. The secret must have a app.kubernetes.io/part-of=che.eclipse.org label.

deployment

Deployment override options.

externalDb

Instructs the Operator to deploy a dedicated database. By default, a dedicated PostgreSQL database is deployed as part of the Che installation. When externalDb is set as true, no dedicated database is deployed by the Operator and you need to provide connection details about the external database you want to use.

postgresDb

PostgreSQL database name that the Che server uses to connect to the database.

postgresHostName

PostgreSQL database hostname that the Che server connects to. Override this value only when using an external database. See field externalDb.

postgresPort

PostgreSQL Database port the Che server connects to. Override this value only when using an external database. See field externalDb.

pvc

PVC settings for PostgreSQL database.

Table 8. Configuration settings related to the Dashboard component used by the Che installation.
Property Description

deployment

Deployment override options.

headerMessage

Dashboard header message.

Table 9. Kubernetes Image Puller component configuration.
Property Description

enable

Install and configure the community supported Kubernetes Image Puller Operator. When you set the value to true without providing any specs, it creates a default Kubernetes Image Puller object managed by the Operator. When you set the value to false, the Kubernetes Image Puller object is deleted, and the Operator uninstalled, regardless of whether a spec is provided. If you leave the spec.images field empty, a set of recommended workspace-related images is automatically detected and pre-pulled after installation. Note that while this Operator and its behavior is community-supported, its payload may be commercially-supported for pulling commercially-supported images.

spec

A Kubernetes Image Puller spec to configure the image puller in the CheCluster.

Table 10. Che server metrics component configuration.
Property Description

enable

Enables metrics for the Che server endpoint.

Table 11. Networking, Che authentication and TLS configuration.
Property Description

annotations

Defines annotations which will be set for an Ingress (a route for OpenShift platform). The defaults for kubernetes platforms are: kubernetes.io/ingress.class: \nginx\ nginx.ingress.kubernetes.io/proxy-read-timeout: \3600\, nginx.ingress.kubernetes.io/proxy-connect-timeout: \3600\, nginx.ingress.kubernetes.io/ssl-redirect: \true\

auth

Authentication settings.

domain

For an OpenShift cluster, the Operator uses the domain to generate a hostname for the route. The generated hostname follows this pattern: che-<che-namespace>.<domain>. The <che-namespace> is the namespace where the CheCluster CRD is created. In conjunction with labels, it creates a route served by a non-default Ingress controller. For a Kubernetes cluster, it contains a global ingress domain. There are no default values: you must specify them.

hostname

The public hostname of the installed Che server.

labels

Defines labels which will be set for an Ingress (a route for OpenShift platform).

tlsSecretName

The name of the secret used to set up Ingress TLS termination. If the field is an empty string, the default cluster certificate is used. The secret must have a app.kubernetes.io/part-of=che.eclipse.org label.

Table 12. Configuration of an alternative registry that stores Che images.
Property Description

hostname

An optional hostname or URL of an alternative container registry to pull images from. This value overrides the container registry hostname defined in all the default container images involved in a Che deployment. This is particularly useful for installing Che in a restricted environment.

organization

An optional repository name of an alternative registry to pull images from. This value overrides the container registry organization defined in all the default container images involved in a Che deployment. This is particularly useful for installing Che in a restricted environment.

Table 13. CheCluster Custom Resource status defines the observed state of Che installation
Property Description

chePhase

Specifies the current phase of the Che deployment.

cheURL

Public URL of the Che server.

cheVersion

Currently installed Che version.

devfileRegistryURL

The public URL of the internal devfile registry.

gatewayPhase

Specifies the current phase of the gateway deployment.

message

A human readable message indicating details about why the Che deployment is in the current phase.

pluginRegistryURL

The public URL of the internal plug-in registry.

postgresVersion

The PostgreSQL version of the image in use.

reason

A brief CamelCase message indicating details about why the Che deployment is in the current phase.

workspaceBaseDomain

The resolved workspace base domain. This is either the copy of the explicitly defined property of the same name in the spec or, if it is undefined in the spec and we’re running on OpenShift, the automatically resolved basedomain for routes.