7708 lines
468 KiB
YAML
7708 lines
468 KiB
YAML
#
|
|
# Copyright (c) 2019-2022 Red Hat, Inc.
|
|
# This program and the accompanying materials are made
|
|
# available under the terms of the Eclipse Public License 2.0
|
|
# which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
#
|
|
# SPDX-License-Identifier: EPL-2.0
|
|
#
|
|
# Contributors:
|
|
# Red Hat, Inc. - initial API and implementation
|
|
#
|
|
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.7.0
|
|
service.beta.openshift.io/inject-cabundle: "true"
|
|
labels:
|
|
app.kubernetes.io/instance: che
|
|
app.kubernetes.io/name: che
|
|
app.kubernetes.io/part-of: che.eclipse.org
|
|
name: checlusters.org.eclipse.che
|
|
spec:
|
|
conversion:
|
|
strategy: Webhook
|
|
webhook:
|
|
clientConfig:
|
|
service:
|
|
name: che-operator-service
|
|
namespace: eclipse-che
|
|
path: /convert
|
|
conversionReviewVersions:
|
|
- v1
|
|
- v2
|
|
group: org.eclipse.che
|
|
names:
|
|
kind: CheCluster
|
|
listKind: CheClusterList
|
|
plural: checlusters
|
|
singular: checluster
|
|
scope: Namespaced
|
|
versions:
|
|
- deprecated: true
|
|
deprecationWarning: org.eclipse.che/v1 CheCluster is deprecated and will be removed
|
|
in future releases
|
|
name: v1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: The `CheCluster` custom resource allows defining and managing
|
|
a Che server installation
|
|
properties:
|
|
apiVersion:
|
|
description: 'APIVersion defines the versioned schema of this representation
|
|
of an object. Servers should convert recognized schemas to the latest
|
|
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
|
type: string
|
|
kind:
|
|
description: 'Kind is a string value representing the REST resource this
|
|
object represents. Servers may infer this from the endpoint the client
|
|
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: Desired configuration of the Che installation. Based on these
|
|
settings, the Operator automatically creates and maintains several
|
|
ConfigMaps that will contain the appropriate environment variables the
|
|
various components of the Che installation. These generated ConfigMaps
|
|
must NOT be updated manually.
|
|
properties:
|
|
auth:
|
|
description: Configuration settings related to the Authentication
|
|
used by the Che installation.
|
|
properties:
|
|
debug:
|
|
description: Deprecated. The value of this flag is ignored. Debug
|
|
internal identity provider.
|
|
type: boolean
|
|
externalIdentityProvider:
|
|
description: 'Deprecated. The value of this flag is ignored. Instructs
|
|
the Operator on whether or not to deploy a dedicated Identity
|
|
Provider (Keycloak or RH SSO instance). Instructs the Operator
|
|
on whether to deploy a dedicated Identity Provider (Keycloak
|
|
or RH-SSO instance). By default, a dedicated Identity Provider
|
|
server is deployed as part of the Che installation. When `externalIdentityProvider`
|
|
is `true`, no dedicated identity provider will be deployed by
|
|
the Operator and you will need to provide details about the
|
|
external identity provider you are about to use. See also all
|
|
the other fields starting with: `identityProvider`.'
|
|
type: boolean
|
|
gatewayAuthenticationSidecarImage:
|
|
description: Gateway sidecar responsible for authentication when
|
|
NativeUserMode is enabled. See link:https://github.com/oauth2-proxy/oauth2-proxy[oauth2-proxy]
|
|
or link:https://github.com/openshift/oauth-proxy[openshift/oauth-proxy].
|
|
type: string
|
|
gatewayAuthorizationSidecarImage:
|
|
description: Gateway sidecar responsible for authorization when
|
|
NativeUserMode is enabled. See link:https://github.com/brancz/kube-rbac-proxy[kube-rbac-proxy]
|
|
or link:https://github.com/openshift/kube-rbac-proxy[openshift/kube-rbac-proxy]
|
|
type: string
|
|
gatewayConfigBumpEnv:
|
|
description: List of environment variables to set in the Configbump
|
|
container.
|
|
items:
|
|
description: EnvVar represents an environment variable present
|
|
in a Container.
|
|
properties:
|
|
name:
|
|
description: Name of the environment variable. Must be a
|
|
C_IDENTIFIER.
|
|
type: string
|
|
value:
|
|
description: 'Variable references $(VAR_NAME) are expanded
|
|
using the previously defined environment variables in
|
|
the container and any service environment variables. If
|
|
a variable cannot be resolved, the reference in the input
|
|
string will be unchanged. Double $$ are reduced to a single
|
|
$, which allows for escaping the $(VAR_NAME) syntax: i.e.
|
|
"$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
|
|
Escaped references will never be expanded, regardless
|
|
of whether the variable exists or not. Defaults to "".'
|
|
type: string
|
|
valueFrom:
|
|
description: Source for the environment variable's value.
|
|
Cannot be used if value is not empty.
|
|
properties:
|
|
configMapKeyRef:
|
|
description: Selects a key of a ConfigMap.
|
|
properties:
|
|
key:
|
|
description: The key to select.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap or its
|
|
key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
fieldRef:
|
|
description: 'Selects a field of the pod: supports metadata.name,
|
|
metadata.namespace, `metadata.labels[''<KEY>'']`,
|
|
`metadata.annotations[''<KEY>'']`, spec.nodeName,
|
|
spec.serviceAccountName, status.hostIP, status.podIP,
|
|
status.podIPs.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema the FieldPath
|
|
is written in terms of, defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to select in the
|
|
specified API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
resourceFieldRef:
|
|
description: 'Selects a resource of the container: only
|
|
resources limits and requests (limits.cpu, limits.memory,
|
|
limits.ephemeral-storage, requests.cpu, requests.memory
|
|
and requests.ephemeral-storage) are currently supported.'
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required for volumes,
|
|
optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output format of the
|
|
exposed resources, defaults to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
secretKeyRef:
|
|
description: Selects a key of a secret in the pod's
|
|
namespace
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select from. Must
|
|
be a valid secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its key
|
|
must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
gatewayEnv:
|
|
description: List of environment variables to set in the Gateway
|
|
container.
|
|
items:
|
|
description: EnvVar represents an environment variable present
|
|
in a Container.
|
|
properties:
|
|
name:
|
|
description: Name of the environment variable. Must be a
|
|
C_IDENTIFIER.
|
|
type: string
|
|
value:
|
|
description: 'Variable references $(VAR_NAME) are expanded
|
|
using the previously defined environment variables in
|
|
the container and any service environment variables. If
|
|
a variable cannot be resolved, the reference in the input
|
|
string will be unchanged. Double $$ are reduced to a single
|
|
$, which allows for escaping the $(VAR_NAME) syntax: i.e.
|
|
"$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
|
|
Escaped references will never be expanded, regardless
|
|
of whether the variable exists or not. Defaults to "".'
|
|
type: string
|
|
valueFrom:
|
|
description: Source for the environment variable's value.
|
|
Cannot be used if value is not empty.
|
|
properties:
|
|
configMapKeyRef:
|
|
description: Selects a key of a ConfigMap.
|
|
properties:
|
|
key:
|
|
description: The key to select.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap or its
|
|
key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
fieldRef:
|
|
description: 'Selects a field of the pod: supports metadata.name,
|
|
metadata.namespace, `metadata.labels[''<KEY>'']`,
|
|
`metadata.annotations[''<KEY>'']`, spec.nodeName,
|
|
spec.serviceAccountName, status.hostIP, status.podIP,
|
|
status.podIPs.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema the FieldPath
|
|
is written in terms of, defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to select in the
|
|
specified API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
resourceFieldRef:
|
|
description: 'Selects a resource of the container: only
|
|
resources limits and requests (limits.cpu, limits.memory,
|
|
limits.ephemeral-storage, requests.cpu, requests.memory
|
|
and requests.ephemeral-storage) are currently supported.'
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required for volumes,
|
|
optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output format of the
|
|
exposed resources, defaults to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
secretKeyRef:
|
|
description: Selects a key of a secret in the pod's
|
|
namespace
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select from. Must
|
|
be a valid secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its key
|
|
must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
gatewayHeaderRewriteSidecarImage:
|
|
description: Deprecated. The value of this flag is ignored. Sidecar
|
|
functionality is now implemented in Traefik plugin.
|
|
type: string
|
|
gatewayKubeRbacProxyEnv:
|
|
description: List of environment variables to set in the Kube
|
|
rbac proxy container.
|
|
items:
|
|
description: EnvVar represents an environment variable present
|
|
in a Container.
|
|
properties:
|
|
name:
|
|
description: Name of the environment variable. Must be a
|
|
C_IDENTIFIER.
|
|
type: string
|
|
value:
|
|
description: 'Variable references $(VAR_NAME) are expanded
|
|
using the previously defined environment variables in
|
|
the container and any service environment variables. If
|
|
a variable cannot be resolved, the reference in the input
|
|
string will be unchanged. Double $$ are reduced to a single
|
|
$, which allows for escaping the $(VAR_NAME) syntax: i.e.
|
|
"$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
|
|
Escaped references will never be expanded, regardless
|
|
of whether the variable exists or not. Defaults to "".'
|
|
type: string
|
|
valueFrom:
|
|
description: Source for the environment variable's value.
|
|
Cannot be used if value is not empty.
|
|
properties:
|
|
configMapKeyRef:
|
|
description: Selects a key of a ConfigMap.
|
|
properties:
|
|
key:
|
|
description: The key to select.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap or its
|
|
key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
fieldRef:
|
|
description: 'Selects a field of the pod: supports metadata.name,
|
|
metadata.namespace, `metadata.labels[''<KEY>'']`,
|
|
`metadata.annotations[''<KEY>'']`, spec.nodeName,
|
|
spec.serviceAccountName, status.hostIP, status.podIP,
|
|
status.podIPs.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema the FieldPath
|
|
is written in terms of, defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to select in the
|
|
specified API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
resourceFieldRef:
|
|
description: 'Selects a resource of the container: only
|
|
resources limits and requests (limits.cpu, limits.memory,
|
|
limits.ephemeral-storage, requests.cpu, requests.memory
|
|
and requests.ephemeral-storage) are currently supported.'
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required for volumes,
|
|
optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output format of the
|
|
exposed resources, defaults to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
secretKeyRef:
|
|
description: Selects a key of a secret in the pod's
|
|
namespace
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select from. Must
|
|
be a valid secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its key
|
|
must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
gatewayOAuthProxyEnv:
|
|
description: List of environment variables to set in the OAuth
|
|
proxy container.
|
|
items:
|
|
description: EnvVar represents an environment variable present
|
|
in a Container.
|
|
properties:
|
|
name:
|
|
description: Name of the environment variable. Must be a
|
|
C_IDENTIFIER.
|
|
type: string
|
|
value:
|
|
description: 'Variable references $(VAR_NAME) are expanded
|
|
using the previously defined environment variables in
|
|
the container and any service environment variables. If
|
|
a variable cannot be resolved, the reference in the input
|
|
string will be unchanged. Double $$ are reduced to a single
|
|
$, which allows for escaping the $(VAR_NAME) syntax: i.e.
|
|
"$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
|
|
Escaped references will never be expanded, regardless
|
|
of whether the variable exists or not. Defaults to "".'
|
|
type: string
|
|
valueFrom:
|
|
description: Source for the environment variable's value.
|
|
Cannot be used if value is not empty.
|
|
properties:
|
|
configMapKeyRef:
|
|
description: Selects a key of a ConfigMap.
|
|
properties:
|
|
key:
|
|
description: The key to select.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap or its
|
|
key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
fieldRef:
|
|
description: 'Selects a field of the pod: supports metadata.name,
|
|
metadata.namespace, `metadata.labels[''<KEY>'']`,
|
|
`metadata.annotations[''<KEY>'']`, spec.nodeName,
|
|
spec.serviceAccountName, status.hostIP, status.podIP,
|
|
status.podIPs.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema the FieldPath
|
|
is written in terms of, defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to select in the
|
|
specified API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
resourceFieldRef:
|
|
description: 'Selects a resource of the container: only
|
|
resources limits and requests (limits.cpu, limits.memory,
|
|
limits.ephemeral-storage, requests.cpu, requests.memory
|
|
and requests.ephemeral-storage) are currently supported.'
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required for volumes,
|
|
optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output format of the
|
|
exposed resources, defaults to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
secretKeyRef:
|
|
description: Selects a key of a secret in the pod's
|
|
namespace
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select from. Must
|
|
be a valid secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its key
|
|
must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
identityProviderAdminUserName:
|
|
description: Deprecated. The value of this flag is ignored. Overrides
|
|
the name of the Identity Provider administrator user. Defaults
|
|
to `admin`.
|
|
type: string
|
|
identityProviderClientId:
|
|
description: Deprecated. The value of this flag is ignored. Name
|
|
of a Identity provider, Keycloak or RH-SSO, `client-id` that
|
|
is used for Che. Override this when an external Identity Provider
|
|
is in use. See the `externalIdentityProvider` field. When omitted
|
|
or left blank, it is set to the value of the `flavour` field
|
|
suffixed with `-public`.
|
|
type: string
|
|
identityProviderContainerResources:
|
|
description: Deprecated. The value of this flag is ignored. Identity
|
|
provider container custom settings.
|
|
properties:
|
|
limits:
|
|
description: Limits describes the maximum amount of compute
|
|
resources allowed.
|
|
properties:
|
|
cpu:
|
|
description: CPU, in cores. (500m = .5 cores)
|
|
type: string
|
|
memory:
|
|
description: Memory, in bytes. (500Gi = 500GiB = 500 *
|
|
1024 * 1024 * 1024)
|
|
type: string
|
|
type: object
|
|
request:
|
|
description: Requests describes the minimum amount of compute
|
|
resources required.
|
|
properties:
|
|
cpu:
|
|
description: CPU, in cores. (500m = .5 cores)
|
|
type: string
|
|
memory:
|
|
description: Memory, in bytes. (500Gi = 500GiB = 500 *
|
|
1024 * 1024 * 1024)
|
|
type: string
|
|
type: object
|
|
type: object
|
|
identityProviderImage:
|
|
description: Deprecated. The value of this flag is ignored. Overrides
|
|
the container image used in the Identity Provider, Keycloak
|
|
or RH-SSO, deployment. This includes the image tag. Omit it
|
|
or leave it empty to use the default container image provided
|
|
by the Operator.
|
|
type: string
|
|
identityProviderImagePullPolicy:
|
|
description: Deprecated. The value of this flag is ignored. Overrides
|
|
the image pull policy used in the Identity Provider, Keycloak
|
|
or RH-SSO, deployment. Default value is `Always` for `nightly`,
|
|
`next` or `latest` images, and `IfNotPresent` in other cases.
|
|
type: string
|
|
identityProviderIngress:
|
|
description: Deprecated. The value of this flag is ignored. Ingress
|
|
custom settings.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: Unstructured key value map stored with a resource
|
|
that may be set by external tools to store and retrieve
|
|
arbitrary metadata.
|
|
type: object
|
|
labels:
|
|
description: Comma separated list of labels that can be used
|
|
to organize and categorize objects by scoping and selecting.
|
|
type: string
|
|
type: object
|
|
identityProviderPassword:
|
|
description: Deprecated. The value of this flag is ignored. Overrides
|
|
the password of Keycloak administrator user. Override this when
|
|
an external Identity Provider is in use. See the `externalIdentityProvider`
|
|
field. When omitted or left blank, it is set to an auto-generated
|
|
password.
|
|
type: string
|
|
identityProviderPostgresPassword:
|
|
description: Deprecated. The value of this flag is ignored. Password
|
|
for a Identity Provider, Keycloak or RH-SSO, to connect to the
|
|
database. Override this when an external Identity Provider is
|
|
in use. See the `externalIdentityProvider` field. When omitted
|
|
or left blank, it is set to an auto-generated password.
|
|
type: string
|
|
identityProviderPostgresSecret:
|
|
description: 'Deprecated. The value of this flag is ignored. The
|
|
secret that contains `password` for the Identity Provider, Keycloak
|
|
or RH-SSO, to connect to the database. When the secret is defined,
|
|
the `identityProviderPostgresPassword` is ignored. When the
|
|
value is omitted or left blank, the one of following scenarios
|
|
applies: 1. `identityProviderPostgresPassword` is defined, then
|
|
it will be used to connect to the database. 2. `identityProviderPostgresPassword`
|
|
is not defined, then a new secret with the name `che-identity-postgres-secret`
|
|
will be created with an auto-generated value for `password`.
|
|
The secret must have `app.kubernetes.io/part-of=che.eclipse.org`
|
|
label.'
|
|
type: string
|
|
identityProviderRealm:
|
|
description: Deprecated. The value of this flag is ignored. Name
|
|
of a Identity provider, Keycloak or RH-SSO, realm that is used
|
|
for Che. Override this when an external Identity Provider is
|
|
in use. See the `externalIdentityProvider` field. When omitted
|
|
or left blank, it is set to the value of the `flavour` field.
|
|
type: string
|
|
identityProviderRoute:
|
|
description: Deprecated. The value of this flag is ignored. Route
|
|
custom settings.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: Unstructured key value map stored with a resource
|
|
that may be set by external tools to store and retrieve
|
|
arbitrary metadata.
|
|
type: object
|
|
domain:
|
|
description: 'Operator uses the domain to generate a hostname
|
|
for a route. In a conjunction with labels it creates a route,
|
|
which is served by a non-default Ingress controller. The
|
|
generated host name will follow this pattern: `<route-name>-<route-namespace>.<domain>`.'
|
|
type: string
|
|
labels:
|
|
description: Comma separated list of labels that can be used
|
|
to organize and categorize objects by scoping and selecting.
|
|
type: string
|
|
type: object
|
|
identityProviderSecret:
|
|
description: 'Deprecated. The value of this flag is ignored. The
|
|
secret that contains `user` and `password` for Identity Provider.
|
|
When the secret is defined, the `identityProviderAdminUserName`
|
|
and `identityProviderPassword` are ignored. When the value is
|
|
omitted or left blank, the one of following scenarios applies:
|
|
1. `identityProviderAdminUserName` and `identityProviderPassword`
|
|
are defined, then they will be used. 2. `identityProviderAdminUserName`
|
|
or `identityProviderPassword` are not defined, then a new secret
|
|
with the name `che-identity-secret` will be created with default
|
|
value `admin` for `user` and with an auto-generated value for
|
|
`password`. The secret must have `app.kubernetes.io/part-of=che.eclipse.org`
|
|
label.'
|
|
type: string
|
|
identityProviderURL:
|
|
description: Public URL of the Identity Provider server (Keycloak
|
|
/ RH-SSO server). Set this ONLY when a use of an external Identity
|
|
Provider is needed. See the `externalIdentityProvider` field.
|
|
By default, this will be automatically calculated and set by
|
|
the Operator.
|
|
type: string
|
|
identityToken:
|
|
description: 'Identity token to be passed to upstream. There are
|
|
two types of tokens supported: `id_token` and `access_token`.
|
|
Default value is `id_token`. This field is specific to Che installations
|
|
made for Kubernetes only and ignored for OpenShift.'
|
|
type: string
|
|
initialOpenShiftOAuthUser:
|
|
description: Deprecated. The value of this flag is ignored. For
|
|
operating with the OpenShift OAuth authentication, create a
|
|
new user account since the kubeadmin can not be used. If the
|
|
value is true, then a new OpenShift OAuth user will be created
|
|
for the HTPasswd identity provider. If the value is false and
|
|
the user has already been created, then it will be removed.
|
|
If value is an empty, then do nothing. The user's credentials
|
|
are stored in the `openshift-oauth-user-credentials` secret
|
|
in 'openshift-config' namespace by Operator. Note that this
|
|
solution is Openshift 4 platform-specific.
|
|
type: boolean
|
|
nativeUserMode:
|
|
description: Deprecated. The value of this flag is ignored. Enables
|
|
native user mode. Currently works only on OpenShift and DevWorkspace
|
|
engine. Native User mode uses OpenShift OAuth directly as identity
|
|
provider, without Keycloak.
|
|
type: boolean
|
|
oAuthClientName:
|
|
description: Name of the OpenShift `OAuthClient` resource used
|
|
to setup identity federation on the OpenShift side. Auto-generated
|
|
when left blank. See also the `OpenShiftoAuth` field.
|
|
type: string
|
|
oAuthScope:
|
|
description: Access Token Scope. This field is specific to Che
|
|
installations made for Kubernetes only and ignored for OpenShift.
|
|
type: string
|
|
oAuthSecret:
|
|
description: Name of the secret set in the OpenShift `OAuthClient`
|
|
resource used to setup identity federation on the OpenShift
|
|
side. Auto-generated when left blank. See also the `OAuthClientName`
|
|
field.
|
|
type: string
|
|
openShiftoAuth:
|
|
description: 'Deprecated. The value of this flag is ignored. Enables
|
|
the integration of the identity provider (Keycloak / RHSSO)
|
|
with OpenShift OAuth. Empty value on OpenShift by default. This
|
|
will allow users to directly login with their OpenShift user
|
|
through the OpenShift login, and have their workspaces created
|
|
under personal OpenShift namespaces. WARNING: the `kubeadmin`
|
|
user is NOT supported, and logging through it will NOT allow
|
|
accessing the Che Dashboard.'
|
|
type: boolean
|
|
updateAdminPassword:
|
|
description: Deprecated. The value of this flag is ignored. Forces
|
|
the default `admin` Che user to update password on first login.
|
|
Defaults to `false`.
|
|
type: boolean
|
|
type: object
|
|
dashboard:
|
|
description: Configuration settings related to the User Dashboard
|
|
used by the Che installation.
|
|
properties:
|
|
warning:
|
|
description: Warning message that will be displayed on the User
|
|
Dashboard
|
|
type: string
|
|
type: object
|
|
database:
|
|
description: Configuration settings related to the database used by
|
|
the Che installation.
|
|
properties:
|
|
chePostgresContainerResources:
|
|
description: PostgreSQL container custom settings
|
|
properties:
|
|
limits:
|
|
description: Limits describes the maximum amount of compute
|
|
resources allowed.
|
|
properties:
|
|
cpu:
|
|
description: CPU, in cores. (500m = .5 cores)
|
|
type: string
|
|
memory:
|
|
description: Memory, in bytes. (500Gi = 500GiB = 500 *
|
|
1024 * 1024 * 1024)
|
|
type: string
|
|
type: object
|
|
request:
|
|
description: Requests describes the minimum amount of compute
|
|
resources required.
|
|
properties:
|
|
cpu:
|
|
description: CPU, in cores. (500m = .5 cores)
|
|
type: string
|
|
memory:
|
|
description: Memory, in bytes. (500Gi = 500GiB = 500 *
|
|
1024 * 1024 * 1024)
|
|
type: string
|
|
type: object
|
|
type: object
|
|
chePostgresDb:
|
|
description: PostgreSQL database name that the Che server uses
|
|
to connect to the DB. Defaults to `dbche`.
|
|
type: string
|
|
chePostgresHostName:
|
|
description: PostgreSQL Database host name that the Che server
|
|
uses to connect to. Defaults is `postgres`. Override this value
|
|
ONLY when using an external database. See field `externalDb`.
|
|
In the default case it will be automatically set by the Operator.
|
|
type: string
|
|
chePostgresPassword:
|
|
description: PostgreSQL password that the Che server uses to connect
|
|
to the DB. When omitted or left blank, it will be set to an
|
|
automatically generated value.
|
|
type: string
|
|
chePostgresPort:
|
|
description: PostgreSQL Database port that the Che server uses
|
|
to connect to. Defaults to 5432. Override this value ONLY when
|
|
using an external database. See field `externalDb`. In the default
|
|
case it will be automatically set by the Operator.
|
|
type: string
|
|
chePostgresSecret:
|
|
description: 'The secret that contains PostgreSQL`user` and `password`
|
|
that the Che server uses to connect to the DB. When the secret
|
|
is defined, the `chePostgresUser` and `chePostgresPassword`
|
|
are ignored. When the value is omitted or left blank, the one
|
|
of following scenarios applies: 1. `chePostgresUser` and `chePostgresPassword`
|
|
are defined, then they will be used to connect to the DB. 2.
|
|
`chePostgresUser` or `chePostgresPassword` are not defined,
|
|
then a new secret with the name `postgres-credentials` will
|
|
be created with default value of `pgche` for `user` and with
|
|
an auto-generated value for `password`. The secret must have
|
|
`app.kubernetes.io/part-of=che.eclipse.org` label.'
|
|
type: string
|
|
chePostgresUser:
|
|
description: PostgreSQL user that the Che server uses to connect
|
|
to the DB. Defaults to `pgche`.
|
|
type: string
|
|
externalDb:
|
|
description: 'Instructs the Operator on whether to deploy a dedicated
|
|
database. By default, a dedicated PostgreSQL database is deployed
|
|
as part of the Che installation. When `externalDb` is `true`,
|
|
no dedicated database will be deployed by the Operator and you
|
|
will need to provide connection details to the external DB you
|
|
are about to use. See also all the fields starting with: `chePostgres`.'
|
|
type: boolean
|
|
postgresEnv:
|
|
description: List of environment variables to set in the PostgreSQL
|
|
container.
|
|
items:
|
|
description: EnvVar represents an environment variable present
|
|
in a Container.
|
|
properties:
|
|
name:
|
|
description: Name of the environment variable. Must be a
|
|
C_IDENTIFIER.
|
|
type: string
|
|
value:
|
|
description: 'Variable references $(VAR_NAME) are expanded
|
|
using the previously defined environment variables in
|
|
the container and any service environment variables. If
|
|
a variable cannot be resolved, the reference in the input
|
|
string will be unchanged. Double $$ are reduced to a single
|
|
$, which allows for escaping the $(VAR_NAME) syntax: i.e.
|
|
"$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
|
|
Escaped references will never be expanded, regardless
|
|
of whether the variable exists or not. Defaults to "".'
|
|
type: string
|
|
valueFrom:
|
|
description: Source for the environment variable's value.
|
|
Cannot be used if value is not empty.
|
|
properties:
|
|
configMapKeyRef:
|
|
description: Selects a key of a ConfigMap.
|
|
properties:
|
|
key:
|
|
description: The key to select.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap or its
|
|
key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
fieldRef:
|
|
description: 'Selects a field of the pod: supports metadata.name,
|
|
metadata.namespace, `metadata.labels[''<KEY>'']`,
|
|
`metadata.annotations[''<KEY>'']`, spec.nodeName,
|
|
spec.serviceAccountName, status.hostIP, status.podIP,
|
|
status.podIPs.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema the FieldPath
|
|
is written in terms of, defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to select in the
|
|
specified API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
resourceFieldRef:
|
|
description: 'Selects a resource of the container: only
|
|
resources limits and requests (limits.cpu, limits.memory,
|
|
limits.ephemeral-storage, requests.cpu, requests.memory
|
|
and requests.ephemeral-storage) are currently supported.'
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required for volumes,
|
|
optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output format of the
|
|
exposed resources, defaults to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
secretKeyRef:
|
|
description: Selects a key of a secret in the pod's
|
|
namespace
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select from. Must
|
|
be a valid secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its key
|
|
must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
postgresImage:
|
|
description: Overrides the container image used in the PostgreSQL
|
|
database deployment. This includes the image tag. Omit it or
|
|
leave it empty to use the default container image provided by
|
|
the Operator.
|
|
type: string
|
|
postgresImagePullPolicy:
|
|
description: Overrides the image pull policy used in the PostgreSQL
|
|
database deployment. Default value is `Always` for `nightly`,
|
|
`next` or `latest` images, and `IfNotPresent` in other cases.
|
|
type: string
|
|
postgresVersion:
|
|
description: 'Indicates a PostgreSQL version image to use. Allowed
|
|
values are: `9.6` and `13.3`. Migrate your PostgreSQL database
|
|
to switch from one version to another.'
|
|
type: string
|
|
pvcClaimSize:
|
|
description: Size of the persistent volume claim for database.
|
|
Defaults to `1Gi`. To update pvc storageclass that provisions
|
|
it must support resize when Eclipse Che has been already deployed.
|
|
type: string
|
|
type: object
|
|
devWorkspace:
|
|
description: DevWorkspace operator configuration
|
|
properties:
|
|
controllerImage:
|
|
description: Overrides the container image used in the DevWorkspace
|
|
controller deployment. This includes the image tag. Omit it
|
|
or leave it empty to use the default container image provided
|
|
by the Operator.
|
|
type: string
|
|
enable:
|
|
description: Deploys the DevWorkspace Operator in the cluster.
|
|
Does nothing when a matching version of the Operator is already
|
|
installed. Fails when a non-matching version of the Operator
|
|
is already installed.
|
|
type: boolean
|
|
env:
|
|
description: List of environment variables to set in the DevWorkspace
|
|
container.
|
|
items:
|
|
description: EnvVar represents an environment variable present
|
|
in a Container.
|
|
properties:
|
|
name:
|
|
description: Name of the environment variable. Must be a
|
|
C_IDENTIFIER.
|
|
type: string
|
|
value:
|
|
description: 'Variable references $(VAR_NAME) are expanded
|
|
using the previously defined environment variables in
|
|
the container and any service environment variables. If
|
|
a variable cannot be resolved, the reference in the input
|
|
string will be unchanged. Double $$ are reduced to a single
|
|
$, which allows for escaping the $(VAR_NAME) syntax: i.e.
|
|
"$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
|
|
Escaped references will never be expanded, regardless
|
|
of whether the variable exists or not. Defaults to "".'
|
|
type: string
|
|
valueFrom:
|
|
description: Source for the environment variable's value.
|
|
Cannot be used if value is not empty.
|
|
properties:
|
|
configMapKeyRef:
|
|
description: Selects a key of a ConfigMap.
|
|
properties:
|
|
key:
|
|
description: The key to select.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap or its
|
|
key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
fieldRef:
|
|
description: 'Selects a field of the pod: supports metadata.name,
|
|
metadata.namespace, `metadata.labels[''<KEY>'']`,
|
|
`metadata.annotations[''<KEY>'']`, spec.nodeName,
|
|
spec.serviceAccountName, status.hostIP, status.podIP,
|
|
status.podIPs.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema the FieldPath
|
|
is written in terms of, defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to select in the
|
|
specified API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
resourceFieldRef:
|
|
description: 'Selects a resource of the container: only
|
|
resources limits and requests (limits.cpu, limits.memory,
|
|
limits.ephemeral-storage, requests.cpu, requests.memory
|
|
and requests.ephemeral-storage) are currently supported.'
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required for volumes,
|
|
optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output format of the
|
|
exposed resources, defaults to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
secretKeyRef:
|
|
description: Selects a key of a secret in the pod's
|
|
namespace
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select from. Must
|
|
be a valid secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its key
|
|
must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
runningLimit:
|
|
description: Maximum number of the running workspaces per user.
|
|
type: string
|
|
secondsOfInactivityBeforeIdling:
|
|
default: 1800
|
|
description: Idle timeout for workspaces in seconds. This timeout
|
|
is the duration after which a workspace will be idled if there
|
|
is no activity. To disable workspace idling due to inactivity,
|
|
set this value to -1.
|
|
format: int32
|
|
type: integer
|
|
secondsOfRunBeforeIdling:
|
|
default: -1
|
|
description: Run timeout for workspaces in seconds. This timeout
|
|
is the maximum duration a workspace runs. To disable workspace
|
|
run timeout, set this value to -1.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- enable
|
|
type: object
|
|
gitServices:
|
|
description: A configuration that allows users to work with remote
|
|
Git repositories.
|
|
properties:
|
|
bitbucket:
|
|
description: Enables users to work with repositories hosted on
|
|
Bitbucket (bitbucket.org or self-hosted).
|
|
items:
|
|
description: BitBucketService enables users to work with repositories
|
|
hosted on Bitbucket (bitbucket.org or self-hosted).
|
|
properties:
|
|
endpoint:
|
|
description: 'Bitbucket server endpoint URL. Deprecated
|
|
in favor of `che.eclipse.org/scm-server-endpoint` annotation.
|
|
See the following page: https://www.eclipse.org/che/docs/stable/administration-guide/configuring-oauth-1-for-a-bitbucket-server/.'
|
|
type: string
|
|
secretName:
|
|
description: 'Kubernetes secret, that contains Base64-encoded
|
|
Bitbucket OAuth 1.0 or OAuth 2.0 data. See the following
|
|
pages for details: https://www.eclipse.org/che/docs/stable/administration-guide/configuring-oauth-1-for-a-bitbucket-server/
|
|
and https://www.eclipse.org/che/docs/stable/administration-guide/configuring-oauth-2-for-the-bitbucket-cloud/.'
|
|
type: string
|
|
required:
|
|
- secretName
|
|
type: object
|
|
type: array
|
|
github:
|
|
description: Enables users to work with repositories hosted on
|
|
GitHub (github.com or GitHub Enterprise).
|
|
items:
|
|
description: GitHubService enables users to work with repositories
|
|
hosted on GitHub (GitHub.com or GitHub Enterprise).
|
|
properties:
|
|
endpoint:
|
|
description: 'GitHub server endpoint URL. Deprecated in
|
|
favor of `che.eclipse.org/scm-server-endpoint` annotation.
|
|
See the following page for details: https://www.eclipse.org/che/docs/stable/administration-guide/configuring-oauth-2-for-github/.'
|
|
type: string
|
|
secretName:
|
|
description: 'Kubernetes secret, that contains Base64-encoded
|
|
GitHub OAuth Client id and GitHub OAuth Client secret.
|
|
See the following page for details: https://www.eclipse.org/che/docs/stable/administration-guide/configuring-oauth-2-for-github/.'
|
|
type: string
|
|
required:
|
|
- secretName
|
|
type: object
|
|
type: array
|
|
gitlab:
|
|
description: Enables users to work with repositories hosted on
|
|
GitLab (gitlab.com or self-hosted).
|
|
items:
|
|
description: GitLabService enables users to work with repositories
|
|
hosted on GitLab (gitlab.com or self-hosted).
|
|
properties:
|
|
endpoint:
|
|
description: 'GitLab server endpoint URL. Deprecated in
|
|
favor of `che.eclipse.org/scm-server-endpoint` annotation.
|
|
See the following page: https://www.eclipse.org/che/docs/stable/administration-guide/configuring-oauth-2-for-gitlab/.'
|
|
type: string
|
|
secretName:
|
|
description: 'Kubernetes secret, that contains Base64-encoded
|
|
GitHub Application id and GitLab Application Client secret.
|
|
See the following page: https://www.eclipse.org/che/docs/stable/administration-guide/configuring-oauth-2-for-gitlab/.'
|
|
type: string
|
|
required:
|
|
- secretName
|
|
type: object
|
|
type: array
|
|
type: object
|
|
imagePuller:
|
|
description: Kubernetes Image Puller configuration
|
|
properties:
|
|
enable:
|
|
description: Install and configure the Community Supported Kubernetes
|
|
Image Puller Operator. When set to `true` and no spec is provided,
|
|
it will create a default KubernetesImagePuller object to be
|
|
managed by the Operator. When set to `false`, the KubernetesImagePuller
|
|
object will be deleted, and the Operator will be uninstalled,
|
|
regardless of whether a spec is provided. If the `spec.images`
|
|
field is empty, a set of recommended workspace-related images
|
|
will be 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.
|
|
type: boolean
|
|
spec:
|
|
description: A KubernetesImagePullerSpec to configure the image
|
|
puller in the CheCluster
|
|
properties:
|
|
affinity:
|
|
type: string
|
|
cachingCPULimit:
|
|
type: string
|
|
cachingCPURequest:
|
|
type: string
|
|
cachingIntervalHours:
|
|
type: string
|
|
cachingMemoryLimit:
|
|
type: string
|
|
cachingMemoryRequest:
|
|
type: string
|
|
configMapName:
|
|
type: string
|
|
daemonsetName:
|
|
type: string
|
|
deploymentName:
|
|
type: string
|
|
imagePullSecrets:
|
|
type: string
|
|
imagePullerImage:
|
|
type: string
|
|
images:
|
|
type: string
|
|
nodeSelector:
|
|
type: string
|
|
type: object
|
|
required:
|
|
- enable
|
|
type: object
|
|
k8s:
|
|
description: Configuration settings specific to Che installations
|
|
made on upstream Kubernetes.
|
|
properties:
|
|
ingressClass:
|
|
description: 'Ingress class that will define the which controller
|
|
will manage ingresses. Defaults to `nginx`. NB: This drives
|
|
the `kubernetes.io/ingress.class` annotation on Che-related
|
|
ingresses.'
|
|
type: string
|
|
ingressDomain:
|
|
description: 'Global ingress domain for a Kubernetes cluster.
|
|
This MUST be explicitly specified: there are no defaults.'
|
|
type: string
|
|
ingressStrategy:
|
|
description: 'Deprecated. The value of this flag is ignored. Strategy
|
|
for ingress creation. Options are: `multi-host` (host is explicitly
|
|
provided in ingress), `single-host` (host is provided, path-based
|
|
rules) and `default-host` (no host is provided, path-based rules).
|
|
Defaults to `multi-host` Deprecated in favor of `serverExposureStrategy`
|
|
in the `server` section, which defines this regardless of the
|
|
cluster type. When both are defined, the `serverExposureStrategy`
|
|
option takes precedence.'
|
|
type: string
|
|
securityContextFsGroup:
|
|
description: The FSGroup in which the Che Pod and workspace Pods
|
|
containers runs in. Default value is `1724`.
|
|
type: string
|
|
securityContextRunAsUser:
|
|
description: ID of the user the Che Pod and workspace Pods containers
|
|
run as. Default value is `1724`.
|
|
type: string
|
|
singleHostExposureType:
|
|
description: Deprecated. The value of this flag is ignored. When
|
|
the serverExposureStrategy is set to `single-host`, the way
|
|
the server, registries and workspaces are exposed is further
|
|
configured by this property. The possible values are `native`,
|
|
which means that the server and workspaces are exposed using
|
|
ingresses on K8s or `gateway` where the server and workspaces
|
|
are exposed using a custom gateway based on link:https://doc.traefik.io/traefik/[Traefik].
|
|
All the endpoints whether backed by the ingress or gateway `route`
|
|
always point to the subpaths on the same domain. Defaults to
|
|
`native`.
|
|
type: string
|
|
tlsSecretName:
|
|
description: Name of a secret that will be used to setup ingress
|
|
TLS termination when TLS is enabled. When the field is empty
|
|
string, the default cluster certificate will be used. See also
|
|
the `tlsSupport` field.
|
|
type: string
|
|
type: object
|
|
metrics:
|
|
description: Configuration settings related to the metrics collection
|
|
used by the Che installation.
|
|
properties:
|
|
enable:
|
|
description: Enables `metrics` the Che server endpoint. Default
|
|
to `true`.
|
|
type: boolean
|
|
type: object
|
|
server:
|
|
description: General configuration settings related to the Che server,
|
|
the plugin and devfile registries
|
|
properties:
|
|
airGapContainerRegistryHostname:
|
|
description: Optional host name, or URL, to an alternate container
|
|
registry to pull images from. This value overrides the container
|
|
registry host name defined in all the default container images
|
|
involved in a Che deployment. This is particularly useful to
|
|
install Che in a restricted environment.
|
|
type: string
|
|
airGapContainerRegistryOrganization:
|
|
description: Optional repository name of an alternate container
|
|
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 to
|
|
install Eclipse Che in a restricted environment.
|
|
type: string
|
|
allowAutoProvisionUserNamespace:
|
|
description: Indicates if is allowed to automatically create a
|
|
user namespace. If it set to false, then user namespace must
|
|
be pre-created by a cluster administrator.
|
|
type: boolean
|
|
allowUserDefinedWorkspaceNamespaces:
|
|
description: Deprecated. The value of this flag is ignored. Defines
|
|
that a user is allowed to specify a Kubernetes namespace, or
|
|
an OpenShift project, which differs from the default. It's NOT
|
|
RECOMMENDED to set to `true` without OpenShift OAuth configured.
|
|
The OpenShift infrastructure also uses this property.
|
|
type: boolean
|
|
cheClusterRoles:
|
|
description: A comma-separated list of ClusterRoles that will
|
|
be assigned to Che ServiceAccount. Each role must have `app.kubernetes.io/part-of=che.eclipse.org`
|
|
label. Be aware that the Che Operator has to already have all
|
|
permissions in these ClusterRoles to grant them.
|
|
type: string
|
|
cheDebug:
|
|
description: Enables the debug mode for Che server. Defaults to
|
|
`false`.
|
|
type: string
|
|
cheFlavor:
|
|
description: Deprecated. The value of this flag is ignored. Specifies
|
|
a variation of the installation. The options are `che` for
|
|
upstream Che installations or `devspaces` for Red Hat OpenShift
|
|
Dev Spaces (formerly Red Hat CodeReady Workspaces) installation
|
|
type: string
|
|
cheHost:
|
|
description: Public host name of the installed Che server. When
|
|
value is omitted, the value it will be automatically set by
|
|
the Operator. See the `cheHostTLSSecret` field.
|
|
type: string
|
|
cheHostTLSSecret:
|
|
description: Name of a secret containing certificates to secure
|
|
ingress or route for the custom host name of the installed Che
|
|
server. The secret must have `app.kubernetes.io/part-of=che.eclipse.org`
|
|
label. See the `cheHost` field.
|
|
type: string
|
|
cheImage:
|
|
description: Overrides the container image used in Che deployment.
|
|
This does NOT include the container image tag. Omit it or leave
|
|
it empty to use the default container image provided by the
|
|
Operator.
|
|
type: string
|
|
cheImagePullPolicy:
|
|
description: Overrides the image pull policy used in Che deployment.
|
|
Default value is `Always` for `nightly`, `next` or `latest`
|
|
images, and `IfNotPresent` in other cases.
|
|
type: string
|
|
cheImageTag:
|
|
description: Overrides the tag of the container image used in
|
|
Che deployment. Omit it or leave it empty to use the default
|
|
image tag provided by the Operator.
|
|
type: string
|
|
cheLogLevel:
|
|
description: 'Log level for the Che server: `INFO` or `DEBUG`.
|
|
Defaults to `INFO`.'
|
|
type: string
|
|
cheServerEnv:
|
|
description: List of environment variables to set in the Che server
|
|
container.
|
|
items:
|
|
description: EnvVar represents an environment variable present
|
|
in a Container.
|
|
properties:
|
|
name:
|
|
description: Name of the environment variable. Must be a
|
|
C_IDENTIFIER.
|
|
type: string
|
|
value:
|
|
description: 'Variable references $(VAR_NAME) are expanded
|
|
using the previously defined environment variables in
|
|
the container and any service environment variables. If
|
|
a variable cannot be resolved, the reference in the input
|
|
string will be unchanged. Double $$ are reduced to a single
|
|
$, which allows for escaping the $(VAR_NAME) syntax: i.e.
|
|
"$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
|
|
Escaped references will never be expanded, regardless
|
|
of whether the variable exists or not. Defaults to "".'
|
|
type: string
|
|
valueFrom:
|
|
description: Source for the environment variable's value.
|
|
Cannot be used if value is not empty.
|
|
properties:
|
|
configMapKeyRef:
|
|
description: Selects a key of a ConfigMap.
|
|
properties:
|
|
key:
|
|
description: The key to select.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap or its
|
|
key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
fieldRef:
|
|
description: 'Selects a field of the pod: supports metadata.name,
|
|
metadata.namespace, `metadata.labels[''<KEY>'']`,
|
|
`metadata.annotations[''<KEY>'']`, spec.nodeName,
|
|
spec.serviceAccountName, status.hostIP, status.podIP,
|
|
status.podIPs.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema the FieldPath
|
|
is written in terms of, defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to select in the
|
|
specified API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
resourceFieldRef:
|
|
description: 'Selects a resource of the container: only
|
|
resources limits and requests (limits.cpu, limits.memory,
|
|
limits.ephemeral-storage, requests.cpu, requests.memory
|
|
and requests.ephemeral-storage) are currently supported.'
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required for volumes,
|
|
optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output format of the
|
|
exposed resources, defaults to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
secretKeyRef:
|
|
description: Selects a key of a secret in the pod's
|
|
namespace
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select from. Must
|
|
be a valid secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its key
|
|
must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
cheServerIngress:
|
|
description: The Che server ingress custom settings.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: Unstructured key value map stored with a resource
|
|
that may be set by external tools to store and retrieve
|
|
arbitrary metadata.
|
|
type: object
|
|
labels:
|
|
description: Comma separated list of labels that can be used
|
|
to organize and categorize objects by scoping and selecting.
|
|
type: string
|
|
type: object
|
|
cheServerRoute:
|
|
description: The Che server route custom settings.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: Unstructured key value map stored with a resource
|
|
that may be set by external tools to store and retrieve
|
|
arbitrary metadata.
|
|
type: object
|
|
domain:
|
|
description: 'Operator uses the domain to generate a hostname
|
|
for a route. In a conjunction with labels it creates a route,
|
|
which is served by a non-default Ingress controller. The
|
|
generated host name will follow this pattern: `<route-name>-<route-namespace>.<domain>`.'
|
|
type: string
|
|
labels:
|
|
description: Comma separated list of labels that can be used
|
|
to organize and categorize objects by scoping and selecting.
|
|
type: string
|
|
type: object
|
|
cheWorkspaceClusterRole:
|
|
description: Custom cluster role bound to the user for the Che
|
|
workspaces. The role must have `app.kubernetes.io/part-of=che.eclipse.org`
|
|
label. The default roles are used when omitted or left blank.
|
|
type: string
|
|
customCheProperties:
|
|
additionalProperties:
|
|
type: string
|
|
description: Map of additional environment variables that will
|
|
be 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). When
|
|
`customCheProperties` contains a property that would be normally
|
|
generated in `che` ConfigMap from other CR fields, the value
|
|
defined in the `customCheProperties` is used instead.
|
|
type: object
|
|
dashboardCpuLimit:
|
|
description: Overrides the CPU limit used in the dashboard deployment.
|
|
In cores. (500m = .5 cores). Default to 500m.
|
|
type: string
|
|
dashboardCpuRequest:
|
|
description: Overrides the CPU request used in the dashboard deployment.
|
|
In cores. (500m = .5 cores). Default to 100m.
|
|
type: string
|
|
dashboardEnv:
|
|
description: List of environment variables to set in the dashboard
|
|
container.
|
|
items:
|
|
description: EnvVar represents an environment variable present
|
|
in a Container.
|
|
properties:
|
|
name:
|
|
description: Name of the environment variable. Must be a
|
|
C_IDENTIFIER.
|
|
type: string
|
|
value:
|
|
description: 'Variable references $(VAR_NAME) are expanded
|
|
using the previously defined environment variables in
|
|
the container and any service environment variables. If
|
|
a variable cannot be resolved, the reference in the input
|
|
string will be unchanged. Double $$ are reduced to a single
|
|
$, which allows for escaping the $(VAR_NAME) syntax: i.e.
|
|
"$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
|
|
Escaped references will never be expanded, regardless
|
|
of whether the variable exists or not. Defaults to "".'
|
|
type: string
|
|
valueFrom:
|
|
description: Source for the environment variable's value.
|
|
Cannot be used if value is not empty.
|
|
properties:
|
|
configMapKeyRef:
|
|
description: Selects a key of a ConfigMap.
|
|
properties:
|
|
key:
|
|
description: The key to select.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap or its
|
|
key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
fieldRef:
|
|
description: 'Selects a field of the pod: supports metadata.name,
|
|
metadata.namespace, `metadata.labels[''<KEY>'']`,
|
|
`metadata.annotations[''<KEY>'']`, spec.nodeName,
|
|
spec.serviceAccountName, status.hostIP, status.podIP,
|
|
status.podIPs.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema the FieldPath
|
|
is written in terms of, defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to select in the
|
|
specified API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
resourceFieldRef:
|
|
description: 'Selects a resource of the container: only
|
|
resources limits and requests (limits.cpu, limits.memory,
|
|
limits.ephemeral-storage, requests.cpu, requests.memory
|
|
and requests.ephemeral-storage) are currently supported.'
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required for volumes,
|
|
optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output format of the
|
|
exposed resources, defaults to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
secretKeyRef:
|
|
description: Selects a key of a secret in the pod's
|
|
namespace
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select from. Must
|
|
be a valid secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its key
|
|
must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
dashboardImage:
|
|
description: Overrides the container image used in the dashboard
|
|
deployment. This includes the image tag. Omit it or leave it
|
|
empty to use the default container image provided by the Operator.
|
|
type: string
|
|
dashboardImagePullPolicy:
|
|
description: Overrides the image pull policy used in the dashboard
|
|
deployment. Default value is `Always` for `nightly`, `next`
|
|
or `latest` images, and `IfNotPresent` in other cases.
|
|
type: string
|
|
dashboardIngress:
|
|
description: Deprecated. The value of this flag is ignored. Dashboard
|
|
ingress custom settings.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: Unstructured key value map stored with a resource
|
|
that may be set by external tools to store and retrieve
|
|
arbitrary metadata.
|
|
type: object
|
|
labels:
|
|
description: Comma separated list of labels that can be used
|
|
to organize and categorize objects by scoping and selecting.
|
|
type: string
|
|
type: object
|
|
dashboardMemoryLimit:
|
|
description: Overrides the memory limit used in the dashboard
|
|
deployment. Defaults to 256Mi.
|
|
type: string
|
|
dashboardMemoryRequest:
|
|
description: Overrides the memory request used in the dashboard
|
|
deployment. Defaults to 16Mi.
|
|
type: string
|
|
dashboardRoute:
|
|
description: Deprecated. The value of this flag is ignored. Dashboard
|
|
route custom settings.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: Unstructured key value map stored with a resource
|
|
that may be set by external tools to store and retrieve
|
|
arbitrary metadata.
|
|
type: object
|
|
domain:
|
|
description: 'Operator uses the domain to generate a hostname
|
|
for a route. In a conjunction with labels it creates a route,
|
|
which is served by a non-default Ingress controller. The
|
|
generated host name will follow this pattern: `<route-name>-<route-namespace>.<domain>`.'
|
|
type: string
|
|
labels:
|
|
description: Comma separated list of labels that can be used
|
|
to organize and categorize objects by scoping and selecting.
|
|
type: string
|
|
type: object
|
|
devfileRegistryCpuLimit:
|
|
description: Overrides the CPU limit used in the devfile registry
|
|
deployment. In cores. (500m = .5 cores). Default to 500m.
|
|
type: string
|
|
devfileRegistryCpuRequest:
|
|
description: Overrides the CPU request used in the devfile registry
|
|
deployment. In cores. (500m = .5 cores). Default to 100m.
|
|
type: string
|
|
devfileRegistryEnv:
|
|
description: List of environment variables to set in the plugin
|
|
registry container.
|
|
items:
|
|
description: EnvVar represents an environment variable present
|
|
in a Container.
|
|
properties:
|
|
name:
|
|
description: Name of the environment variable. Must be a
|
|
C_IDENTIFIER.
|
|
type: string
|
|
value:
|
|
description: 'Variable references $(VAR_NAME) are expanded
|
|
using the previously defined environment variables in
|
|
the container and any service environment variables. If
|
|
a variable cannot be resolved, the reference in the input
|
|
string will be unchanged. Double $$ are reduced to a single
|
|
$, which allows for escaping the $(VAR_NAME) syntax: i.e.
|
|
"$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
|
|
Escaped references will never be expanded, regardless
|
|
of whether the variable exists or not. Defaults to "".'
|
|
type: string
|
|
valueFrom:
|
|
description: Source for the environment variable's value.
|
|
Cannot be used if value is not empty.
|
|
properties:
|
|
configMapKeyRef:
|
|
description: Selects a key of a ConfigMap.
|
|
properties:
|
|
key:
|
|
description: The key to select.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap or its
|
|
key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
fieldRef:
|
|
description: 'Selects a field of the pod: supports metadata.name,
|
|
metadata.namespace, `metadata.labels[''<KEY>'']`,
|
|
`metadata.annotations[''<KEY>'']`, spec.nodeName,
|
|
spec.serviceAccountName, status.hostIP, status.podIP,
|
|
status.podIPs.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema the FieldPath
|
|
is written in terms of, defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to select in the
|
|
specified API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
resourceFieldRef:
|
|
description: 'Selects a resource of the container: only
|
|
resources limits and requests (limits.cpu, limits.memory,
|
|
limits.ephemeral-storage, requests.cpu, requests.memory
|
|
and requests.ephemeral-storage) are currently supported.'
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required for volumes,
|
|
optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output format of the
|
|
exposed resources, defaults to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
secretKeyRef:
|
|
description: Selects a key of a secret in the pod's
|
|
namespace
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select from. Must
|
|
be a valid secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its key
|
|
must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
devfileRegistryImage:
|
|
description: Overrides the container image used in the devfile
|
|
registry deployment. This includes the image tag. Omit it or
|
|
leave it empty to use the default container image provided by
|
|
the Operator.
|
|
type: string
|
|
devfileRegistryIngress:
|
|
description: Deprecated. The value of this flag is ignored. The
|
|
devfile registry ingress custom settings.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: Unstructured key value map stored with a resource
|
|
that may be set by external tools to store and retrieve
|
|
arbitrary metadata.
|
|
type: object
|
|
labels:
|
|
description: Comma separated list of labels that can be used
|
|
to organize and categorize objects by scoping and selecting.
|
|
type: string
|
|
type: object
|
|
devfileRegistryMemoryLimit:
|
|
description: Overrides the memory limit used in the devfile registry
|
|
deployment. Defaults to 256Mi.
|
|
type: string
|
|
devfileRegistryMemoryRequest:
|
|
description: Overrides the memory request used in the devfile
|
|
registry deployment. Defaults to 16Mi.
|
|
type: string
|
|
devfileRegistryPullPolicy:
|
|
description: Overrides the image pull policy used in the devfile
|
|
registry deployment. Default value is `Always` for `nightly`,
|
|
`next` or `latest` images, and `IfNotPresent` in other cases.
|
|
type: string
|
|
devfileRegistryRoute:
|
|
description: Deprecated. The value of this flag is ignored. The
|
|
devfile registry route custom settings.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: Unstructured key value map stored with a resource
|
|
that may be set by external tools to store and retrieve
|
|
arbitrary metadata.
|
|
type: object
|
|
domain:
|
|
description: 'Operator uses the domain to generate a hostname
|
|
for a route. In a conjunction with labels it creates a route,
|
|
which is served by a non-default Ingress controller. The
|
|
generated host name will follow this pattern: `<route-name>-<route-namespace>.<domain>`.'
|
|
type: string
|
|
labels:
|
|
description: Comma separated list of labels that can be used
|
|
to organize and categorize objects by scoping and selecting.
|
|
type: string
|
|
type: object
|
|
devfileRegistryUrl:
|
|
description: Deprecated in favor of `externalDevfileRegistries`
|
|
fields.
|
|
type: string
|
|
disableInternalClusterSVCNames:
|
|
description: Deprecated. The value of this flag is ignored. Disable
|
|
internal cluster SVC names usage to communicate between components
|
|
to speed up the traffic and avoid proxy issues.
|
|
type: boolean
|
|
externalDevfileRegistries:
|
|
description: External devfile registries, that serves sample,
|
|
ready-to-use devfiles. Configure this in addition to a dedicated
|
|
devfile registry (when `externalDevfileRegistry` is `false`)
|
|
or instead of it (when `externalDevfileRegistry` is `true`)
|
|
items:
|
|
description: Settings for a configuration of the external devfile
|
|
registries.
|
|
properties:
|
|
url:
|
|
description: Public URL of the devfile registry.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
externalDevfileRegistry:
|
|
description: Instructs the Operator on whether to deploy a dedicated
|
|
devfile registry server. By default, a dedicated devfile registry
|
|
server is started. When `externalDevfileRegistry` is `true`,
|
|
no such dedicated server will be started by the Operator and
|
|
configure at least one devfile registry with `externalDevfileRegistries`
|
|
field.
|
|
type: boolean
|
|
externalPluginRegistry:
|
|
description: Instructs the Operator on whether to deploy a dedicated
|
|
plugin registry server. By default, a dedicated plugin registry
|
|
server is started. When `externalPluginRegistry` is `true`,
|
|
no such dedicated server will be started by the Operator and
|
|
you will have to manually set the `pluginRegistryUrl` field.
|
|
type: boolean
|
|
gitSelfSignedCert:
|
|
description: When enabled, the certificate from `che-git-self-signed-cert`
|
|
ConfigMap will be propagated to the Che components and provide
|
|
particular configuration for Git. Note, the `che-git-self-signed-cert`
|
|
ConfigMap must have `app.kubernetes.io/part-of=che.eclipse.org`
|
|
label.
|
|
type: boolean
|
|
nonProxyHosts:
|
|
description: 'List of hosts that will be reached directly, bypassing
|
|
the proxy. Specify wild card domain use the following form `.<DOMAIN>`
|
|
and `|` as delimiter, for example: `localhost|.my.host.com|123.42.12.32`
|
|
Only use when configuring a proxy is required. Operator respects
|
|
OpenShift cluster wide proxy configuration and no additional
|
|
configuration is required, but defining `nonProxyHosts` in a
|
|
custom resource leads to merging non proxy hosts lists from
|
|
the cluster proxy configuration and ones defined in the custom
|
|
resources. See the doc https://docs.openshift.com/container-platform/4.4/networking/enable-cluster-wide-proxy.html.
|
|
See also the `proxyURL` fields.'
|
|
type: string
|
|
openVSXRegistryURL:
|
|
description: Open VSX registry URL. If omitted an embedded instance
|
|
will be used.
|
|
type: string
|
|
pluginRegistryCpuLimit:
|
|
description: Overrides the CPU limit used in the plugin registry
|
|
deployment. In cores. (500m = .5 cores). Default to 500m.
|
|
type: string
|
|
pluginRegistryCpuRequest:
|
|
description: Overrides the CPU request used in the plugin registry
|
|
deployment. In cores. (500m = .5 cores). Default to 100m.
|
|
type: string
|
|
pluginRegistryEnv:
|
|
description: List of environment variables to set in the devfile
|
|
registry container.
|
|
items:
|
|
description: EnvVar represents an environment variable present
|
|
in a Container.
|
|
properties:
|
|
name:
|
|
description: Name of the environment variable. Must be a
|
|
C_IDENTIFIER.
|
|
type: string
|
|
value:
|
|
description: 'Variable references $(VAR_NAME) are expanded
|
|
using the previously defined environment variables in
|
|
the container and any service environment variables. If
|
|
a variable cannot be resolved, the reference in the input
|
|
string will be unchanged. Double $$ are reduced to a single
|
|
$, which allows for escaping the $(VAR_NAME) syntax: i.e.
|
|
"$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
|
|
Escaped references will never be expanded, regardless
|
|
of whether the variable exists or not. Defaults to "".'
|
|
type: string
|
|
valueFrom:
|
|
description: Source for the environment variable's value.
|
|
Cannot be used if value is not empty.
|
|
properties:
|
|
configMapKeyRef:
|
|
description: Selects a key of a ConfigMap.
|
|
properties:
|
|
key:
|
|
description: The key to select.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap or its
|
|
key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
fieldRef:
|
|
description: 'Selects a field of the pod: supports metadata.name,
|
|
metadata.namespace, `metadata.labels[''<KEY>'']`,
|
|
`metadata.annotations[''<KEY>'']`, spec.nodeName,
|
|
spec.serviceAccountName, status.hostIP, status.podIP,
|
|
status.podIPs.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema the FieldPath
|
|
is written in terms of, defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to select in the
|
|
specified API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
resourceFieldRef:
|
|
description: 'Selects a resource of the container: only
|
|
resources limits and requests (limits.cpu, limits.memory,
|
|
limits.ephemeral-storage, requests.cpu, requests.memory
|
|
and requests.ephemeral-storage) are currently supported.'
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required for volumes,
|
|
optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output format of the
|
|
exposed resources, defaults to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
secretKeyRef:
|
|
description: Selects a key of a secret in the pod's
|
|
namespace
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select from. Must
|
|
be a valid secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its key
|
|
must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
pluginRegistryImage:
|
|
description: Overrides the container image used in the plugin
|
|
registry deployment. This includes the image tag. Omit it or
|
|
leave it empty to use the default container image provided by
|
|
the Operator.
|
|
type: string
|
|
pluginRegistryIngress:
|
|
description: Deprecated. The value of this flag is ignored. Plugin
|
|
registry ingress custom settings.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: Unstructured key value map stored with a resource
|
|
that may be set by external tools to store and retrieve
|
|
arbitrary metadata.
|
|
type: object
|
|
labels:
|
|
description: Comma separated list of labels that can be used
|
|
to organize and categorize objects by scoping and selecting.
|
|
type: string
|
|
type: object
|
|
pluginRegistryMemoryLimit:
|
|
description: Overrides the memory limit used in the plugin registry
|
|
deployment. Defaults to 1536Mi.
|
|
type: string
|
|
pluginRegistryMemoryRequest:
|
|
description: Overrides the memory request used in the plugin registry
|
|
deployment. Defaults to 16Mi.
|
|
type: string
|
|
pluginRegistryPullPolicy:
|
|
description: Overrides the image pull policy used in the plugin
|
|
registry deployment. Default value is `Always` for `nightly`,
|
|
`next` or `latest` images, and `IfNotPresent` in other cases.
|
|
type: string
|
|
pluginRegistryRoute:
|
|
description: Deprecated. The value of this flag is ignored. Plugin
|
|
registry route custom settings.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: Unstructured key value map stored with a resource
|
|
that may be set by external tools to store and retrieve
|
|
arbitrary metadata.
|
|
type: object
|
|
domain:
|
|
description: 'Operator uses the domain to generate a hostname
|
|
for a route. In a conjunction with labels it creates a route,
|
|
which is served by a non-default Ingress controller. The
|
|
generated host name will follow this pattern: `<route-name>-<route-namespace>.<domain>`.'
|
|
type: string
|
|
labels:
|
|
description: Comma separated list of labels that can be used
|
|
to organize and categorize objects by scoping and selecting.
|
|
type: string
|
|
type: object
|
|
pluginRegistryUrl:
|
|
description: Public URL of the plugin registry that serves sample
|
|
ready-to-use devfiles. Set this ONLY when a use of an external
|
|
devfile registry is needed. See the `externalPluginRegistry`
|
|
field. By default, this will be automatically calculated by
|
|
the Operator.
|
|
type: string
|
|
proxyPassword:
|
|
description: Password of the proxy server. Only use when proxy
|
|
configuration is required. See the `proxyURL`, `proxyUser` and
|
|
`proxySecret` fields.
|
|
type: string
|
|
proxyPort:
|
|
description: Port of the proxy server. Only use when configuring
|
|
a proxy is required. See also the `proxyURL` and `nonProxyHosts`
|
|
fields.
|
|
type: string
|
|
proxySecret:
|
|
description: The secret that contains `user` and `password` for
|
|
a proxy server. When the secret is defined, the `proxyUser`
|
|
and `proxyPassword` are ignored. The secret must have `app.kubernetes.io/part-of=che.eclipse.org`
|
|
label.
|
|
type: string
|
|
proxyURL:
|
|
description: URL (protocol+host name) of the proxy server. This
|
|
drives the appropriate changes in the `JAVA_OPTS` and `https(s)_proxy`
|
|
variables in the Che server and workspaces containers. Only
|
|
use when configuring a proxy is required. Operator respects
|
|
OpenShift cluster wide proxy configuration and no additional
|
|
configuration is required, but defining `proxyUrl` in a custom
|
|
resource leads to overrides the cluster proxy configuration
|
|
with fields `proxyUrl`, `proxyPort`, `proxyUser` and `proxyPassword`
|
|
from the custom resource. See the doc https://docs.openshift.com/container-platform/4.4/networking/enable-cluster-wide-proxy.html.
|
|
See also the `proxyPort` and `nonProxyHosts` fields.
|
|
type: string
|
|
proxyUser:
|
|
description: User name of the proxy server. Only use when configuring
|
|
a proxy is required. See also the `proxyURL`, `proxyPassword`
|
|
and `proxySecret` fields.
|
|
type: string
|
|
selfSignedCert:
|
|
description: Deprecated. The value of this flag is ignored. The
|
|
Che Operator will automatically detect whether the router certificate
|
|
is self-signed and propagate it to other components, such as
|
|
the Che server.
|
|
type: boolean
|
|
serverCpuLimit:
|
|
description: Overrides the CPU limit used in the Che server deployment
|
|
In cores. (500m = .5 cores). Default to 1.
|
|
type: string
|
|
serverCpuRequest:
|
|
description: Overrides the CPU request used in the Che server
|
|
deployment In cores. (500m = .5 cores). Default to 100m.
|
|
type: string
|
|
serverExposureStrategy:
|
|
description: Deprecated. The value of this flag is ignored. Sets
|
|
the server and workspaces exposure type. Possible values are
|
|
`multi-host`, `single-host`, `default-host`. Defaults to `multi-host`,
|
|
which creates a separate ingress, or OpenShift routes, for every
|
|
required endpoint. `single-host` makes Che exposed on a single
|
|
host name with workspaces exposed on subpaths. Read the docs
|
|
to learn about the limitations of this approach. Also consult
|
|
the `singleHostExposureType` property to further configure how
|
|
the Operator and the Che server make that happen on Kubernetes.
|
|
`default-host` exposes the Che server on the host of the cluster.
|
|
Read the docs to learn about the limitations of this approach.
|
|
type: string
|
|
serverMemoryLimit:
|
|
description: Overrides the memory limit used in the Che server
|
|
deployment. Defaults to 1Gi.
|
|
type: string
|
|
serverMemoryRequest:
|
|
description: Overrides the memory request used in the Che server
|
|
deployment. Defaults to 512Mi.
|
|
type: string
|
|
serverTrustStoreConfigMapName:
|
|
description: Name of the ConfigMap with public certificates to
|
|
add to Java trust store of the Che server. This is often required
|
|
when adding the OpenShift OAuth provider, which has HTTPS endpoint
|
|
signed with self-signed cert. The Che server must be aware of
|
|
its CA cert to be able to request it. This is disabled by default.
|
|
The Config Map must have `app.kubernetes.io/part-of=che.eclipse.org`
|
|
label.
|
|
type: string
|
|
singleHostGatewayConfigMapLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: The labels that need to be present in the ConfigMaps
|
|
representing the gateway configuration.
|
|
type: object
|
|
singleHostGatewayConfigSidecarImage:
|
|
description: The image used for the gateway sidecar that provides
|
|
configuration to the gateway. Omit it or leave it empty to use
|
|
the default container image provided by the Operator.
|
|
type: string
|
|
singleHostGatewayImage:
|
|
description: The image used for the gateway in the single host
|
|
mode. Omit it or leave it empty to use the default container
|
|
image provided by the Operator.
|
|
type: string
|
|
tlsSupport:
|
|
description: Deprecated. Instructs the Operator to deploy Che
|
|
in TLS mode. This is enabled by default. Disabling TLS sometimes
|
|
cause malfunction of some Che components.
|
|
type: boolean
|
|
useInternalClusterSVCNames:
|
|
description: Deprecated in favor of `disableInternalClusterSVCNames`.
|
|
type: boolean
|
|
workspaceDefaultComponents:
|
|
description: Default components applied to DevWorkspaces. These
|
|
default components are meant to be used when a Devfile does
|
|
not contain any components.
|
|
items:
|
|
properties:
|
|
attributes:
|
|
description: Map of implementation-dependant free-form YAML
|
|
attributes.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
componentType:
|
|
description: Type of component
|
|
enum:
|
|
- Container
|
|
- Kubernetes
|
|
- Openshift
|
|
- Volume
|
|
- Image
|
|
- Plugin
|
|
- Custom
|
|
type: string
|
|
container:
|
|
description: Allows adding and configuring devworkspace-related
|
|
containers
|
|
properties:
|
|
annotation:
|
|
description: Annotations that should be added to specific
|
|
resources for this container
|
|
properties:
|
|
deployment:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to be added to deployment
|
|
type: object
|
|
service:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to be added to service
|
|
type: object
|
|
type: object
|
|
args:
|
|
description: "The arguments to supply to the command
|
|
running the dockerimage component. The arguments are
|
|
supplied either to the default command provided in
|
|
the image or to the overridden command. \n Defaults
|
|
to an empty array, meaning use whatever is defined
|
|
in the image."
|
|
items:
|
|
type: string
|
|
type: array
|
|
command:
|
|
description: "The command to run in the dockerimage
|
|
component instead of the default one provided in the
|
|
image. \n Defaults to an empty array, meaning use
|
|
whatever is defined in the image."
|
|
items:
|
|
type: string
|
|
type: array
|
|
cpuLimit:
|
|
type: string
|
|
cpuRequest:
|
|
type: string
|
|
dedicatedPod:
|
|
description: "Specify if a container should run in its
|
|
own separated pod, instead of running as part of the
|
|
main development environment pod. \n Default value
|
|
is `false`"
|
|
type: boolean
|
|
endpoints:
|
|
items:
|
|
properties:
|
|
annotation:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to be added to Kubernetes
|
|
Ingress or Openshift Route
|
|
type: object
|
|
attributes:
|
|
description: "Map of implementation-dependant
|
|
string-based free-form attributes. \n Examples
|
|
of Che-specific attributes: \n - cookiesAuthEnabled:
|
|
\"true\" / \"false\", \n - type: \"terminal\"
|
|
/ \"ide\" / \"ide-dev\","
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
exposure:
|
|
default: public
|
|
description: "Describes how the endpoint should
|
|
be exposed on the network. \n - `public` means
|
|
that the endpoint will be exposed on the public
|
|
network, typically through a K8S ingress or
|
|
an OpenShift route. \n - `internal` means that
|
|
the endpoint will be exposed internally outside
|
|
of the main devworkspace POD, typically by K8S
|
|
services, to be consumed by other elements running
|
|
on the same cloud internal network. \n - `none`
|
|
means that the endpoint will not be exposed
|
|
and will only be accessible inside the main
|
|
devworkspace POD, on a local address. \n Default
|
|
value is `public`"
|
|
enum:
|
|
- public
|
|
- internal
|
|
- none
|
|
type: string
|
|
name:
|
|
maxLength: 63
|
|
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
|
type: string
|
|
path:
|
|
description: Path of the endpoint URL
|
|
type: string
|
|
protocol:
|
|
default: http
|
|
description: "Describes the application and transport
|
|
protocols of the traffic that will go through
|
|
this endpoint. \n - `http`: Endpoint will have
|
|
`http` traffic, typically on a TCP connection.
|
|
It will be automaticaly promoted to `https`
|
|
when the `secure` field is set to `true`. \n
|
|
- `https`: Endpoint will have `https` traffic,
|
|
typically on a TCP connection. \n - `ws`: Endpoint
|
|
will have `ws` traffic, typically on a TCP connection.
|
|
It will be automaticaly promoted to `wss` when
|
|
the `secure` field is set to `true`. \n - `wss`:
|
|
Endpoint will have `wss` traffic, typically
|
|
on a TCP connection. \n - `tcp`: Endpoint will
|
|
have traffic on a TCP connection, without specifying
|
|
an application protocol. \n - `udp`: Endpoint
|
|
will have traffic on an UDP connection, without
|
|
specifying an application protocol. \n Default
|
|
value is `http`"
|
|
enum:
|
|
- http
|
|
- https
|
|
- ws
|
|
- wss
|
|
- tcp
|
|
- udp
|
|
type: string
|
|
secure:
|
|
description: Describes whether the endpoint should
|
|
be secured and protected by some authentication
|
|
process. This requires a protocol of `https`
|
|
or `wss`.
|
|
type: boolean
|
|
targetPort:
|
|
description: Port number to be used within the
|
|
container component. The same port cannot be
|
|
used by two different container components.
|
|
type: integer
|
|
required:
|
|
- name
|
|
- targetPort
|
|
type: object
|
|
type: array
|
|
env:
|
|
description: "Environment variables used in this container.
|
|
\n The following variables are reserved and cannot
|
|
be overridden via env: \n - `$PROJECTS_ROOT` \n -
|
|
`$PROJECT_SOURCE`"
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
image:
|
|
type: string
|
|
memoryLimit:
|
|
type: string
|
|
memoryRequest:
|
|
type: string
|
|
mountSources:
|
|
description: "Toggles whether or not the project source
|
|
code should be mounted in the component. \n Defaults
|
|
to true for all component types except plugins and
|
|
components that set `dedicatedPod` to true."
|
|
type: boolean
|
|
sourceMapping:
|
|
default: /projects
|
|
description: Optional specification of the path in the
|
|
container where project sources should be transferred/mounted
|
|
when `mountSources` is `true`. When omitted, the default
|
|
value of /projects is used.
|
|
type: string
|
|
volumeMounts:
|
|
description: List of volumes mounts that should be mounted
|
|
is this container.
|
|
items:
|
|
description: Volume that should be mounted to a component
|
|
container
|
|
properties:
|
|
name:
|
|
description: The volume mount name is the name
|
|
of an existing `Volume` component. If several
|
|
containers mount the same volume name then they
|
|
will reuse the same volume and will be able
|
|
to access to the same files.
|
|
maxLength: 63
|
|
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
|
type: string
|
|
path:
|
|
description: The path in the component container
|
|
where the volume should be mounted. If not path
|
|
is mentioned, default path is the is `/<name>`.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
required:
|
|
- image
|
|
type: object
|
|
custom:
|
|
description: Custom component whose logic is implementation-dependant
|
|
and should be provided by the user possibly through some
|
|
dedicated controller
|
|
properties:
|
|
componentClass:
|
|
description: Class of component that the associated
|
|
implementation controller should use to process this
|
|
command with the appropriate logic
|
|
type: string
|
|
embeddedResource:
|
|
description: Additional free-form configuration for
|
|
this custom component that the implementation controller
|
|
will know how to use
|
|
type: object
|
|
x-kubernetes-embedded-resource: true
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
required:
|
|
- componentClass
|
|
- embeddedResource
|
|
type: object
|
|
image:
|
|
description: Allows specifying the definition of an image
|
|
for outer loop builds
|
|
properties:
|
|
autoBuild:
|
|
description: "Defines if the image should be built during
|
|
startup. \n Default value is `false`"
|
|
type: boolean
|
|
dockerfile:
|
|
description: Allows specifying dockerfile type build
|
|
properties:
|
|
args:
|
|
description: The arguments to supply to the dockerfile
|
|
build.
|
|
items:
|
|
type: string
|
|
type: array
|
|
buildContext:
|
|
description: Path of source directory to establish
|
|
build context. Defaults to ${PROJECT_SOURCE} in
|
|
the container
|
|
type: string
|
|
devfileRegistry:
|
|
description: Dockerfile's Devfile Registry source
|
|
properties:
|
|
id:
|
|
description: Id in a devfile registry that contains
|
|
a Dockerfile. The src in the OCI registry
|
|
required for the Dockerfile build will be
|
|
downloaded for building the image.
|
|
type: string
|
|
registryUrl:
|
|
description: Devfile Registry URL to pull the
|
|
Dockerfile from when using the Devfile Registry
|
|
as Dockerfile src. To ensure the Dockerfile
|
|
gets resolved consistently in different environments,
|
|
it is recommended to always specify the `devfileRegistryUrl`
|
|
when `Id` is used.
|
|
type: string
|
|
required:
|
|
- id
|
|
type: object
|
|
git:
|
|
description: Dockerfile's Git source
|
|
properties:
|
|
checkoutFrom:
|
|
description: Defines from what the project should
|
|
be checked out. Required if there are more
|
|
than one remote configured
|
|
properties:
|
|
remote:
|
|
description: The remote name should be used
|
|
as init. Required if there are more than
|
|
one remote configured
|
|
type: string
|
|
revision:
|
|
description: The revision to checkout from.
|
|
Should be branch name, tag or commit id.
|
|
Default branch is used if missing or specified
|
|
revision is not found.
|
|
type: string
|
|
type: object
|
|
fileLocation:
|
|
description: Location of the Dockerfile in the
|
|
Git repository when using git as Dockerfile
|
|
src. Defaults to Dockerfile.
|
|
type: string
|
|
remotes:
|
|
additionalProperties:
|
|
type: string
|
|
description: The remotes map which should be
|
|
initialized in the git project. Projects must
|
|
have at least one remote configured while
|
|
StarterProjects & Image Component's Git source
|
|
can only have at most one remote configured.
|
|
type: object
|
|
required:
|
|
- remotes
|
|
type: object
|
|
rootRequired:
|
|
description: "Specify if a privileged builder pod
|
|
is required. \n Default value is `false`"
|
|
type: boolean
|
|
srcType:
|
|
description: Type of Dockerfile src
|
|
enum:
|
|
- Uri
|
|
- DevfileRegistry
|
|
- Git
|
|
type: string
|
|
uri:
|
|
description: URI Reference of a Dockerfile. It can
|
|
be a full URL or a relative URI from the current
|
|
devfile as the base URI.
|
|
type: string
|
|
type: object
|
|
imageName:
|
|
description: Name of the image for the resulting outerloop
|
|
build
|
|
type: string
|
|
imageType:
|
|
description: Type of image
|
|
enum:
|
|
- Dockerfile
|
|
type: string
|
|
required:
|
|
- imageName
|
|
type: object
|
|
kubernetes:
|
|
description: Allows importing into the devworkspace the
|
|
Kubernetes resources defined in a given manifest. For
|
|
example this allows reusing the Kubernetes definitions
|
|
used to deploy some runtime components in production.
|
|
properties:
|
|
deployByDefault:
|
|
description: "Defines if the component should be deployed
|
|
during startup. \n Default value is `false`"
|
|
type: boolean
|
|
endpoints:
|
|
items:
|
|
properties:
|
|
annotation:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to be added to Kubernetes
|
|
Ingress or Openshift Route
|
|
type: object
|
|
attributes:
|
|
description: "Map of implementation-dependant
|
|
string-based free-form attributes. \n Examples
|
|
of Che-specific attributes: \n - cookiesAuthEnabled:
|
|
\"true\" / \"false\", \n - type: \"terminal\"
|
|
/ \"ide\" / \"ide-dev\","
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
exposure:
|
|
default: public
|
|
description: "Describes how the endpoint should
|
|
be exposed on the network. \n - `public` means
|
|
that the endpoint will be exposed on the public
|
|
network, typically through a K8S ingress or
|
|
an OpenShift route. \n - `internal` means that
|
|
the endpoint will be exposed internally outside
|
|
of the main devworkspace POD, typically by K8S
|
|
services, to be consumed by other elements running
|
|
on the same cloud internal network. \n - `none`
|
|
means that the endpoint will not be exposed
|
|
and will only be accessible inside the main
|
|
devworkspace POD, on a local address. \n Default
|
|
value is `public`"
|
|
enum:
|
|
- public
|
|
- internal
|
|
- none
|
|
type: string
|
|
name:
|
|
maxLength: 63
|
|
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
|
type: string
|
|
path:
|
|
description: Path of the endpoint URL
|
|
type: string
|
|
protocol:
|
|
default: http
|
|
description: "Describes the application and transport
|
|
protocols of the traffic that will go through
|
|
this endpoint. \n - `http`: Endpoint will have
|
|
`http` traffic, typically on a TCP connection.
|
|
It will be automaticaly promoted to `https`
|
|
when the `secure` field is set to `true`. \n
|
|
- `https`: Endpoint will have `https` traffic,
|
|
typically on a TCP connection. \n - `ws`: Endpoint
|
|
will have `ws` traffic, typically on a TCP connection.
|
|
It will be automaticaly promoted to `wss` when
|
|
the `secure` field is set to `true`. \n - `wss`:
|
|
Endpoint will have `wss` traffic, typically
|
|
on a TCP connection. \n - `tcp`: Endpoint will
|
|
have traffic on a TCP connection, without specifying
|
|
an application protocol. \n - `udp`: Endpoint
|
|
will have traffic on an UDP connection, without
|
|
specifying an application protocol. \n Default
|
|
value is `http`"
|
|
enum:
|
|
- http
|
|
- https
|
|
- ws
|
|
- wss
|
|
- tcp
|
|
- udp
|
|
type: string
|
|
secure:
|
|
description: Describes whether the endpoint should
|
|
be secured and protected by some authentication
|
|
process. This requires a protocol of `https`
|
|
or `wss`.
|
|
type: boolean
|
|
targetPort:
|
|
description: Port number to be used within the
|
|
container component. The same port cannot be
|
|
used by two different container components.
|
|
type: integer
|
|
required:
|
|
- name
|
|
- targetPort
|
|
type: object
|
|
type: array
|
|
inlined:
|
|
description: Inlined manifest
|
|
type: string
|
|
locationType:
|
|
description: Type of Kubernetes-like location
|
|
enum:
|
|
- Uri
|
|
- Inlined
|
|
type: string
|
|
uri:
|
|
description: Location in a file fetched from a uri.
|
|
type: string
|
|
type: object
|
|
name:
|
|
description: Mandatory name that allows referencing the
|
|
component from other elements (such as commands) or from
|
|
an external devfile that may reference this component
|
|
through a parent or a plugin.
|
|
maxLength: 63
|
|
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
|
type: string
|
|
openshift:
|
|
description: Allows importing into the devworkspace the
|
|
OpenShift resources defined in a given manifest. For example
|
|
this allows reusing the OpenShift definitions used to
|
|
deploy some runtime components in production.
|
|
properties:
|
|
deployByDefault:
|
|
description: "Defines if the component should be deployed
|
|
during startup. \n Default value is `false`"
|
|
type: boolean
|
|
endpoints:
|
|
items:
|
|
properties:
|
|
annotation:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to be added to Kubernetes
|
|
Ingress or Openshift Route
|
|
type: object
|
|
attributes:
|
|
description: "Map of implementation-dependant
|
|
string-based free-form attributes. \n Examples
|
|
of Che-specific attributes: \n - cookiesAuthEnabled:
|
|
\"true\" / \"false\", \n - type: \"terminal\"
|
|
/ \"ide\" / \"ide-dev\","
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
exposure:
|
|
default: public
|
|
description: "Describes how the endpoint should
|
|
be exposed on the network. \n - `public` means
|
|
that the endpoint will be exposed on the public
|
|
network, typically through a K8S ingress or
|
|
an OpenShift route. \n - `internal` means that
|
|
the endpoint will be exposed internally outside
|
|
of the main devworkspace POD, typically by K8S
|
|
services, to be consumed by other elements running
|
|
on the same cloud internal network. \n - `none`
|
|
means that the endpoint will not be exposed
|
|
and will only be accessible inside the main
|
|
devworkspace POD, on a local address. \n Default
|
|
value is `public`"
|
|
enum:
|
|
- public
|
|
- internal
|
|
- none
|
|
type: string
|
|
name:
|
|
maxLength: 63
|
|
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
|
type: string
|
|
path:
|
|
description: Path of the endpoint URL
|
|
type: string
|
|
protocol:
|
|
default: http
|
|
description: "Describes the application and transport
|
|
protocols of the traffic that will go through
|
|
this endpoint. \n - `http`: Endpoint will have
|
|
`http` traffic, typically on a TCP connection.
|
|
It will be automaticaly promoted to `https`
|
|
when the `secure` field is set to `true`. \n
|
|
- `https`: Endpoint will have `https` traffic,
|
|
typically on a TCP connection. \n - `ws`: Endpoint
|
|
will have `ws` traffic, typically on a TCP connection.
|
|
It will be automaticaly promoted to `wss` when
|
|
the `secure` field is set to `true`. \n - `wss`:
|
|
Endpoint will have `wss` traffic, typically
|
|
on a TCP connection. \n - `tcp`: Endpoint will
|
|
have traffic on a TCP connection, without specifying
|
|
an application protocol. \n - `udp`: Endpoint
|
|
will have traffic on an UDP connection, without
|
|
specifying an application protocol. \n Default
|
|
value is `http`"
|
|
enum:
|
|
- http
|
|
- https
|
|
- ws
|
|
- wss
|
|
- tcp
|
|
- udp
|
|
type: string
|
|
secure:
|
|
description: Describes whether the endpoint should
|
|
be secured and protected by some authentication
|
|
process. This requires a protocol of `https`
|
|
or `wss`.
|
|
type: boolean
|
|
targetPort:
|
|
description: Port number to be used within the
|
|
container component. The same port cannot be
|
|
used by two different container components.
|
|
type: integer
|
|
required:
|
|
- name
|
|
- targetPort
|
|
type: object
|
|
type: array
|
|
inlined:
|
|
description: Inlined manifest
|
|
type: string
|
|
locationType:
|
|
description: Type of Kubernetes-like location
|
|
enum:
|
|
- Uri
|
|
- Inlined
|
|
type: string
|
|
uri:
|
|
description: Location in a file fetched from a uri.
|
|
type: string
|
|
type: object
|
|
plugin:
|
|
description: "Allows importing a plugin. \n Plugins are
|
|
mainly imported devfiles that contribute components, commands
|
|
and events as a consistent single unit. They are defined
|
|
in either YAML files following the devfile syntax, or
|
|
as `DevWorkspaceTemplate` Kubernetes Custom Resources"
|
|
properties:
|
|
commands:
|
|
description: Overrides of commands encapsulated in a
|
|
parent devfile or a plugin. Overriding is done according
|
|
to K8S strategic merge patch standard rules.
|
|
items:
|
|
properties:
|
|
apply:
|
|
description: "Command that consists in applying
|
|
a given component definition, typically bound
|
|
to a devworkspace event. \n For example, when
|
|
an `apply` command is bound to a `preStart`
|
|
event, and references a `container` component,
|
|
it will start the container as a K8S initContainer
|
|
in the devworkspace POD, unless the component
|
|
has its `dedicatedPod` field set to `true`.
|
|
\n When no `apply` command exist for a given
|
|
component, it is assumed the component will
|
|
be applied at devworkspace start by default,
|
|
unless `deployByDefault` for that component
|
|
is set to false."
|
|
properties:
|
|
component:
|
|
description: Describes component that will
|
|
be applied
|
|
type: string
|
|
group:
|
|
description: Defines the group this command
|
|
is part of
|
|
properties:
|
|
isDefault:
|
|
description: Identifies the default command
|
|
for a given group kind
|
|
type: boolean
|
|
kind:
|
|
description: Kind of group the command
|
|
is part of
|
|
enum:
|
|
- build
|
|
- run
|
|
- test
|
|
- debug
|
|
- deploy
|
|
type: string
|
|
type: object
|
|
label:
|
|
description: Optional label that provides
|
|
a label for this command to be used in Editor
|
|
UI menus for example
|
|
type: string
|
|
type: object
|
|
attributes:
|
|
description: Map of implementation-dependant free-form
|
|
YAML attributes.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
commandType:
|
|
description: Type of devworkspace command
|
|
enum:
|
|
- Exec
|
|
- Apply
|
|
- Composite
|
|
type: string
|
|
composite:
|
|
description: Composite command that allows executing
|
|
several sub-commands either sequentially or
|
|
concurrently
|
|
properties:
|
|
commands:
|
|
description: The commands that comprise this
|
|
composite command
|
|
items:
|
|
type: string
|
|
type: array
|
|
group:
|
|
description: Defines the group this command
|
|
is part of
|
|
properties:
|
|
isDefault:
|
|
description: Identifies the default command
|
|
for a given group kind
|
|
type: boolean
|
|
kind:
|
|
description: Kind of group the command
|
|
is part of
|
|
enum:
|
|
- build
|
|
- run
|
|
- test
|
|
- debug
|
|
- deploy
|
|
type: string
|
|
type: object
|
|
label:
|
|
description: Optional label that provides
|
|
a label for this command to be used in Editor
|
|
UI menus for example
|
|
type: string
|
|
parallel:
|
|
description: Indicates if the sub-commands
|
|
should be executed concurrently
|
|
type: boolean
|
|
type: object
|
|
exec:
|
|
description: CLI Command executed in an existing
|
|
component container
|
|
properties:
|
|
commandLine:
|
|
description: "The actual command-line string
|
|
\n Special variables that can be used: \n
|
|
\ - `$PROJECTS_ROOT`: A path where projects
|
|
sources are mounted as defined by container
|
|
component's sourceMapping. \n - `$PROJECT_SOURCE`:
|
|
A path to a project source ($PROJECTS_ROOT/<project-name>).
|
|
If there are multiple projects, this will
|
|
point to the directory of the first one."
|
|
type: string
|
|
component:
|
|
description: Describes component to which
|
|
given action relates
|
|
type: string
|
|
env:
|
|
description: Optional list of environment
|
|
variables that have to be set before running
|
|
the command
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
group:
|
|
description: Defines the group this command
|
|
is part of
|
|
properties:
|
|
isDefault:
|
|
description: Identifies the default command
|
|
for a given group kind
|
|
type: boolean
|
|
kind:
|
|
description: Kind of group the command
|
|
is part of
|
|
enum:
|
|
- build
|
|
- run
|
|
- test
|
|
- debug
|
|
- deploy
|
|
type: string
|
|
type: object
|
|
hotReloadCapable:
|
|
description: "Specify whether the command
|
|
is restarted or not when the source code
|
|
changes. If set to `true` the command won't
|
|
be restarted. A *hotReloadCapable* `run`
|
|
or `debug` command is expected to handle
|
|
file changes on its own and won't be restarted.
|
|
A *hotReloadCapable* `build` command is
|
|
expected to be executed only once and won't
|
|
be executed again. This field is taken into
|
|
account only for commands `build`, `run`
|
|
and `debug` with `isDefault` set to `true`.
|
|
\n Default value is `false`"
|
|
type: boolean
|
|
label:
|
|
description: Optional label that provides
|
|
a label for this command to be used in Editor
|
|
UI menus for example
|
|
type: string
|
|
workingDir:
|
|
description: "Working directory where the
|
|
command should be executed \n Special variables
|
|
that can be used: \n - `$PROJECTS_ROOT`:
|
|
A path where projects sources are mounted
|
|
as defined by container component's sourceMapping.
|
|
\n - `$PROJECT_SOURCE`: A path to a project
|
|
source ($PROJECTS_ROOT/<project-name>).
|
|
If there are multiple projects, this will
|
|
point to the directory of the first one."
|
|
type: string
|
|
type: object
|
|
id:
|
|
description: Mandatory identifier that allows
|
|
referencing this command in composite commands,
|
|
from a parent, or in events.
|
|
maxLength: 63
|
|
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
|
type: string
|
|
required:
|
|
- id
|
|
type: object
|
|
type: array
|
|
components:
|
|
description: Overrides of components encapsulated in
|
|
a parent devfile or a plugin. Overriding is done according
|
|
to K8S strategic merge patch standard rules.
|
|
items:
|
|
properties:
|
|
attributes:
|
|
description: Map of implementation-dependant free-form
|
|
YAML attributes.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
componentType:
|
|
description: Type of component
|
|
enum:
|
|
- Container
|
|
- Kubernetes
|
|
- Openshift
|
|
- Volume
|
|
- Image
|
|
type: string
|
|
container:
|
|
description: Allows adding and configuring devworkspace-related
|
|
containers
|
|
properties:
|
|
annotation:
|
|
description: Annotations that should be added
|
|
to specific resources for this container
|
|
properties:
|
|
deployment:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to be added to
|
|
deployment
|
|
type: object
|
|
service:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to be added to
|
|
service
|
|
type: object
|
|
type: object
|
|
args:
|
|
description: "The arguments to supply to the
|
|
command running the dockerimage component.
|
|
The arguments are supplied either to the
|
|
default command provided in the image or
|
|
to the overridden command. \n Defaults to
|
|
an empty array, meaning use whatever is
|
|
defined in the image."
|
|
items:
|
|
type: string
|
|
type: array
|
|
command:
|
|
description: "The command to run in the dockerimage
|
|
component instead of the default one provided
|
|
in the image. \n Defaults to an empty array,
|
|
meaning use whatever is defined in the image."
|
|
items:
|
|
type: string
|
|
type: array
|
|
cpuLimit:
|
|
type: string
|
|
cpuRequest:
|
|
type: string
|
|
dedicatedPod:
|
|
description: "Specify if a container should
|
|
run in its own separated pod, instead of
|
|
running as part of the main development
|
|
environment pod. \n Default value is `false`"
|
|
type: boolean
|
|
endpoints:
|
|
items:
|
|
properties:
|
|
annotation:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to be added
|
|
to Kubernetes Ingress or Openshift
|
|
Route
|
|
type: object
|
|
attributes:
|
|
description: "Map of implementation-dependant
|
|
string-based free-form attributes.
|
|
\n Examples of Che-specific attributes:
|
|
\n - cookiesAuthEnabled: \"true\"
|
|
/ \"false\", \n - type: \"terminal\"
|
|
/ \"ide\" / \"ide-dev\","
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
exposure:
|
|
description: "Describes how the endpoint
|
|
should be exposed on the network.
|
|
\n - `public` means that the endpoint
|
|
will be exposed on the public network,
|
|
typically through a K8S ingress or
|
|
an OpenShift route. \n - `internal`
|
|
means that the endpoint will be exposed
|
|
internally outside of the main devworkspace
|
|
POD, typically by K8S services, to
|
|
be consumed by other elements running
|
|
on the same cloud internal network.
|
|
\n - `none` means that the endpoint
|
|
will not be exposed and will only
|
|
be accessible inside the main devworkspace
|
|
POD, on a local address. \n Default
|
|
value is `public`"
|
|
enum:
|
|
- public
|
|
- internal
|
|
- none
|
|
type: string
|
|
name:
|
|
maxLength: 63
|
|
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
|
type: string
|
|
path:
|
|
description: Path of the endpoint URL
|
|
type: string
|
|
protocol:
|
|
description: "Describes the application
|
|
and transport protocols of the traffic
|
|
that will go through this endpoint.
|
|
\n - `http`: Endpoint will have `http`
|
|
traffic, typically on a TCP connection.
|
|
It will be automaticaly promoted to
|
|
`https` when the `secure` field is
|
|
set to `true`. \n - `https`: Endpoint
|
|
will have `https` traffic, typically
|
|
on a TCP connection. \n - `ws`: Endpoint
|
|
will have `ws` traffic, typically
|
|
on a TCP connection. It will be automaticaly
|
|
promoted to `wss` when the `secure`
|
|
field is set to `true`. \n - `wss`:
|
|
Endpoint will have `wss` traffic,
|
|
typically on a TCP connection. \n
|
|
- `tcp`: Endpoint will have traffic
|
|
on a TCP connection, without specifying
|
|
an application protocol. \n - `udp`:
|
|
Endpoint will have traffic on an UDP
|
|
connection, without specifying an
|
|
application protocol. \n Default value
|
|
is `http`"
|
|
enum:
|
|
- http
|
|
- https
|
|
- ws
|
|
- wss
|
|
- tcp
|
|
- udp
|
|
type: string
|
|
secure:
|
|
description: Describes whether the endpoint
|
|
should be secured and protected by
|
|
some authentication process. This
|
|
requires a protocol of `https` or
|
|
`wss`.
|
|
type: boolean
|
|
targetPort:
|
|
description: Port number to be used
|
|
within the container component. The
|
|
same port cannot be used by two different
|
|
container components.
|
|
type: integer
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
env:
|
|
description: "Environment variables used in
|
|
this container. \n The following variables
|
|
are reserved and cannot be overridden via
|
|
env: \n - `$PROJECTS_ROOT` \n - `$PROJECT_SOURCE`"
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
image:
|
|
type: string
|
|
memoryLimit:
|
|
type: string
|
|
memoryRequest:
|
|
type: string
|
|
mountSources:
|
|
description: "Toggles whether or not the project
|
|
source code should be mounted in the component.
|
|
\n Defaults to true for all component types
|
|
except plugins and components that set `dedicatedPod`
|
|
to true."
|
|
type: boolean
|
|
sourceMapping:
|
|
description: Optional specification of the
|
|
path in the container where project sources
|
|
should be transferred/mounted when `mountSources`
|
|
is `true`. When omitted, the default value
|
|
of /projects is used.
|
|
type: string
|
|
volumeMounts:
|
|
description: List of volumes mounts that should
|
|
be mounted is this container.
|
|
items:
|
|
description: Volume that should be mounted
|
|
to a component container
|
|
properties:
|
|
name:
|
|
description: The volume mount name is
|
|
the name of an existing `Volume` component.
|
|
If several containers mount the same
|
|
volume name then they will reuse the
|
|
same volume and will be able to access
|
|
to the same files.
|
|
maxLength: 63
|
|
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
|
type: string
|
|
path:
|
|
description: The path in the component
|
|
container where the volume should
|
|
be mounted. If not path is mentioned,
|
|
default path is the is `/<name>`.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
type: object
|
|
image:
|
|
description: Allows specifying the definition
|
|
of an image for outer loop builds
|
|
properties:
|
|
autoBuild:
|
|
description: "Defines if the image should
|
|
be built during startup. \n Default value
|
|
is `false`"
|
|
type: boolean
|
|
dockerfile:
|
|
description: Allows specifying dockerfile
|
|
type build
|
|
properties:
|
|
args:
|
|
description: The arguments to supply to
|
|
the dockerfile build.
|
|
items:
|
|
type: string
|
|
type: array
|
|
buildContext:
|
|
description: Path of source directory
|
|
to establish build context. Defaults
|
|
to ${PROJECT_SOURCE} in the container
|
|
type: string
|
|
devfileRegistry:
|
|
description: Dockerfile's Devfile Registry
|
|
source
|
|
properties:
|
|
id:
|
|
description: Id in a devfile registry
|
|
that contains a Dockerfile. The
|
|
src in the OCI registry required
|
|
for the Dockerfile build will be
|
|
downloaded for building the image.
|
|
type: string
|
|
registryUrl:
|
|
description: Devfile Registry URL
|
|
to pull the Dockerfile from when
|
|
using the Devfile Registry as Dockerfile
|
|
src. To ensure the Dockerfile gets
|
|
resolved consistently in different
|
|
environments, it is recommended
|
|
to always specify the `devfileRegistryUrl`
|
|
when `Id` is used.
|
|
type: string
|
|
type: object
|
|
git:
|
|
description: Dockerfile's Git source
|
|
properties:
|
|
checkoutFrom:
|
|
description: Defines from what the
|
|
project should be checked out. Required
|
|
if there are more than one remote
|
|
configured
|
|
properties:
|
|
remote:
|
|
description: The remote name should
|
|
be used as init. Required if
|
|
there are more than one remote
|
|
configured
|
|
type: string
|
|
revision:
|
|
description: The revision to checkout
|
|
from. Should be branch name,
|
|
tag or commit id. Default branch
|
|
is used if missing or specified
|
|
revision is not found.
|
|
type: string
|
|
type: object
|
|
fileLocation:
|
|
description: Location of the Dockerfile
|
|
in the Git repository when using
|
|
git as Dockerfile src. Defaults
|
|
to Dockerfile.
|
|
type: string
|
|
remotes:
|
|
additionalProperties:
|
|
type: string
|
|
description: The remotes map which
|
|
should be initialized in the git
|
|
project. Projects must have at least
|
|
one remote configured while StarterProjects
|
|
& Image Component's Git source can
|
|
only have at most one remote configured.
|
|
type: object
|
|
type: object
|
|
rootRequired:
|
|
description: "Specify if a privileged
|
|
builder pod is required. \n Default
|
|
value is `false`"
|
|
type: boolean
|
|
srcType:
|
|
description: Type of Dockerfile src
|
|
enum:
|
|
- Uri
|
|
- DevfileRegistry
|
|
- Git
|
|
type: string
|
|
uri:
|
|
description: URI Reference of a Dockerfile.
|
|
It can be a full URL or a relative URI
|
|
from the current devfile as the base
|
|
URI.
|
|
type: string
|
|
type: object
|
|
imageName:
|
|
description: Name of the image for the resulting
|
|
outerloop build
|
|
type: string
|
|
imageType:
|
|
description: Type of image
|
|
enum:
|
|
- Dockerfile
|
|
- AutoBuild
|
|
type: string
|
|
type: object
|
|
kubernetes:
|
|
description: Allows importing into the devworkspace
|
|
the Kubernetes resources defined in a given
|
|
manifest. For example this allows reusing the
|
|
Kubernetes definitions used to deploy some runtime
|
|
components in production.
|
|
properties:
|
|
deployByDefault:
|
|
description: "Defines if the component should
|
|
be deployed during startup. \n Default value
|
|
is `false`"
|
|
type: boolean
|
|
endpoints:
|
|
items:
|
|
properties:
|
|
annotation:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to be added
|
|
to Kubernetes Ingress or Openshift
|
|
Route
|
|
type: object
|
|
attributes:
|
|
description: "Map of implementation-dependant
|
|
string-based free-form attributes.
|
|
\n Examples of Che-specific attributes:
|
|
\n - cookiesAuthEnabled: \"true\"
|
|
/ \"false\", \n - type: \"terminal\"
|
|
/ \"ide\" / \"ide-dev\","
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
exposure:
|
|
description: "Describes how the endpoint
|
|
should be exposed on the network.
|
|
\n - `public` means that the endpoint
|
|
will be exposed on the public network,
|
|
typically through a K8S ingress or
|
|
an OpenShift route. \n - `internal`
|
|
means that the endpoint will be exposed
|
|
internally outside of the main devworkspace
|
|
POD, typically by K8S services, to
|
|
be consumed by other elements running
|
|
on the same cloud internal network.
|
|
\n - `none` means that the endpoint
|
|
will not be exposed and will only
|
|
be accessible inside the main devworkspace
|
|
POD, on a local address. \n Default
|
|
value is `public`"
|
|
enum:
|
|
- public
|
|
- internal
|
|
- none
|
|
type: string
|
|
name:
|
|
maxLength: 63
|
|
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
|
type: string
|
|
path:
|
|
description: Path of the endpoint URL
|
|
type: string
|
|
protocol:
|
|
description: "Describes the application
|
|
and transport protocols of the traffic
|
|
that will go through this endpoint.
|
|
\n - `http`: Endpoint will have `http`
|
|
traffic, typically on a TCP connection.
|
|
It will be automaticaly promoted to
|
|
`https` when the `secure` field is
|
|
set to `true`. \n - `https`: Endpoint
|
|
will have `https` traffic, typically
|
|
on a TCP connection. \n - `ws`: Endpoint
|
|
will have `ws` traffic, typically
|
|
on a TCP connection. It will be automaticaly
|
|
promoted to `wss` when the `secure`
|
|
field is set to `true`. \n - `wss`:
|
|
Endpoint will have `wss` traffic,
|
|
typically on a TCP connection. \n
|
|
- `tcp`: Endpoint will have traffic
|
|
on a TCP connection, without specifying
|
|
an application protocol. \n - `udp`:
|
|
Endpoint will have traffic on an UDP
|
|
connection, without specifying an
|
|
application protocol. \n Default value
|
|
is `http`"
|
|
enum:
|
|
- http
|
|
- https
|
|
- ws
|
|
- wss
|
|
- tcp
|
|
- udp
|
|
type: string
|
|
secure:
|
|
description: Describes whether the endpoint
|
|
should be secured and protected by
|
|
some authentication process. This
|
|
requires a protocol of `https` or
|
|
`wss`.
|
|
type: boolean
|
|
targetPort:
|
|
description: Port number to be used
|
|
within the container component. The
|
|
same port cannot be used by two different
|
|
container components.
|
|
type: integer
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
inlined:
|
|
description: Inlined manifest
|
|
type: string
|
|
locationType:
|
|
description: Type of Kubernetes-like location
|
|
enum:
|
|
- Uri
|
|
- Inlined
|
|
type: string
|
|
uri:
|
|
description: Location in a file fetched from
|
|
a uri.
|
|
type: string
|
|
type: object
|
|
name:
|
|
description: Mandatory name that allows referencing
|
|
the component from other elements (such as commands)
|
|
or from an external devfile that may reference
|
|
this component through a parent or a plugin.
|
|
maxLength: 63
|
|
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
|
type: string
|
|
openshift:
|
|
description: Allows importing into the devworkspace
|
|
the OpenShift resources defined in a given manifest.
|
|
For example this allows reusing the OpenShift
|
|
definitions used to deploy some runtime components
|
|
in production.
|
|
properties:
|
|
deployByDefault:
|
|
description: "Defines if the component should
|
|
be deployed during startup. \n Default value
|
|
is `false`"
|
|
type: boolean
|
|
endpoints:
|
|
items:
|
|
properties:
|
|
annotation:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to be added
|
|
to Kubernetes Ingress or Openshift
|
|
Route
|
|
type: object
|
|
attributes:
|
|
description: "Map of implementation-dependant
|
|
string-based free-form attributes.
|
|
\n Examples of Che-specific attributes:
|
|
\n - cookiesAuthEnabled: \"true\"
|
|
/ \"false\", \n - type: \"terminal\"
|
|
/ \"ide\" / \"ide-dev\","
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
exposure:
|
|
description: "Describes how the endpoint
|
|
should be exposed on the network.
|
|
\n - `public` means that the endpoint
|
|
will be exposed on the public network,
|
|
typically through a K8S ingress or
|
|
an OpenShift route. \n - `internal`
|
|
means that the endpoint will be exposed
|
|
internally outside of the main devworkspace
|
|
POD, typically by K8S services, to
|
|
be consumed by other elements running
|
|
on the same cloud internal network.
|
|
\n - `none` means that the endpoint
|
|
will not be exposed and will only
|
|
be accessible inside the main devworkspace
|
|
POD, on a local address. \n Default
|
|
value is `public`"
|
|
enum:
|
|
- public
|
|
- internal
|
|
- none
|
|
type: string
|
|
name:
|
|
maxLength: 63
|
|
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
|
type: string
|
|
path:
|
|
description: Path of the endpoint URL
|
|
type: string
|
|
protocol:
|
|
description: "Describes the application
|
|
and transport protocols of the traffic
|
|
that will go through this endpoint.
|
|
\n - `http`: Endpoint will have `http`
|
|
traffic, typically on a TCP connection.
|
|
It will be automaticaly promoted to
|
|
`https` when the `secure` field is
|
|
set to `true`. \n - `https`: Endpoint
|
|
will have `https` traffic, typically
|
|
on a TCP connection. \n - `ws`: Endpoint
|
|
will have `ws` traffic, typically
|
|
on a TCP connection. It will be automaticaly
|
|
promoted to `wss` when the `secure`
|
|
field is set to `true`. \n - `wss`:
|
|
Endpoint will have `wss` traffic,
|
|
typically on a TCP connection. \n
|
|
- `tcp`: Endpoint will have traffic
|
|
on a TCP connection, without specifying
|
|
an application protocol. \n - `udp`:
|
|
Endpoint will have traffic on an UDP
|
|
connection, without specifying an
|
|
application protocol. \n Default value
|
|
is `http`"
|
|
enum:
|
|
- http
|
|
- https
|
|
- ws
|
|
- wss
|
|
- tcp
|
|
- udp
|
|
type: string
|
|
secure:
|
|
description: Describes whether the endpoint
|
|
should be secured and protected by
|
|
some authentication process. This
|
|
requires a protocol of `https` or
|
|
`wss`.
|
|
type: boolean
|
|
targetPort:
|
|
description: Port number to be used
|
|
within the container component. The
|
|
same port cannot be used by two different
|
|
container components.
|
|
type: integer
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
inlined:
|
|
description: Inlined manifest
|
|
type: string
|
|
locationType:
|
|
description: Type of Kubernetes-like location
|
|
enum:
|
|
- Uri
|
|
- Inlined
|
|
type: string
|
|
uri:
|
|
description: Location in a file fetched from
|
|
a uri.
|
|
type: string
|
|
type: object
|
|
volume:
|
|
description: Allows specifying the definition
|
|
of a volume shared by several other components
|
|
properties:
|
|
ephemeral:
|
|
description: Ephemeral volumes are not stored
|
|
persistently across restarts. Defaults to
|
|
false
|
|
type: boolean
|
|
size:
|
|
description: Size of the volume
|
|
type: string
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
id:
|
|
description: Id in a registry that contains a Devfile
|
|
yaml file
|
|
type: string
|
|
importReferenceType:
|
|
description: type of location from where the referenced
|
|
template structure should be retrieved
|
|
enum:
|
|
- Uri
|
|
- Id
|
|
- Kubernetes
|
|
type: string
|
|
kubernetes:
|
|
description: Reference to a Kubernetes CRD of type DevWorkspaceTemplate
|
|
properties:
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
registryUrl:
|
|
description: Registry URL to pull the parent devfile
|
|
from when using id in the parent reference. To ensure
|
|
the parent devfile gets resolved consistently in different
|
|
environments, it is recommended to always specify
|
|
the `registryUrl` when `id` is used.
|
|
type: string
|
|
uri:
|
|
description: URI Reference of a parent devfile YAML
|
|
file. It can be a full URL or a relative URI with
|
|
the current devfile as the base URI.
|
|
type: string
|
|
version:
|
|
description: Specific stack/sample version to pull the
|
|
parent devfile from, when using id in the parent reference.
|
|
To specify `version`, `id` must be defined and used
|
|
as the import reference source. `version` can be either
|
|
a specific stack version, or `latest`. If no `version`
|
|
specified, default version will be used.
|
|
pattern: ^(latest)|(([1-9])\.([0-9]+)\.([0-9]+)(\-[0-9a-z-]+(\.[0-9a-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?)$
|
|
type: string
|
|
type: object
|
|
volume:
|
|
description: Allows specifying the definition of a volume
|
|
shared by several other components
|
|
properties:
|
|
ephemeral:
|
|
description: Ephemeral volumes are not stored persistently
|
|
across restarts. Defaults to false
|
|
type: boolean
|
|
size:
|
|
description: Size of the volume
|
|
type: string
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
workspaceDefaultEditor:
|
|
default: che-incubator/che-code/latest
|
|
description: The default editor to workspace create with. It could
|
|
be a plugin ID or a URI. The plugin ID must have `publisher/plugin/version`.
|
|
The URI must start from `http`.
|
|
type: string
|
|
workspaceNamespaceDefault:
|
|
description: Defines Kubernetes default namespace in which user's
|
|
workspaces are created for a case when a user does not override
|
|
it. It's possible to use `<username>`, `<userid>` and `<workspaceid>`
|
|
placeholders, such as che-workspace-<username>. In that case,
|
|
a new namespace will be created for each user or workspace.
|
|
type: string
|
|
workspacePodNodeSelector:
|
|
additionalProperties:
|
|
type: string
|
|
description: The node selector that limits the nodes that can
|
|
run the workspace pods.
|
|
type: object
|
|
workspacePodTolerations:
|
|
description: The pod tolerations put on the workspace pods to
|
|
limit where the workspace pods can run.
|
|
items:
|
|
description: The pod this Toleration is attached to tolerates
|
|
any taint that matches the triple <key,value,effect> using
|
|
the matching operator <operator>.
|
|
properties:
|
|
effect:
|
|
description: Effect indicates the taint effect to match.
|
|
Empty means match all taint effects. When specified, allowed
|
|
values are NoSchedule, PreferNoSchedule and NoExecute.
|
|
type: string
|
|
key:
|
|
description: Key is the taint key that the toleration applies
|
|
to. Empty means match all taint keys. If the key is empty,
|
|
operator must be Exists; this combination means to match
|
|
all values and all keys.
|
|
type: string
|
|
operator:
|
|
description: Operator represents a key's relationship to
|
|
the value. Valid operators are Exists and Equal. Defaults
|
|
to Equal. Exists is equivalent to wildcard for value,
|
|
so that a pod can tolerate all taints of a particular
|
|
category.
|
|
type: string
|
|
tolerationSeconds:
|
|
description: TolerationSeconds represents the period of
|
|
time the toleration (which must be of effect NoExecute,
|
|
otherwise this field is ignored) tolerates the taint.
|
|
By default, it is not set, which means tolerate the taint
|
|
forever (do not evict). Zero and negative values will
|
|
be treated as 0 (evict immediately) by the system.
|
|
format: int64
|
|
type: integer
|
|
value:
|
|
description: Value is the taint value the toleration matches
|
|
to. If the operator is Exists, the value should be empty,
|
|
otherwise just a regular string.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
workspacesDefaultPlugins:
|
|
description: Default plug-ins applied to Devworkspaces.
|
|
items:
|
|
properties:
|
|
editor:
|
|
description: The editor id to specify default plug-ins for.
|
|
type: string
|
|
plugins:
|
|
description: Default plug-in uris for the specified editor.
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
type: array
|
|
type: object
|
|
storage:
|
|
description: Configuration settings related to the persistent storage
|
|
used by the Che installation.
|
|
properties:
|
|
perWorkspaceStrategyPVCStorageClassName:
|
|
description: Storage class for the Persistent Volume Claims dedicated
|
|
to the Che workspaces. When omitted or left blank, a default
|
|
storage class is used.
|
|
type: string
|
|
perWorkspaceStrategyPvcClaimSize:
|
|
description: Size of the persistent volume claim for workspaces.
|
|
type: string
|
|
postgresPVCStorageClassName:
|
|
description: Storage class for the Persistent Volume Claim dedicated
|
|
to the PostgreSQL database. When omitted or left blank, a default
|
|
storage class is used.
|
|
type: string
|
|
preCreateSubPaths:
|
|
description: Instructs the Che server to start a special Pod to
|
|
pre-create a sub-path in the Persistent Volumes. Defaults to
|
|
`false`, however it will need to enable it according to the
|
|
configuration of your Kubernetes cluster.
|
|
type: boolean
|
|
pvcClaimSize:
|
|
description: Size of the persistent volume claim for workspaces.
|
|
Defaults to `10Gi`.
|
|
type: string
|
|
pvcJobsImage:
|
|
description: Overrides the container image used to create sub-paths
|
|
in the Persistent Volumes. This includes the image tag. Omit
|
|
it or leave it empty to use the default container image provided
|
|
by the Operator. See also the `preCreateSubPaths` field.
|
|
type: string
|
|
pvcStrategy:
|
|
description: Persistent volume claim strategy for the Che server.
|
|
This Can be:`common` (all workspaces PVCs in one volume), `per-workspace`
|
|
(one PVC per workspace for all declared volumes) and `unique`
|
|
(one PVC per declared volume). Defaults to `common`.
|
|
type: string
|
|
workspacePVCStorageClassName:
|
|
description: Storage class for the Persistent Volume Claims dedicated
|
|
to the Che workspaces. When omitted or left blank, a default
|
|
storage class is used.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
status:
|
|
description: CheClusterStatus defines the observed state of Che installation
|
|
properties:
|
|
cheClusterRunning:
|
|
description: Status of a Che installation. Can be `Available`, `Unavailable`,
|
|
or `Available, Rolling Update in Progress`.
|
|
type: string
|
|
cheURL:
|
|
description: Public URL to the Che server.
|
|
type: string
|
|
cheVersion:
|
|
description: Current installed Che version.
|
|
type: string
|
|
dbProvisioned:
|
|
description: Indicates that a PostgreSQL instance has been correctly
|
|
provisioned or not.
|
|
type: boolean
|
|
devfileRegistryURL:
|
|
description: Public URL to the devfile registry.
|
|
type: string
|
|
devworkspaceStatus:
|
|
description: The status of the Devworkspace subsystem
|
|
properties:
|
|
gatewayHost:
|
|
description: GatewayHost is the resolved host of the ingress/route.
|
|
This is equal to the Host in the spec on Kubernetes but contains
|
|
the actual host name of the route if Host is unspecified on
|
|
OpenShift.
|
|
type: string
|
|
gatewayPhase:
|
|
description: GatewayPhase specifies the phase in which the gateway
|
|
deployment currently is. If the gateway is disabled, the phase
|
|
is "Inactive".
|
|
type: string
|
|
message:
|
|
description: Message contains further human-readable info for
|
|
why the Che cluster is in the phase it currently is.
|
|
type: string
|
|
phase:
|
|
description: Phase is the phase in which the Che cluster as a
|
|
whole finds itself in.
|
|
type: string
|
|
reason:
|
|
description: A brief CamelCase message indicating details about
|
|
why the Che cluster is in this state.
|
|
type: string
|
|
workspaceBaseDomain:
|
|
description: 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.
|
|
type: string
|
|
type: object
|
|
gitHubOAuthProvisioned:
|
|
description: Indicates whether an Identity Provider instance, Keycloak
|
|
or RH-SSO, has been configured to integrate with the GitHub OAuth.
|
|
type: boolean
|
|
gitServerTLSCertificateConfigMapName:
|
|
description: The ConfigMap containing certificates to propagate to
|
|
the Che components and to provide particular configuration for Git.
|
|
type: string
|
|
helpLink:
|
|
description: A URL that points to some URL where to find help related
|
|
to the current Operator status.
|
|
type: string
|
|
keycloakProvisioned:
|
|
description: Indicates whether an Identity Provider instance, Keycloak
|
|
or RH-SSO, has been provisioned with realm, client and user.
|
|
type: boolean
|
|
keycloakURL:
|
|
description: Public URL to the Identity Provider server, Keycloak
|
|
or RH-SSO,.
|
|
type: string
|
|
message:
|
|
description: A human readable message indicating details about why
|
|
the Pod is in this condition.
|
|
type: string
|
|
openShiftOAuthUserCredentialsSecret:
|
|
description: OpenShift OAuth secret in `openshift-config` namespace
|
|
that contains user credentials for HTPasswd identity provider.
|
|
type: string
|
|
openShiftoAuthProvisioned:
|
|
description: Indicates whether an Identity Provider instance, Keycloak
|
|
or RH-SSO, has been configured to integrate with the OpenShift OAuth.
|
|
type: boolean
|
|
pluginRegistryURL:
|
|
description: Public URL to the plugin registry.
|
|
type: string
|
|
reason:
|
|
description: A brief CamelCase message indicating details about why
|
|
the Pod is in this state.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: false
|
|
subresources:
|
|
status: {}
|
|
- name: v2
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: 'The `CheCluster` custom resource allows defining and managing
|
|
Eclipse Che server installation. Based on these settings, the Operator
|
|
automatically creates and maintains several ConfigMaps: `che`, `plugin-registry`,
|
|
`devfile-registry` that will contain the appropriate environment variables
|
|
of the various components of the installation. These generated ConfigMaps
|
|
must NOT be updated manually.'
|
|
properties:
|
|
apiVersion:
|
|
description: 'APIVersion defines the versioned schema of this representation
|
|
of an object. Servers should convert recognized schemas to the latest
|
|
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
|
type: string
|
|
kind:
|
|
description: 'Kind is a string value representing the REST resource this
|
|
object represents. Servers may infer this from the endpoint the client
|
|
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: Desired configuration of Eclipse Che installation.
|
|
properties:
|
|
components:
|
|
default:
|
|
cheServer:
|
|
debug: false
|
|
logLevel: INFO
|
|
metrics:
|
|
enable: true
|
|
description: Che components configuration.
|
|
properties:
|
|
cheServer:
|
|
default:
|
|
debug: false
|
|
logLevel: INFO
|
|
description: General configuration settings related to the Che
|
|
server.
|
|
properties:
|
|
clusterRoles:
|
|
description: 'Additional ClusterRoles assigned to Che ServiceAccount.
|
|
Each role must have a `app.kubernetes.io/part-of=che.eclipse.org`
|
|
label. The defaults roles are: - `<che-namespace>-cheworkspaces-clusterrole`
|
|
- `<che-namespace>-cheworkspaces-namespaces-clusterrole`
|
|
- `<che-namespace>-cheworkspaces-devworkspace-clusterrole`
|
|
where the <che-namespace> is the namespace where the CheCluster
|
|
CR is created. The Che Operator must already have all permissions
|
|
in these ClusterRoles to grant them.'
|
|
items:
|
|
type: string
|
|
type: array
|
|
debug:
|
|
default: false
|
|
description: Enables the debug mode for Che server.
|
|
type: boolean
|
|
deployment:
|
|
description: Deployment override options.
|
|
properties:
|
|
containers:
|
|
description: List of containers belonging to the pod.
|
|
items:
|
|
description: Container custom settings.
|
|
properties:
|
|
env:
|
|
description: List of environment variables to set
|
|
in the container.
|
|
items:
|
|
description: EnvVar represents an environment
|
|
variable present in a Container.
|
|
properties:
|
|
name:
|
|
description: Name of the environment variable.
|
|
Must be a C_IDENTIFIER.
|
|
type: string
|
|
value:
|
|
description: 'Variable references $(VAR_NAME)
|
|
are expanded using the previously defined
|
|
environment variables in the container and
|
|
any service environment variables. If a
|
|
variable cannot be resolved, the reference
|
|
in the input string will be unchanged. Double
|
|
$$ are reduced to a single $, which allows
|
|
for escaping the $(VAR_NAME) syntax: i.e.
|
|
"$$(VAR_NAME)" will produce the string literal
|
|
"$(VAR_NAME)". Escaped references will never
|
|
be expanded, regardless of whether the variable
|
|
exists or not. Defaults to "".'
|
|
type: string
|
|
valueFrom:
|
|
description: Source for the environment variable's
|
|
value. Cannot be used if value is not empty.
|
|
properties:
|
|
configMapKeyRef:
|
|
description: Selects a key of a ConfigMap.
|
|
properties:
|
|
key:
|
|
description: The key to select.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion,
|
|
kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap
|
|
or its key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
fieldRef:
|
|
description: 'Selects a field of the pod:
|
|
supports metadata.name, metadata.namespace,
|
|
`metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`,
|
|
spec.nodeName, spec.serviceAccountName,
|
|
status.hostIP, status.podIP, status.podIPs.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema
|
|
the FieldPath is written in terms
|
|
of, defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to
|
|
select in the specified API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
resourceFieldRef:
|
|
description: 'Selects a resource of the
|
|
container: only resources limits and
|
|
requests (limits.cpu, limits.memory,
|
|
limits.ephemeral-storage, requests.cpu,
|
|
requests.memory and requests.ephemeral-storage)
|
|
are currently supported.'
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required
|
|
for volumes, optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output
|
|
format of the exposed resources,
|
|
defaults to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to
|
|
select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
secretKeyRef:
|
|
description: Selects a key of a secret
|
|
in the pod's namespace
|
|
properties:
|
|
key:
|
|
description: The key of the secret
|
|
to select from. Must be a valid
|
|
secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion,
|
|
kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret
|
|
or its key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
image:
|
|
description: Container image. Omit it or leave it
|
|
empty to use the default container image provided
|
|
by the Operator.
|
|
type: string
|
|
imagePullPolicy:
|
|
description: Image pull policy. Default value is
|
|
`Always` for `nightly`, `next` or `latest` images,
|
|
and `IfNotPresent` in other cases.
|
|
enum:
|
|
- Always
|
|
- IfNotPresent
|
|
- Never
|
|
type: string
|
|
name:
|
|
description: Container name.
|
|
type: string
|
|
resources:
|
|
description: Compute resources required by this
|
|
container.
|
|
properties:
|
|
limits:
|
|
description: Describes the maximum amount of
|
|
compute resources allowed.
|
|
properties:
|
|
cpu:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: CPU, in cores. (500m = .5 cores)
|
|
If the value is not specified, then the
|
|
default value is set depending on the
|
|
component. If value is `0`, then no value
|
|
is set for the component.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
memory:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Memory, in bytes. (500Gi =
|
|
500GiB = 500 * 1024 * 1024 * 1024) If
|
|
the value is not specified, then the default
|
|
value is set depending on the component.
|
|
If value is `0`, then no value is set
|
|
for the component.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
request:
|
|
description: Describes the minimum amount of
|
|
compute resources required.
|
|
properties:
|
|
cpu:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: CPU, in cores. (500m = .5 cores)
|
|
If the value is not specified, then the
|
|
default value is set depending on the
|
|
component. If value is `0`, then no value
|
|
is set for the component.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
memory:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Memory, in bytes. (500Gi =
|
|
500GiB = 500 * 1024 * 1024 * 1024) If
|
|
the value is not specified, then the default
|
|
value is set depending on the component.
|
|
If value is `0`, then no value is set
|
|
for the component.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: array
|
|
securityContext:
|
|
description: Security options the pod should run with.
|
|
properties:
|
|
fsGroup:
|
|
description: A special supplemental group that applies
|
|
to all containers in a pod. The default value is
|
|
`1724`.
|
|
format: int64
|
|
type: integer
|
|
runAsUser:
|
|
description: The UID to run the entrypoint of the
|
|
container process. The default value is `1724`.
|
|
format: int64
|
|
type: integer
|
|
type: object
|
|
type: object
|
|
extraProperties:
|
|
additionalProperties:
|
|
type: string
|
|
description: 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.
|
|
type: object
|
|
logLevel:
|
|
default: INFO
|
|
description: 'The log level for the Che server: `INFO` or
|
|
`DEBUG`.'
|
|
type: string
|
|
proxy:
|
|
description: 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.
|
|
properties:
|
|
credentialsSecretName:
|
|
description: The secret name that contains `user` and
|
|
`password` for a proxy server. The secret must have
|
|
a `app.kubernetes.io/part-of=che.eclipse.org` label.
|
|
type: string
|
|
nonProxyHosts:
|
|
description: 'A list of hosts that can be reached directly,
|
|
bypassing the proxy. Specify wild card domain use the
|
|
following form `.<DOMAIN>`, for example: - localhost -
|
|
my.host.com - 123.42.12.32 Use only when a proxy
|
|
configuration is required. The Operator respects OpenShift
|
|
cluster-wide proxy configuration, defining `nonProxyHosts`
|
|
in a custom resource leads to merging non-proxy hosts
|
|
lists from the cluster proxy configuration, and the
|
|
ones defined in the custom resources. See the following
|
|
page: https://docs.openshift.com/container-platform/4.4/networking/enable-cluster-wide-proxy.html.'
|
|
items:
|
|
type: string
|
|
type: array
|
|
port:
|
|
description: Proxy server port.
|
|
type: string
|
|
url:
|
|
description: 'URL (protocol+hostname) of the proxy server.
|
|
Use only when a proxy configuration is required. The
|
|
Operator respects OpenShift cluster-wide proxy configuration,
|
|
defining `url` in a custom resource leads to overriding
|
|
the cluster proxy configuration. See the following page:
|
|
https://docs.openshift.com/container-platform/4.4/networking/enable-cluster-wide-proxy.html.'
|
|
type: string
|
|
type: object
|
|
type: object
|
|
dashboard:
|
|
description: Configuration settings related to the dashboard used
|
|
by the Che installation.
|
|
properties:
|
|
branding:
|
|
description: Dashboard branding resources.
|
|
properties:
|
|
logo:
|
|
description: Dashboard logo.
|
|
properties:
|
|
base64data:
|
|
type: string
|
|
mediatype:
|
|
type: string
|
|
required:
|
|
- base64data
|
|
- mediatype
|
|
type: object
|
|
type: object
|
|
deployment:
|
|
description: Deployment override options.
|
|
properties:
|
|
containers:
|
|
description: List of containers belonging to the pod.
|
|
items:
|
|
description: Container custom settings.
|
|
properties:
|
|
env:
|
|
description: List of environment variables to set
|
|
in the container.
|
|
items:
|
|
description: EnvVar represents an environment
|
|
variable present in a Container.
|
|
properties:
|
|
name:
|
|
description: Name of the environment variable.
|
|
Must be a C_IDENTIFIER.
|
|
type: string
|
|
value:
|
|
description: 'Variable references $(VAR_NAME)
|
|
are expanded using the previously defined
|
|
environment variables in the container and
|
|
any service environment variables. If a
|
|
variable cannot be resolved, the reference
|
|
in the input string will be unchanged. Double
|
|
$$ are reduced to a single $, which allows
|
|
for escaping the $(VAR_NAME) syntax: i.e.
|
|
"$$(VAR_NAME)" will produce the string literal
|
|
"$(VAR_NAME)". Escaped references will never
|
|
be expanded, regardless of whether the variable
|
|
exists or not. Defaults to "".'
|
|
type: string
|
|
valueFrom:
|
|
description: Source for the environment variable's
|
|
value. Cannot be used if value is not empty.
|
|
properties:
|
|
configMapKeyRef:
|
|
description: Selects a key of a ConfigMap.
|
|
properties:
|
|
key:
|
|
description: The key to select.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion,
|
|
kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap
|
|
or its key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
fieldRef:
|
|
description: 'Selects a field of the pod:
|
|
supports metadata.name, metadata.namespace,
|
|
`metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`,
|
|
spec.nodeName, spec.serviceAccountName,
|
|
status.hostIP, status.podIP, status.podIPs.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema
|
|
the FieldPath is written in terms
|
|
of, defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to
|
|
select in the specified API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
resourceFieldRef:
|
|
description: 'Selects a resource of the
|
|
container: only resources limits and
|
|
requests (limits.cpu, limits.memory,
|
|
limits.ephemeral-storage, requests.cpu,
|
|
requests.memory and requests.ephemeral-storage)
|
|
are currently supported.'
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required
|
|
for volumes, optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output
|
|
format of the exposed resources,
|
|
defaults to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to
|
|
select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
secretKeyRef:
|
|
description: Selects a key of a secret
|
|
in the pod's namespace
|
|
properties:
|
|
key:
|
|
description: The key of the secret
|
|
to select from. Must be a valid
|
|
secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion,
|
|
kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret
|
|
or its key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
image:
|
|
description: Container image. Omit it or leave it
|
|
empty to use the default container image provided
|
|
by the Operator.
|
|
type: string
|
|
imagePullPolicy:
|
|
description: Image pull policy. Default value is
|
|
`Always` for `nightly`, `next` or `latest` images,
|
|
and `IfNotPresent` in other cases.
|
|
enum:
|
|
- Always
|
|
- IfNotPresent
|
|
- Never
|
|
type: string
|
|
name:
|
|
description: Container name.
|
|
type: string
|
|
resources:
|
|
description: Compute resources required by this
|
|
container.
|
|
properties:
|
|
limits:
|
|
description: Describes the maximum amount of
|
|
compute resources allowed.
|
|
properties:
|
|
cpu:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: CPU, in cores. (500m = .5 cores)
|
|
If the value is not specified, then the
|
|
default value is set depending on the
|
|
component. If value is `0`, then no value
|
|
is set for the component.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
memory:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Memory, in bytes. (500Gi =
|
|
500GiB = 500 * 1024 * 1024 * 1024) If
|
|
the value is not specified, then the default
|
|
value is set depending on the component.
|
|
If value is `0`, then no value is set
|
|
for the component.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
request:
|
|
description: Describes the minimum amount of
|
|
compute resources required.
|
|
properties:
|
|
cpu:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: CPU, in cores. (500m = .5 cores)
|
|
If the value is not specified, then the
|
|
default value is set depending on the
|
|
component. If value is `0`, then no value
|
|
is set for the component.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
memory:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Memory, in bytes. (500Gi =
|
|
500GiB = 500 * 1024 * 1024 * 1024) If
|
|
the value is not specified, then the default
|
|
value is set depending on the component.
|
|
If value is `0`, then no value is set
|
|
for the component.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: array
|
|
securityContext:
|
|
description: Security options the pod should run with.
|
|
properties:
|
|
fsGroup:
|
|
description: A special supplemental group that applies
|
|
to all containers in a pod. The default value is
|
|
`1724`.
|
|
format: int64
|
|
type: integer
|
|
runAsUser:
|
|
description: The UID to run the entrypoint of the
|
|
container process. The default value is `1724`.
|
|
format: int64
|
|
type: integer
|
|
type: object
|
|
type: object
|
|
headerMessage:
|
|
description: Dashboard header message.
|
|
properties:
|
|
show:
|
|
description: Instructs dashboard to show the message.
|
|
type: boolean
|
|
text:
|
|
description: Warning message displayed on the user dashboard.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
devWorkspace:
|
|
description: DevWorkspace Operator configuration.
|
|
properties:
|
|
runningLimit:
|
|
description: Deprecated in favor of `MaxNumberOfRunningWorkspacesPerUser`
|
|
The maximum number of running workspaces per user.
|
|
type: string
|
|
type: object
|
|
devfileRegistry:
|
|
description: Configuration settings related to the devfile registry
|
|
used by the Che installation.
|
|
properties:
|
|
deployment:
|
|
description: Deployment override options.
|
|
properties:
|
|
containers:
|
|
description: List of containers belonging to the pod.
|
|
items:
|
|
description: Container custom settings.
|
|
properties:
|
|
env:
|
|
description: List of environment variables to set
|
|
in the container.
|
|
items:
|
|
description: EnvVar represents an environment
|
|
variable present in a Container.
|
|
properties:
|
|
name:
|
|
description: Name of the environment variable.
|
|
Must be a C_IDENTIFIER.
|
|
type: string
|
|
value:
|
|
description: 'Variable references $(VAR_NAME)
|
|
are expanded using the previously defined
|
|
environment variables in the container and
|
|
any service environment variables. If a
|
|
variable cannot be resolved, the reference
|
|
in the input string will be unchanged. Double
|
|
$$ are reduced to a single $, which allows
|
|
for escaping the $(VAR_NAME) syntax: i.e.
|
|
"$$(VAR_NAME)" will produce the string literal
|
|
"$(VAR_NAME)". Escaped references will never
|
|
be expanded, regardless of whether the variable
|
|
exists or not. Defaults to "".'
|
|
type: string
|
|
valueFrom:
|
|
description: Source for the environment variable's
|
|
value. Cannot be used if value is not empty.
|
|
properties:
|
|
configMapKeyRef:
|
|
description: Selects a key of a ConfigMap.
|
|
properties:
|
|
key:
|
|
description: The key to select.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion,
|
|
kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap
|
|
or its key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
fieldRef:
|
|
description: 'Selects a field of the pod:
|
|
supports metadata.name, metadata.namespace,
|
|
`metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`,
|
|
spec.nodeName, spec.serviceAccountName,
|
|
status.hostIP, status.podIP, status.podIPs.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema
|
|
the FieldPath is written in terms
|
|
of, defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to
|
|
select in the specified API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
resourceFieldRef:
|
|
description: 'Selects a resource of the
|
|
container: only resources limits and
|
|
requests (limits.cpu, limits.memory,
|
|
limits.ephemeral-storage, requests.cpu,
|
|
requests.memory and requests.ephemeral-storage)
|
|
are currently supported.'
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required
|
|
for volumes, optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output
|
|
format of the exposed resources,
|
|
defaults to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to
|
|
select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
secretKeyRef:
|
|
description: Selects a key of a secret
|
|
in the pod's namespace
|
|
properties:
|
|
key:
|
|
description: The key of the secret
|
|
to select from. Must be a valid
|
|
secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion,
|
|
kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret
|
|
or its key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
image:
|
|
description: Container image. Omit it or leave it
|
|
empty to use the default container image provided
|
|
by the Operator.
|
|
type: string
|
|
imagePullPolicy:
|
|
description: Image pull policy. Default value is
|
|
`Always` for `nightly`, `next` or `latest` images,
|
|
and `IfNotPresent` in other cases.
|
|
enum:
|
|
- Always
|
|
- IfNotPresent
|
|
- Never
|
|
type: string
|
|
name:
|
|
description: Container name.
|
|
type: string
|
|
resources:
|
|
description: Compute resources required by this
|
|
container.
|
|
properties:
|
|
limits:
|
|
description: Describes the maximum amount of
|
|
compute resources allowed.
|
|
properties:
|
|
cpu:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: CPU, in cores. (500m = .5 cores)
|
|
If the value is not specified, then the
|
|
default value is set depending on the
|
|
component. If value is `0`, then no value
|
|
is set for the component.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
memory:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Memory, in bytes. (500Gi =
|
|
500GiB = 500 * 1024 * 1024 * 1024) If
|
|
the value is not specified, then the default
|
|
value is set depending on the component.
|
|
If value is `0`, then no value is set
|
|
for the component.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
request:
|
|
description: Describes the minimum amount of
|
|
compute resources required.
|
|
properties:
|
|
cpu:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: CPU, in cores. (500m = .5 cores)
|
|
If the value is not specified, then the
|
|
default value is set depending on the
|
|
component. If value is `0`, then no value
|
|
is set for the component.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
memory:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Memory, in bytes. (500Gi =
|
|
500GiB = 500 * 1024 * 1024 * 1024) If
|
|
the value is not specified, then the default
|
|
value is set depending on the component.
|
|
If value is `0`, then no value is set
|
|
for the component.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: array
|
|
securityContext:
|
|
description: Security options the pod should run with.
|
|
properties:
|
|
fsGroup:
|
|
description: A special supplemental group that applies
|
|
to all containers in a pod. The default value is
|
|
`1724`.
|
|
format: int64
|
|
type: integer
|
|
runAsUser:
|
|
description: The UID to run the entrypoint of the
|
|
container process. The default value is `1724`.
|
|
format: int64
|
|
type: integer
|
|
type: object
|
|
type: object
|
|
disableInternalRegistry:
|
|
description: Disables internal devfile registry.
|
|
type: boolean
|
|
externalDevfileRegistries:
|
|
description: External devfile registries serving sample ready-to-use
|
|
devfiles.
|
|
items:
|
|
description: External devfile registries configuration.
|
|
properties:
|
|
url:
|
|
description: The public UR of the devfile registry that
|
|
serves sample ready-to-use devfiles.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
type: object
|
|
imagePuller:
|
|
description: Kubernetes Image Puller configuration.
|
|
properties:
|
|
enable:
|
|
description: 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.
|
|
type: boolean
|
|
spec:
|
|
description: A Kubernetes Image Puller spec to configure the
|
|
image puller in the CheCluster.
|
|
properties:
|
|
affinity:
|
|
type: string
|
|
cachingCPULimit:
|
|
type: string
|
|
cachingCPURequest:
|
|
type: string
|
|
cachingIntervalHours:
|
|
type: string
|
|
cachingMemoryLimit:
|
|
type: string
|
|
cachingMemoryRequest:
|
|
type: string
|
|
configMapName:
|
|
type: string
|
|
daemonsetName:
|
|
type: string
|
|
deploymentName:
|
|
type: string
|
|
imagePullSecrets:
|
|
type: string
|
|
imagePullerImage:
|
|
type: string
|
|
images:
|
|
type: string
|
|
nodeSelector:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
metrics:
|
|
default:
|
|
enable: true
|
|
description: Che server metrics configuration.
|
|
properties:
|
|
enable:
|
|
default: true
|
|
description: Enables `metrics` for the Che server endpoint.
|
|
type: boolean
|
|
type: object
|
|
pluginRegistry:
|
|
description: Configuration settings related to the plug-in registry
|
|
used by the Che installation.
|
|
properties:
|
|
deployment:
|
|
description: Deployment override options.
|
|
properties:
|
|
containers:
|
|
description: List of containers belonging to the pod.
|
|
items:
|
|
description: Container custom settings.
|
|
properties:
|
|
env:
|
|
description: List of environment variables to set
|
|
in the container.
|
|
items:
|
|
description: EnvVar represents an environment
|
|
variable present in a Container.
|
|
properties:
|
|
name:
|
|
description: Name of the environment variable.
|
|
Must be a C_IDENTIFIER.
|
|
type: string
|
|
value:
|
|
description: 'Variable references $(VAR_NAME)
|
|
are expanded using the previously defined
|
|
environment variables in the container and
|
|
any service environment variables. If a
|
|
variable cannot be resolved, the reference
|
|
in the input string will be unchanged. Double
|
|
$$ are reduced to a single $, which allows
|
|
for escaping the $(VAR_NAME) syntax: i.e.
|
|
"$$(VAR_NAME)" will produce the string literal
|
|
"$(VAR_NAME)". Escaped references will never
|
|
be expanded, regardless of whether the variable
|
|
exists or not. Defaults to "".'
|
|
type: string
|
|
valueFrom:
|
|
description: Source for the environment variable's
|
|
value. Cannot be used if value is not empty.
|
|
properties:
|
|
configMapKeyRef:
|
|
description: Selects a key of a ConfigMap.
|
|
properties:
|
|
key:
|
|
description: The key to select.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion,
|
|
kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap
|
|
or its key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
fieldRef:
|
|
description: 'Selects a field of the pod:
|
|
supports metadata.name, metadata.namespace,
|
|
`metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`,
|
|
spec.nodeName, spec.serviceAccountName,
|
|
status.hostIP, status.podIP, status.podIPs.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema
|
|
the FieldPath is written in terms
|
|
of, defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to
|
|
select in the specified API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
resourceFieldRef:
|
|
description: 'Selects a resource of the
|
|
container: only resources limits and
|
|
requests (limits.cpu, limits.memory,
|
|
limits.ephemeral-storage, requests.cpu,
|
|
requests.memory and requests.ephemeral-storage)
|
|
are currently supported.'
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required
|
|
for volumes, optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output
|
|
format of the exposed resources,
|
|
defaults to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to
|
|
select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
secretKeyRef:
|
|
description: Selects a key of a secret
|
|
in the pod's namespace
|
|
properties:
|
|
key:
|
|
description: The key of the secret
|
|
to select from. Must be a valid
|
|
secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion,
|
|
kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret
|
|
or its key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
image:
|
|
description: Container image. Omit it or leave it
|
|
empty to use the default container image provided
|
|
by the Operator.
|
|
type: string
|
|
imagePullPolicy:
|
|
description: Image pull policy. Default value is
|
|
`Always` for `nightly`, `next` or `latest` images,
|
|
and `IfNotPresent` in other cases.
|
|
enum:
|
|
- Always
|
|
- IfNotPresent
|
|
- Never
|
|
type: string
|
|
name:
|
|
description: Container name.
|
|
type: string
|
|
resources:
|
|
description: Compute resources required by this
|
|
container.
|
|
properties:
|
|
limits:
|
|
description: Describes the maximum amount of
|
|
compute resources allowed.
|
|
properties:
|
|
cpu:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: CPU, in cores. (500m = .5 cores)
|
|
If the value is not specified, then the
|
|
default value is set depending on the
|
|
component. If value is `0`, then no value
|
|
is set for the component.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
memory:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Memory, in bytes. (500Gi =
|
|
500GiB = 500 * 1024 * 1024 * 1024) If
|
|
the value is not specified, then the default
|
|
value is set depending on the component.
|
|
If value is `0`, then no value is set
|
|
for the component.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
request:
|
|
description: Describes the minimum amount of
|
|
compute resources required.
|
|
properties:
|
|
cpu:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: CPU, in cores. (500m = .5 cores)
|
|
If the value is not specified, then the
|
|
default value is set depending on the
|
|
component. If value is `0`, then no value
|
|
is set for the component.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
memory:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Memory, in bytes. (500Gi =
|
|
500GiB = 500 * 1024 * 1024 * 1024) If
|
|
the value is not specified, then the default
|
|
value is set depending on the component.
|
|
If value is `0`, then no value is set
|
|
for the component.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: array
|
|
securityContext:
|
|
description: Security options the pod should run with.
|
|
properties:
|
|
fsGroup:
|
|
description: A special supplemental group that applies
|
|
to all containers in a pod. The default value is
|
|
`1724`.
|
|
format: int64
|
|
type: integer
|
|
runAsUser:
|
|
description: The UID to run the entrypoint of the
|
|
container process. The default value is `1724`.
|
|
format: int64
|
|
type: integer
|
|
type: object
|
|
type: object
|
|
disableInternalRegistry:
|
|
description: Disables internal plug-in registry.
|
|
type: boolean
|
|
externalPluginRegistries:
|
|
description: External plugin registries.
|
|
items:
|
|
description: External plug-in registries configuration.
|
|
properties:
|
|
url:
|
|
description: Public URL of the plug-in registry.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
openVSXURL:
|
|
description: Open VSX registry URL. If omitted an embedded
|
|
instance will be used.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
containerRegistry:
|
|
description: Configuration of an alternative registry that stores
|
|
Che images.
|
|
properties:
|
|
hostname:
|
|
description: 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.
|
|
type: string
|
|
organization:
|
|
description: 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
|
|
Eclipse Che in a restricted environment.
|
|
type: string
|
|
type: object
|
|
devEnvironments:
|
|
default:
|
|
defaultNamespace:
|
|
autoProvision: true
|
|
template: <username>-che
|
|
maxNumberOfWorkspacesPerUser: -1
|
|
secondsOfInactivityBeforeIdling: 1800
|
|
secondsOfRunBeforeIdling: -1
|
|
startTimeoutSeconds: 300
|
|
storage:
|
|
pvcStrategy: per-user
|
|
description: Development environment default configuration options.
|
|
properties:
|
|
containerBuildConfiguration:
|
|
description: Container build configuration.
|
|
properties:
|
|
openShiftSecurityContextConstraint:
|
|
default: container-build
|
|
description: OpenShift security context constraint to build
|
|
containers.
|
|
type: string
|
|
type: object
|
|
defaultComponents:
|
|
description: Default components applied to DevWorkspaces. These
|
|
default components are meant to be used when a Devfile, that
|
|
does not contain any components.
|
|
items:
|
|
properties:
|
|
attributes:
|
|
description: Map of implementation-dependant free-form YAML
|
|
attributes.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
componentType:
|
|
description: Type of component
|
|
enum:
|
|
- Container
|
|
- Kubernetes
|
|
- Openshift
|
|
- Volume
|
|
- Image
|
|
- Plugin
|
|
- Custom
|
|
type: string
|
|
container:
|
|
description: Allows adding and configuring devworkspace-related
|
|
containers
|
|
properties:
|
|
annotation:
|
|
description: Annotations that should be added to specific
|
|
resources for this container
|
|
properties:
|
|
deployment:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to be added to deployment
|
|
type: object
|
|
service:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to be added to service
|
|
type: object
|
|
type: object
|
|
args:
|
|
description: "The arguments to supply to the command
|
|
running the dockerimage component. The arguments are
|
|
supplied either to the default command provided in
|
|
the image or to the overridden command. \n Defaults
|
|
to an empty array, meaning use whatever is defined
|
|
in the image."
|
|
items:
|
|
type: string
|
|
type: array
|
|
command:
|
|
description: "The command to run in the dockerimage
|
|
component instead of the default one provided in the
|
|
image. \n Defaults to an empty array, meaning use
|
|
whatever is defined in the image."
|
|
items:
|
|
type: string
|
|
type: array
|
|
cpuLimit:
|
|
type: string
|
|
cpuRequest:
|
|
type: string
|
|
dedicatedPod:
|
|
description: "Specify if a container should run in its
|
|
own separated pod, instead of running as part of the
|
|
main development environment pod. \n Default value
|
|
is `false`"
|
|
type: boolean
|
|
endpoints:
|
|
items:
|
|
properties:
|
|
annotation:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to be added to Kubernetes
|
|
Ingress or Openshift Route
|
|
type: object
|
|
attributes:
|
|
description: "Map of implementation-dependant
|
|
string-based free-form attributes. \n Examples
|
|
of Che-specific attributes: \n - cookiesAuthEnabled:
|
|
\"true\" / \"false\", \n - type: \"terminal\"
|
|
/ \"ide\" / \"ide-dev\","
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
exposure:
|
|
default: public
|
|
description: "Describes how the endpoint should
|
|
be exposed on the network. \n - `public` means
|
|
that the endpoint will be exposed on the public
|
|
network, typically through a K8S ingress or
|
|
an OpenShift route. \n - `internal` means that
|
|
the endpoint will be exposed internally outside
|
|
of the main devworkspace POD, typically by K8S
|
|
services, to be consumed by other elements running
|
|
on the same cloud internal network. \n - `none`
|
|
means that the endpoint will not be exposed
|
|
and will only be accessible inside the main
|
|
devworkspace POD, on a local address. \n Default
|
|
value is `public`"
|
|
enum:
|
|
- public
|
|
- internal
|
|
- none
|
|
type: string
|
|
name:
|
|
maxLength: 63
|
|
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
|
type: string
|
|
path:
|
|
description: Path of the endpoint URL
|
|
type: string
|
|
protocol:
|
|
default: http
|
|
description: "Describes the application and transport
|
|
protocols of the traffic that will go through
|
|
this endpoint. \n - `http`: Endpoint will have
|
|
`http` traffic, typically on a TCP connection.
|
|
It will be automaticaly promoted to `https`
|
|
when the `secure` field is set to `true`. \n
|
|
- `https`: Endpoint will have `https` traffic,
|
|
typically on a TCP connection. \n - `ws`: Endpoint
|
|
will have `ws` traffic, typically on a TCP connection.
|
|
It will be automaticaly promoted to `wss` when
|
|
the `secure` field is set to `true`. \n - `wss`:
|
|
Endpoint will have `wss` traffic, typically
|
|
on a TCP connection. \n - `tcp`: Endpoint will
|
|
have traffic on a TCP connection, without specifying
|
|
an application protocol. \n - `udp`: Endpoint
|
|
will have traffic on an UDP connection, without
|
|
specifying an application protocol. \n Default
|
|
value is `http`"
|
|
enum:
|
|
- http
|
|
- https
|
|
- ws
|
|
- wss
|
|
- tcp
|
|
- udp
|
|
type: string
|
|
secure:
|
|
description: Describes whether the endpoint should
|
|
be secured and protected by some authentication
|
|
process. This requires a protocol of `https`
|
|
or `wss`.
|
|
type: boolean
|
|
targetPort:
|
|
description: Port number to be used within the
|
|
container component. The same port cannot be
|
|
used by two different container components.
|
|
type: integer
|
|
required:
|
|
- name
|
|
- targetPort
|
|
type: object
|
|
type: array
|
|
env:
|
|
description: "Environment variables used in this container.
|
|
\n The following variables are reserved and cannot
|
|
be overridden via env: \n - `$PROJECTS_ROOT` \n -
|
|
`$PROJECT_SOURCE`"
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
image:
|
|
type: string
|
|
memoryLimit:
|
|
type: string
|
|
memoryRequest:
|
|
type: string
|
|
mountSources:
|
|
description: "Toggles whether or not the project source
|
|
code should be mounted in the component. \n Defaults
|
|
to true for all component types except plugins and
|
|
components that set `dedicatedPod` to true."
|
|
type: boolean
|
|
sourceMapping:
|
|
default: /projects
|
|
description: Optional specification of the path in the
|
|
container where project sources should be transferred/mounted
|
|
when `mountSources` is `true`. When omitted, the default
|
|
value of /projects is used.
|
|
type: string
|
|
volumeMounts:
|
|
description: List of volumes mounts that should be mounted
|
|
is this container.
|
|
items:
|
|
description: Volume that should be mounted to a component
|
|
container
|
|
properties:
|
|
name:
|
|
description: The volume mount name is the name
|
|
of an existing `Volume` component. If several
|
|
containers mount the same volume name then they
|
|
will reuse the same volume and will be able
|
|
to access to the same files.
|
|
maxLength: 63
|
|
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
|
type: string
|
|
path:
|
|
description: The path in the component container
|
|
where the volume should be mounted. If not path
|
|
is mentioned, default path is the is `/<name>`.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
required:
|
|
- image
|
|
type: object
|
|
custom:
|
|
description: Custom component whose logic is implementation-dependant
|
|
and should be provided by the user possibly through some
|
|
dedicated controller
|
|
properties:
|
|
componentClass:
|
|
description: Class of component that the associated
|
|
implementation controller should use to process this
|
|
command with the appropriate logic
|
|
type: string
|
|
embeddedResource:
|
|
description: Additional free-form configuration for
|
|
this custom component that the implementation controller
|
|
will know how to use
|
|
type: object
|
|
x-kubernetes-embedded-resource: true
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
required:
|
|
- componentClass
|
|
- embeddedResource
|
|
type: object
|
|
image:
|
|
description: Allows specifying the definition of an image
|
|
for outer loop builds
|
|
properties:
|
|
autoBuild:
|
|
description: "Defines if the image should be built during
|
|
startup. \n Default value is `false`"
|
|
type: boolean
|
|
dockerfile:
|
|
description: Allows specifying dockerfile type build
|
|
properties:
|
|
args:
|
|
description: The arguments to supply to the dockerfile
|
|
build.
|
|
items:
|
|
type: string
|
|
type: array
|
|
buildContext:
|
|
description: Path of source directory to establish
|
|
build context. Defaults to ${PROJECT_SOURCE} in
|
|
the container
|
|
type: string
|
|
devfileRegistry:
|
|
description: Dockerfile's Devfile Registry source
|
|
properties:
|
|
id:
|
|
description: Id in a devfile registry that contains
|
|
a Dockerfile. The src in the OCI registry
|
|
required for the Dockerfile build will be
|
|
downloaded for building the image.
|
|
type: string
|
|
registryUrl:
|
|
description: Devfile Registry URL to pull the
|
|
Dockerfile from when using the Devfile Registry
|
|
as Dockerfile src. To ensure the Dockerfile
|
|
gets resolved consistently in different environments,
|
|
it is recommended to always specify the `devfileRegistryUrl`
|
|
when `Id` is used.
|
|
type: string
|
|
required:
|
|
- id
|
|
type: object
|
|
git:
|
|
description: Dockerfile's Git source
|
|
properties:
|
|
checkoutFrom:
|
|
description: Defines from what the project should
|
|
be checked out. Required if there are more
|
|
than one remote configured
|
|
properties:
|
|
remote:
|
|
description: The remote name should be used
|
|
as init. Required if there are more than
|
|
one remote configured
|
|
type: string
|
|
revision:
|
|
description: The revision to checkout from.
|
|
Should be branch name, tag or commit id.
|
|
Default branch is used if missing or specified
|
|
revision is not found.
|
|
type: string
|
|
type: object
|
|
fileLocation:
|
|
description: Location of the Dockerfile in the
|
|
Git repository when using git as Dockerfile
|
|
src. Defaults to Dockerfile.
|
|
type: string
|
|
remotes:
|
|
additionalProperties:
|
|
type: string
|
|
description: The remotes map which should be
|
|
initialized in the git project. Projects must
|
|
have at least one remote configured while
|
|
StarterProjects & Image Component's Git source
|
|
can only have at most one remote configured.
|
|
type: object
|
|
required:
|
|
- remotes
|
|
type: object
|
|
rootRequired:
|
|
description: "Specify if a privileged builder pod
|
|
is required. \n Default value is `false`"
|
|
type: boolean
|
|
srcType:
|
|
description: Type of Dockerfile src
|
|
enum:
|
|
- Uri
|
|
- DevfileRegistry
|
|
- Git
|
|
type: string
|
|
uri:
|
|
description: URI Reference of a Dockerfile. It can
|
|
be a full URL or a relative URI from the current
|
|
devfile as the base URI.
|
|
type: string
|
|
type: object
|
|
imageName:
|
|
description: Name of the image for the resulting outerloop
|
|
build
|
|
type: string
|
|
imageType:
|
|
description: Type of image
|
|
enum:
|
|
- Dockerfile
|
|
type: string
|
|
required:
|
|
- imageName
|
|
type: object
|
|
kubernetes:
|
|
description: Allows importing into the devworkspace the
|
|
Kubernetes resources defined in a given manifest. For
|
|
example this allows reusing the Kubernetes definitions
|
|
used to deploy some runtime components in production.
|
|
properties:
|
|
deployByDefault:
|
|
description: "Defines if the component should be deployed
|
|
during startup. \n Default value is `false`"
|
|
type: boolean
|
|
endpoints:
|
|
items:
|
|
properties:
|
|
annotation:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to be added to Kubernetes
|
|
Ingress or Openshift Route
|
|
type: object
|
|
attributes:
|
|
description: "Map of implementation-dependant
|
|
string-based free-form attributes. \n Examples
|
|
of Che-specific attributes: \n - cookiesAuthEnabled:
|
|
\"true\" / \"false\", \n - type: \"terminal\"
|
|
/ \"ide\" / \"ide-dev\","
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
exposure:
|
|
default: public
|
|
description: "Describes how the endpoint should
|
|
be exposed on the network. \n - `public` means
|
|
that the endpoint will be exposed on the public
|
|
network, typically through a K8S ingress or
|
|
an OpenShift route. \n - `internal` means that
|
|
the endpoint will be exposed internally outside
|
|
of the main devworkspace POD, typically by K8S
|
|
services, to be consumed by other elements running
|
|
on the same cloud internal network. \n - `none`
|
|
means that the endpoint will not be exposed
|
|
and will only be accessible inside the main
|
|
devworkspace POD, on a local address. \n Default
|
|
value is `public`"
|
|
enum:
|
|
- public
|
|
- internal
|
|
- none
|
|
type: string
|
|
name:
|
|
maxLength: 63
|
|
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
|
type: string
|
|
path:
|
|
description: Path of the endpoint URL
|
|
type: string
|
|
protocol:
|
|
default: http
|
|
description: "Describes the application and transport
|
|
protocols of the traffic that will go through
|
|
this endpoint. \n - `http`: Endpoint will have
|
|
`http` traffic, typically on a TCP connection.
|
|
It will be automaticaly promoted to `https`
|
|
when the `secure` field is set to `true`. \n
|
|
- `https`: Endpoint will have `https` traffic,
|
|
typically on a TCP connection. \n - `ws`: Endpoint
|
|
will have `ws` traffic, typically on a TCP connection.
|
|
It will be automaticaly promoted to `wss` when
|
|
the `secure` field is set to `true`. \n - `wss`:
|
|
Endpoint will have `wss` traffic, typically
|
|
on a TCP connection. \n - `tcp`: Endpoint will
|
|
have traffic on a TCP connection, without specifying
|
|
an application protocol. \n - `udp`: Endpoint
|
|
will have traffic on an UDP connection, without
|
|
specifying an application protocol. \n Default
|
|
value is `http`"
|
|
enum:
|
|
- http
|
|
- https
|
|
- ws
|
|
- wss
|
|
- tcp
|
|
- udp
|
|
type: string
|
|
secure:
|
|
description: Describes whether the endpoint should
|
|
be secured and protected by some authentication
|
|
process. This requires a protocol of `https`
|
|
or `wss`.
|
|
type: boolean
|
|
targetPort:
|
|
description: Port number to be used within the
|
|
container component. The same port cannot be
|
|
used by two different container components.
|
|
type: integer
|
|
required:
|
|
- name
|
|
- targetPort
|
|
type: object
|
|
type: array
|
|
inlined:
|
|
description: Inlined manifest
|
|
type: string
|
|
locationType:
|
|
description: Type of Kubernetes-like location
|
|
enum:
|
|
- Uri
|
|
- Inlined
|
|
type: string
|
|
uri:
|
|
description: Location in a file fetched from a uri.
|
|
type: string
|
|
type: object
|
|
name:
|
|
description: Mandatory name that allows referencing the
|
|
component from other elements (such as commands) or from
|
|
an external devfile that may reference this component
|
|
through a parent or a plugin.
|
|
maxLength: 63
|
|
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
|
type: string
|
|
openshift:
|
|
description: Allows importing into the devworkspace the
|
|
OpenShift resources defined in a given manifest. For example
|
|
this allows reusing the OpenShift definitions used to
|
|
deploy some runtime components in production.
|
|
properties:
|
|
deployByDefault:
|
|
description: "Defines if the component should be deployed
|
|
during startup. \n Default value is `false`"
|
|
type: boolean
|
|
endpoints:
|
|
items:
|
|
properties:
|
|
annotation:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to be added to Kubernetes
|
|
Ingress or Openshift Route
|
|
type: object
|
|
attributes:
|
|
description: "Map of implementation-dependant
|
|
string-based free-form attributes. \n Examples
|
|
of Che-specific attributes: \n - cookiesAuthEnabled:
|
|
\"true\" / \"false\", \n - type: \"terminal\"
|
|
/ \"ide\" / \"ide-dev\","
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
exposure:
|
|
default: public
|
|
description: "Describes how the endpoint should
|
|
be exposed on the network. \n - `public` means
|
|
that the endpoint will be exposed on the public
|
|
network, typically through a K8S ingress or
|
|
an OpenShift route. \n - `internal` means that
|
|
the endpoint will be exposed internally outside
|
|
of the main devworkspace POD, typically by K8S
|
|
services, to be consumed by other elements running
|
|
on the same cloud internal network. \n - `none`
|
|
means that the endpoint will not be exposed
|
|
and will only be accessible inside the main
|
|
devworkspace POD, on a local address. \n Default
|
|
value is `public`"
|
|
enum:
|
|
- public
|
|
- internal
|
|
- none
|
|
type: string
|
|
name:
|
|
maxLength: 63
|
|
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
|
type: string
|
|
path:
|
|
description: Path of the endpoint URL
|
|
type: string
|
|
protocol:
|
|
default: http
|
|
description: "Describes the application and transport
|
|
protocols of the traffic that will go through
|
|
this endpoint. \n - `http`: Endpoint will have
|
|
`http` traffic, typically on a TCP connection.
|
|
It will be automaticaly promoted to `https`
|
|
when the `secure` field is set to `true`. \n
|
|
- `https`: Endpoint will have `https` traffic,
|
|
typically on a TCP connection. \n - `ws`: Endpoint
|
|
will have `ws` traffic, typically on a TCP connection.
|
|
It will be automaticaly promoted to `wss` when
|
|
the `secure` field is set to `true`. \n - `wss`:
|
|
Endpoint will have `wss` traffic, typically
|
|
on a TCP connection. \n - `tcp`: Endpoint will
|
|
have traffic on a TCP connection, without specifying
|
|
an application protocol. \n - `udp`: Endpoint
|
|
will have traffic on an UDP connection, without
|
|
specifying an application protocol. \n Default
|
|
value is `http`"
|
|
enum:
|
|
- http
|
|
- https
|
|
- ws
|
|
- wss
|
|
- tcp
|
|
- udp
|
|
type: string
|
|
secure:
|
|
description: Describes whether the endpoint should
|
|
be secured and protected by some authentication
|
|
process. This requires a protocol of `https`
|
|
or `wss`.
|
|
type: boolean
|
|
targetPort:
|
|
description: Port number to be used within the
|
|
container component. The same port cannot be
|
|
used by two different container components.
|
|
type: integer
|
|
required:
|
|
- name
|
|
- targetPort
|
|
type: object
|
|
type: array
|
|
inlined:
|
|
description: Inlined manifest
|
|
type: string
|
|
locationType:
|
|
description: Type of Kubernetes-like location
|
|
enum:
|
|
- Uri
|
|
- Inlined
|
|
type: string
|
|
uri:
|
|
description: Location in a file fetched from a uri.
|
|
type: string
|
|
type: object
|
|
plugin:
|
|
description: "Allows importing a plugin. \n Plugins are
|
|
mainly imported devfiles that contribute components, commands
|
|
and events as a consistent single unit. They are defined
|
|
in either YAML files following the devfile syntax, or
|
|
as `DevWorkspaceTemplate` Kubernetes Custom Resources"
|
|
properties:
|
|
commands:
|
|
description: Overrides of commands encapsulated in a
|
|
parent devfile or a plugin. Overriding is done according
|
|
to K8S strategic merge patch standard rules.
|
|
items:
|
|
properties:
|
|
apply:
|
|
description: "Command that consists in applying
|
|
a given component definition, typically bound
|
|
to a devworkspace event. \n For example, when
|
|
an `apply` command is bound to a `preStart`
|
|
event, and references a `container` component,
|
|
it will start the container as a K8S initContainer
|
|
in the devworkspace POD, unless the component
|
|
has its `dedicatedPod` field set to `true`.
|
|
\n When no `apply` command exist for a given
|
|
component, it is assumed the component will
|
|
be applied at devworkspace start by default,
|
|
unless `deployByDefault` for that component
|
|
is set to false."
|
|
properties:
|
|
component:
|
|
description: Describes component that will
|
|
be applied
|
|
type: string
|
|
group:
|
|
description: Defines the group this command
|
|
is part of
|
|
properties:
|
|
isDefault:
|
|
description: Identifies the default command
|
|
for a given group kind
|
|
type: boolean
|
|
kind:
|
|
description: Kind of group the command
|
|
is part of
|
|
enum:
|
|
- build
|
|
- run
|
|
- test
|
|
- debug
|
|
- deploy
|
|
type: string
|
|
type: object
|
|
label:
|
|
description: Optional label that provides
|
|
a label for this command to be used in Editor
|
|
UI menus for example
|
|
type: string
|
|
type: object
|
|
attributes:
|
|
description: Map of implementation-dependant free-form
|
|
YAML attributes.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
commandType:
|
|
description: Type of devworkspace command
|
|
enum:
|
|
- Exec
|
|
- Apply
|
|
- Composite
|
|
type: string
|
|
composite:
|
|
description: Composite command that allows executing
|
|
several sub-commands either sequentially or
|
|
concurrently
|
|
properties:
|
|
commands:
|
|
description: The commands that comprise this
|
|
composite command
|
|
items:
|
|
type: string
|
|
type: array
|
|
group:
|
|
description: Defines the group this command
|
|
is part of
|
|
properties:
|
|
isDefault:
|
|
description: Identifies the default command
|
|
for a given group kind
|
|
type: boolean
|
|
kind:
|
|
description: Kind of group the command
|
|
is part of
|
|
enum:
|
|
- build
|
|
- run
|
|
- test
|
|
- debug
|
|
- deploy
|
|
type: string
|
|
type: object
|
|
label:
|
|
description: Optional label that provides
|
|
a label for this command to be used in Editor
|
|
UI menus for example
|
|
type: string
|
|
parallel:
|
|
description: Indicates if the sub-commands
|
|
should be executed concurrently
|
|
type: boolean
|
|
type: object
|
|
exec:
|
|
description: CLI Command executed in an existing
|
|
component container
|
|
properties:
|
|
commandLine:
|
|
description: "The actual command-line string
|
|
\n Special variables that can be used: \n
|
|
\ - `$PROJECTS_ROOT`: A path where projects
|
|
sources are mounted as defined by container
|
|
component's sourceMapping. \n - `$PROJECT_SOURCE`:
|
|
A path to a project source ($PROJECTS_ROOT/<project-name>).
|
|
If there are multiple projects, this will
|
|
point to the directory of the first one."
|
|
type: string
|
|
component:
|
|
description: Describes component to which
|
|
given action relates
|
|
type: string
|
|
env:
|
|
description: Optional list of environment
|
|
variables that have to be set before running
|
|
the command
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
group:
|
|
description: Defines the group this command
|
|
is part of
|
|
properties:
|
|
isDefault:
|
|
description: Identifies the default command
|
|
for a given group kind
|
|
type: boolean
|
|
kind:
|
|
description: Kind of group the command
|
|
is part of
|
|
enum:
|
|
- build
|
|
- run
|
|
- test
|
|
- debug
|
|
- deploy
|
|
type: string
|
|
type: object
|
|
hotReloadCapable:
|
|
description: "Specify whether the command
|
|
is restarted or not when the source code
|
|
changes. If set to `true` the command won't
|
|
be restarted. A *hotReloadCapable* `run`
|
|
or `debug` command is expected to handle
|
|
file changes on its own and won't be restarted.
|
|
A *hotReloadCapable* `build` command is
|
|
expected to be executed only once and won't
|
|
be executed again. This field is taken into
|
|
account only for commands `build`, `run`
|
|
and `debug` with `isDefault` set to `true`.
|
|
\n Default value is `false`"
|
|
type: boolean
|
|
label:
|
|
description: Optional label that provides
|
|
a label for this command to be used in Editor
|
|
UI menus for example
|
|
type: string
|
|
workingDir:
|
|
description: "Working directory where the
|
|
command should be executed \n Special variables
|
|
that can be used: \n - `$PROJECTS_ROOT`:
|
|
A path where projects sources are mounted
|
|
as defined by container component's sourceMapping.
|
|
\n - `$PROJECT_SOURCE`: A path to a project
|
|
source ($PROJECTS_ROOT/<project-name>).
|
|
If there are multiple projects, this will
|
|
point to the directory of the first one."
|
|
type: string
|
|
type: object
|
|
id:
|
|
description: Mandatory identifier that allows
|
|
referencing this command in composite commands,
|
|
from a parent, or in events.
|
|
maxLength: 63
|
|
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
|
type: string
|
|
required:
|
|
- id
|
|
type: object
|
|
type: array
|
|
components:
|
|
description: Overrides of components encapsulated in
|
|
a parent devfile or a plugin. Overriding is done according
|
|
to K8S strategic merge patch standard rules.
|
|
items:
|
|
properties:
|
|
attributes:
|
|
description: Map of implementation-dependant free-form
|
|
YAML attributes.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
componentType:
|
|
description: Type of component
|
|
enum:
|
|
- Container
|
|
- Kubernetes
|
|
- Openshift
|
|
- Volume
|
|
- Image
|
|
type: string
|
|
container:
|
|
description: Allows adding and configuring devworkspace-related
|
|
containers
|
|
properties:
|
|
annotation:
|
|
description: Annotations that should be added
|
|
to specific resources for this container
|
|
properties:
|
|
deployment:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to be added to
|
|
deployment
|
|
type: object
|
|
service:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to be added to
|
|
service
|
|
type: object
|
|
type: object
|
|
args:
|
|
description: "The arguments to supply to the
|
|
command running the dockerimage component.
|
|
The arguments are supplied either to the
|
|
default command provided in the image or
|
|
to the overridden command. \n Defaults to
|
|
an empty array, meaning use whatever is
|
|
defined in the image."
|
|
items:
|
|
type: string
|
|
type: array
|
|
command:
|
|
description: "The command to run in the dockerimage
|
|
component instead of the default one provided
|
|
in the image. \n Defaults to an empty array,
|
|
meaning use whatever is defined in the image."
|
|
items:
|
|
type: string
|
|
type: array
|
|
cpuLimit:
|
|
type: string
|
|
cpuRequest:
|
|
type: string
|
|
dedicatedPod:
|
|
description: "Specify if a container should
|
|
run in its own separated pod, instead of
|
|
running as part of the main development
|
|
environment pod. \n Default value is `false`"
|
|
type: boolean
|
|
endpoints:
|
|
items:
|
|
properties:
|
|
annotation:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to be added
|
|
to Kubernetes Ingress or Openshift
|
|
Route
|
|
type: object
|
|
attributes:
|
|
description: "Map of implementation-dependant
|
|
string-based free-form attributes.
|
|
\n Examples of Che-specific attributes:
|
|
\n - cookiesAuthEnabled: \"true\"
|
|
/ \"false\", \n - type: \"terminal\"
|
|
/ \"ide\" / \"ide-dev\","
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
exposure:
|
|
description: "Describes how the endpoint
|
|
should be exposed on the network.
|
|
\n - `public` means that the endpoint
|
|
will be exposed on the public network,
|
|
typically through a K8S ingress or
|
|
an OpenShift route. \n - `internal`
|
|
means that the endpoint will be exposed
|
|
internally outside of the main devworkspace
|
|
POD, typically by K8S services, to
|
|
be consumed by other elements running
|
|
on the same cloud internal network.
|
|
\n - `none` means that the endpoint
|
|
will not be exposed and will only
|
|
be accessible inside the main devworkspace
|
|
POD, on a local address. \n Default
|
|
value is `public`"
|
|
enum:
|
|
- public
|
|
- internal
|
|
- none
|
|
type: string
|
|
name:
|
|
maxLength: 63
|
|
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
|
type: string
|
|
path:
|
|
description: Path of the endpoint URL
|
|
type: string
|
|
protocol:
|
|
description: "Describes the application
|
|
and transport protocols of the traffic
|
|
that will go through this endpoint.
|
|
\n - `http`: Endpoint will have `http`
|
|
traffic, typically on a TCP connection.
|
|
It will be automaticaly promoted to
|
|
`https` when the `secure` field is
|
|
set to `true`. \n - `https`: Endpoint
|
|
will have `https` traffic, typically
|
|
on a TCP connection. \n - `ws`: Endpoint
|
|
will have `ws` traffic, typically
|
|
on a TCP connection. It will be automaticaly
|
|
promoted to `wss` when the `secure`
|
|
field is set to `true`. \n - `wss`:
|
|
Endpoint will have `wss` traffic,
|
|
typically on a TCP connection. \n
|
|
- `tcp`: Endpoint will have traffic
|
|
on a TCP connection, without specifying
|
|
an application protocol. \n - `udp`:
|
|
Endpoint will have traffic on an UDP
|
|
connection, without specifying an
|
|
application protocol. \n Default value
|
|
is `http`"
|
|
enum:
|
|
- http
|
|
- https
|
|
- ws
|
|
- wss
|
|
- tcp
|
|
- udp
|
|
type: string
|
|
secure:
|
|
description: Describes whether the endpoint
|
|
should be secured and protected by
|
|
some authentication process. This
|
|
requires a protocol of `https` or
|
|
`wss`.
|
|
type: boolean
|
|
targetPort:
|
|
description: Port number to be used
|
|
within the container component. The
|
|
same port cannot be used by two different
|
|
container components.
|
|
type: integer
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
env:
|
|
description: "Environment variables used in
|
|
this container. \n The following variables
|
|
are reserved and cannot be overridden via
|
|
env: \n - `$PROJECTS_ROOT` \n - `$PROJECT_SOURCE`"
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
image:
|
|
type: string
|
|
memoryLimit:
|
|
type: string
|
|
memoryRequest:
|
|
type: string
|
|
mountSources:
|
|
description: "Toggles whether or not the project
|
|
source code should be mounted in the component.
|
|
\n Defaults to true for all component types
|
|
except plugins and components that set `dedicatedPod`
|
|
to true."
|
|
type: boolean
|
|
sourceMapping:
|
|
description: Optional specification of the
|
|
path in the container where project sources
|
|
should be transferred/mounted when `mountSources`
|
|
is `true`. When omitted, the default value
|
|
of /projects is used.
|
|
type: string
|
|
volumeMounts:
|
|
description: List of volumes mounts that should
|
|
be mounted is this container.
|
|
items:
|
|
description: Volume that should be mounted
|
|
to a component container
|
|
properties:
|
|
name:
|
|
description: The volume mount name is
|
|
the name of an existing `Volume` component.
|
|
If several containers mount the same
|
|
volume name then they will reuse the
|
|
same volume and will be able to access
|
|
to the same files.
|
|
maxLength: 63
|
|
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
|
type: string
|
|
path:
|
|
description: The path in the component
|
|
container where the volume should
|
|
be mounted. If not path is mentioned,
|
|
default path is the is `/<name>`.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
type: object
|
|
image:
|
|
description: Allows specifying the definition
|
|
of an image for outer loop builds
|
|
properties:
|
|
autoBuild:
|
|
description: "Defines if the image should
|
|
be built during startup. \n Default value
|
|
is `false`"
|
|
type: boolean
|
|
dockerfile:
|
|
description: Allows specifying dockerfile
|
|
type build
|
|
properties:
|
|
args:
|
|
description: The arguments to supply to
|
|
the dockerfile build.
|
|
items:
|
|
type: string
|
|
type: array
|
|
buildContext:
|
|
description: Path of source directory
|
|
to establish build context. Defaults
|
|
to ${PROJECT_SOURCE} in the container
|
|
type: string
|
|
devfileRegistry:
|
|
description: Dockerfile's Devfile Registry
|
|
source
|
|
properties:
|
|
id:
|
|
description: Id in a devfile registry
|
|
that contains a Dockerfile. The
|
|
src in the OCI registry required
|
|
for the Dockerfile build will be
|
|
downloaded for building the image.
|
|
type: string
|
|
registryUrl:
|
|
description: Devfile Registry URL
|
|
to pull the Dockerfile from when
|
|
using the Devfile Registry as Dockerfile
|
|
src. To ensure the Dockerfile gets
|
|
resolved consistently in different
|
|
environments, it is recommended
|
|
to always specify the `devfileRegistryUrl`
|
|
when `Id` is used.
|
|
type: string
|
|
type: object
|
|
git:
|
|
description: Dockerfile's Git source
|
|
properties:
|
|
checkoutFrom:
|
|
description: Defines from what the
|
|
project should be checked out. Required
|
|
if there are more than one remote
|
|
configured
|
|
properties:
|
|
remote:
|
|
description: The remote name should
|
|
be used as init. Required if
|
|
there are more than one remote
|
|
configured
|
|
type: string
|
|
revision:
|
|
description: The revision to checkout
|
|
from. Should be branch name,
|
|
tag or commit id. Default branch
|
|
is used if missing or specified
|
|
revision is not found.
|
|
type: string
|
|
type: object
|
|
fileLocation:
|
|
description: Location of the Dockerfile
|
|
in the Git repository when using
|
|
git as Dockerfile src. Defaults
|
|
to Dockerfile.
|
|
type: string
|
|
remotes:
|
|
additionalProperties:
|
|
type: string
|
|
description: The remotes map which
|
|
should be initialized in the git
|
|
project. Projects must have at least
|
|
one remote configured while StarterProjects
|
|
& Image Component's Git source can
|
|
only have at most one remote configured.
|
|
type: object
|
|
type: object
|
|
rootRequired:
|
|
description: "Specify if a privileged
|
|
builder pod is required. \n Default
|
|
value is `false`"
|
|
type: boolean
|
|
srcType:
|
|
description: Type of Dockerfile src
|
|
enum:
|
|
- Uri
|
|
- DevfileRegistry
|
|
- Git
|
|
type: string
|
|
uri:
|
|
description: URI Reference of a Dockerfile.
|
|
It can be a full URL or a relative URI
|
|
from the current devfile as the base
|
|
URI.
|
|
type: string
|
|
type: object
|
|
imageName:
|
|
description: Name of the image for the resulting
|
|
outerloop build
|
|
type: string
|
|
imageType:
|
|
description: Type of image
|
|
enum:
|
|
- Dockerfile
|
|
- AutoBuild
|
|
type: string
|
|
type: object
|
|
kubernetes:
|
|
description: Allows importing into the devworkspace
|
|
the Kubernetes resources defined in a given
|
|
manifest. For example this allows reusing the
|
|
Kubernetes definitions used to deploy some runtime
|
|
components in production.
|
|
properties:
|
|
deployByDefault:
|
|
description: "Defines if the component should
|
|
be deployed during startup. \n Default value
|
|
is `false`"
|
|
type: boolean
|
|
endpoints:
|
|
items:
|
|
properties:
|
|
annotation:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to be added
|
|
to Kubernetes Ingress or Openshift
|
|
Route
|
|
type: object
|
|
attributes:
|
|
description: "Map of implementation-dependant
|
|
string-based free-form attributes.
|
|
\n Examples of Che-specific attributes:
|
|
\n - cookiesAuthEnabled: \"true\"
|
|
/ \"false\", \n - type: \"terminal\"
|
|
/ \"ide\" / \"ide-dev\","
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
exposure:
|
|
description: "Describes how the endpoint
|
|
should be exposed on the network.
|
|
\n - `public` means that the endpoint
|
|
will be exposed on the public network,
|
|
typically through a K8S ingress or
|
|
an OpenShift route. \n - `internal`
|
|
means that the endpoint will be exposed
|
|
internally outside of the main devworkspace
|
|
POD, typically by K8S services, to
|
|
be consumed by other elements running
|
|
on the same cloud internal network.
|
|
\n - `none` means that the endpoint
|
|
will not be exposed and will only
|
|
be accessible inside the main devworkspace
|
|
POD, on a local address. \n Default
|
|
value is `public`"
|
|
enum:
|
|
- public
|
|
- internal
|
|
- none
|
|
type: string
|
|
name:
|
|
maxLength: 63
|
|
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
|
type: string
|
|
path:
|
|
description: Path of the endpoint URL
|
|
type: string
|
|
protocol:
|
|
description: "Describes the application
|
|
and transport protocols of the traffic
|
|
that will go through this endpoint.
|
|
\n - `http`: Endpoint will have `http`
|
|
traffic, typically on a TCP connection.
|
|
It will be automaticaly promoted to
|
|
`https` when the `secure` field is
|
|
set to `true`. \n - `https`: Endpoint
|
|
will have `https` traffic, typically
|
|
on a TCP connection. \n - `ws`: Endpoint
|
|
will have `ws` traffic, typically
|
|
on a TCP connection. It will be automaticaly
|
|
promoted to `wss` when the `secure`
|
|
field is set to `true`. \n - `wss`:
|
|
Endpoint will have `wss` traffic,
|
|
typically on a TCP connection. \n
|
|
- `tcp`: Endpoint will have traffic
|
|
on a TCP connection, without specifying
|
|
an application protocol. \n - `udp`:
|
|
Endpoint will have traffic on an UDP
|
|
connection, without specifying an
|
|
application protocol. \n Default value
|
|
is `http`"
|
|
enum:
|
|
- http
|
|
- https
|
|
- ws
|
|
- wss
|
|
- tcp
|
|
- udp
|
|
type: string
|
|
secure:
|
|
description: Describes whether the endpoint
|
|
should be secured and protected by
|
|
some authentication process. This
|
|
requires a protocol of `https` or
|
|
`wss`.
|
|
type: boolean
|
|
targetPort:
|
|
description: Port number to be used
|
|
within the container component. The
|
|
same port cannot be used by two different
|
|
container components.
|
|
type: integer
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
inlined:
|
|
description: Inlined manifest
|
|
type: string
|
|
locationType:
|
|
description: Type of Kubernetes-like location
|
|
enum:
|
|
- Uri
|
|
- Inlined
|
|
type: string
|
|
uri:
|
|
description: Location in a file fetched from
|
|
a uri.
|
|
type: string
|
|
type: object
|
|
name:
|
|
description: Mandatory name that allows referencing
|
|
the component from other elements (such as commands)
|
|
or from an external devfile that may reference
|
|
this component through a parent or a plugin.
|
|
maxLength: 63
|
|
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
|
type: string
|
|
openshift:
|
|
description: Allows importing into the devworkspace
|
|
the OpenShift resources defined in a given manifest.
|
|
For example this allows reusing the OpenShift
|
|
definitions used to deploy some runtime components
|
|
in production.
|
|
properties:
|
|
deployByDefault:
|
|
description: "Defines if the component should
|
|
be deployed during startup. \n Default value
|
|
is `false`"
|
|
type: boolean
|
|
endpoints:
|
|
items:
|
|
properties:
|
|
annotation:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to be added
|
|
to Kubernetes Ingress or Openshift
|
|
Route
|
|
type: object
|
|
attributes:
|
|
description: "Map of implementation-dependant
|
|
string-based free-form attributes.
|
|
\n Examples of Che-specific attributes:
|
|
\n - cookiesAuthEnabled: \"true\"
|
|
/ \"false\", \n - type: \"terminal\"
|
|
/ \"ide\" / \"ide-dev\","
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
exposure:
|
|
description: "Describes how the endpoint
|
|
should be exposed on the network.
|
|
\n - `public` means that the endpoint
|
|
will be exposed on the public network,
|
|
typically through a K8S ingress or
|
|
an OpenShift route. \n - `internal`
|
|
means that the endpoint will be exposed
|
|
internally outside of the main devworkspace
|
|
POD, typically by K8S services, to
|
|
be consumed by other elements running
|
|
on the same cloud internal network.
|
|
\n - `none` means that the endpoint
|
|
will not be exposed and will only
|
|
be accessible inside the main devworkspace
|
|
POD, on a local address. \n Default
|
|
value is `public`"
|
|
enum:
|
|
- public
|
|
- internal
|
|
- none
|
|
type: string
|
|
name:
|
|
maxLength: 63
|
|
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
|
type: string
|
|
path:
|
|
description: Path of the endpoint URL
|
|
type: string
|
|
protocol:
|
|
description: "Describes the application
|
|
and transport protocols of the traffic
|
|
that will go through this endpoint.
|
|
\n - `http`: Endpoint will have `http`
|
|
traffic, typically on a TCP connection.
|
|
It will be automaticaly promoted to
|
|
`https` when the `secure` field is
|
|
set to `true`. \n - `https`: Endpoint
|
|
will have `https` traffic, typically
|
|
on a TCP connection. \n - `ws`: Endpoint
|
|
will have `ws` traffic, typically
|
|
on a TCP connection. It will be automaticaly
|
|
promoted to `wss` when the `secure`
|
|
field is set to `true`. \n - `wss`:
|
|
Endpoint will have `wss` traffic,
|
|
typically on a TCP connection. \n
|
|
- `tcp`: Endpoint will have traffic
|
|
on a TCP connection, without specifying
|
|
an application protocol. \n - `udp`:
|
|
Endpoint will have traffic on an UDP
|
|
connection, without specifying an
|
|
application protocol. \n Default value
|
|
is `http`"
|
|
enum:
|
|
- http
|
|
- https
|
|
- ws
|
|
- wss
|
|
- tcp
|
|
- udp
|
|
type: string
|
|
secure:
|
|
description: Describes whether the endpoint
|
|
should be secured and protected by
|
|
some authentication process. This
|
|
requires a protocol of `https` or
|
|
`wss`.
|
|
type: boolean
|
|
targetPort:
|
|
description: Port number to be used
|
|
within the container component. The
|
|
same port cannot be used by two different
|
|
container components.
|
|
type: integer
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
inlined:
|
|
description: Inlined manifest
|
|
type: string
|
|
locationType:
|
|
description: Type of Kubernetes-like location
|
|
enum:
|
|
- Uri
|
|
- Inlined
|
|
type: string
|
|
uri:
|
|
description: Location in a file fetched from
|
|
a uri.
|
|
type: string
|
|
type: object
|
|
volume:
|
|
description: Allows specifying the definition
|
|
of a volume shared by several other components
|
|
properties:
|
|
ephemeral:
|
|
description: Ephemeral volumes are not stored
|
|
persistently across restarts. Defaults to
|
|
false
|
|
type: boolean
|
|
size:
|
|
description: Size of the volume
|
|
type: string
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
id:
|
|
description: Id in a registry that contains a Devfile
|
|
yaml file
|
|
type: string
|
|
importReferenceType:
|
|
description: type of location from where the referenced
|
|
template structure should be retrieved
|
|
enum:
|
|
- Uri
|
|
- Id
|
|
- Kubernetes
|
|
type: string
|
|
kubernetes:
|
|
description: Reference to a Kubernetes CRD of type DevWorkspaceTemplate
|
|
properties:
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
registryUrl:
|
|
description: Registry URL to pull the parent devfile
|
|
from when using id in the parent reference. To ensure
|
|
the parent devfile gets resolved consistently in different
|
|
environments, it is recommended to always specify
|
|
the `registryUrl` when `id` is used.
|
|
type: string
|
|
uri:
|
|
description: URI Reference of a parent devfile YAML
|
|
file. It can be a full URL or a relative URI with
|
|
the current devfile as the base URI.
|
|
type: string
|
|
version:
|
|
description: Specific stack/sample version to pull the
|
|
parent devfile from, when using id in the parent reference.
|
|
To specify `version`, `id` must be defined and used
|
|
as the import reference source. `version` can be either
|
|
a specific stack version, or `latest`. If no `version`
|
|
specified, default version will be used.
|
|
pattern: ^(latest)|(([1-9])\.([0-9]+)\.([0-9]+)(\-[0-9a-z-]+(\.[0-9a-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?)$
|
|
type: string
|
|
type: object
|
|
volume:
|
|
description: Allows specifying the definition of a volume
|
|
shared by several other components
|
|
properties:
|
|
ephemeral:
|
|
description: Ephemeral volumes are not stored persistently
|
|
across restarts. Defaults to false
|
|
type: boolean
|
|
size:
|
|
description: Size of the volume
|
|
type: string
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
defaultEditor:
|
|
description: 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://`.
|
|
type: string
|
|
defaultNamespace:
|
|
default:
|
|
autoProvision: true
|
|
template: <username>-che
|
|
description: User's default namespace.
|
|
properties:
|
|
autoProvision:
|
|
default: true
|
|
description: Indicates if is allowed to automatically create
|
|
a user namespace. If it set to false, then user namespace
|
|
must be pre-created by a cluster administrator.
|
|
type: boolean
|
|
template:
|
|
default: <username>-che
|
|
description: If you don't create the user namespaces in advance,
|
|
this field defines the Kubernetes namespace created when
|
|
you start your first workspace. You can use `<username>`
|
|
and `<userid>` placeholders, such as che-workspace-<username>.
|
|
pattern: <username>|<userid>
|
|
type: string
|
|
type: object
|
|
defaultPlugins:
|
|
description: Default plug-ins applied to DevWorkspaces.
|
|
items:
|
|
properties:
|
|
editor:
|
|
description: The editor ID to specify default plug-ins for.
|
|
type: string
|
|
plugins:
|
|
description: Default plug-in URIs for the specified editor.
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
type: array
|
|
deploymentStrategy:
|
|
description: DeploymentStrategy defines the deployment strategy
|
|
to use to replace existing workspace pods with new ones. The
|
|
available deployment stragies are `Recreate` and `RollingUpdate`.
|
|
With the `Recreate` deployment strategy, the existing workspace
|
|
pod is killed before the new one is created. With the `RollingUpdate`
|
|
deployment strategy, a new workspace pod is created and the
|
|
existing workspace pod is deleted only when the new workspace
|
|
pod is in a ready state. If not specified, the default `Recreate`
|
|
deployment strategy is used.
|
|
enum:
|
|
- Recreate
|
|
- RollingUpdate
|
|
type: string
|
|
disableContainerBuildCapabilities:
|
|
description: Disables the container build capabilities.
|
|
type: boolean
|
|
gatewayContainer:
|
|
description: GatewayContainer configuration.
|
|
properties:
|
|
env:
|
|
description: List of environment variables to set in the container.
|
|
items:
|
|
description: EnvVar represents an environment variable present
|
|
in a Container.
|
|
properties:
|
|
name:
|
|
description: Name of the environment variable. Must
|
|
be a C_IDENTIFIER.
|
|
type: string
|
|
value:
|
|
description: 'Variable references $(VAR_NAME) are expanded
|
|
using the previously defined environment variables
|
|
in the container and any service environment variables.
|
|
If a variable cannot be resolved, the reference in
|
|
the input string will be unchanged. Double $$ are
|
|
reduced to a single $, which allows for escaping the
|
|
$(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce
|
|
the string literal "$(VAR_NAME)". Escaped references
|
|
will never be expanded, regardless of whether the
|
|
variable exists or not. Defaults to "".'
|
|
type: string
|
|
valueFrom:
|
|
description: Source for the environment variable's value.
|
|
Cannot be used if value is not empty.
|
|
properties:
|
|
configMapKeyRef:
|
|
description: Selects a key of a ConfigMap.
|
|
properties:
|
|
key:
|
|
description: The key to select.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info:
|
|
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion,
|
|
kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap or
|
|
its key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
fieldRef:
|
|
description: 'Selects a field of the pod: supports
|
|
metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`,
|
|
`metadata.annotations[''<KEY>'']`, spec.nodeName,
|
|
spec.serviceAccountName, status.hostIP, status.podIP,
|
|
status.podIPs.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema the FieldPath
|
|
is written in terms of, defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to select in
|
|
the specified API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
resourceFieldRef:
|
|
description: 'Selects a resource of the container:
|
|
only resources limits and requests (limits.cpu,
|
|
limits.memory, limits.ephemeral-storage, requests.cpu,
|
|
requests.memory and requests.ephemeral-storage)
|
|
are currently supported.'
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required for volumes,
|
|
optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output format of
|
|
the exposed resources, defaults to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
secretKeyRef:
|
|
description: Selects a key of a secret in the pod's
|
|
namespace
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select
|
|
from. Must be a valid secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info:
|
|
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion,
|
|
kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its
|
|
key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
image:
|
|
description: Container image. Omit it or leave it empty to
|
|
use the default container image provided by the Operator.
|
|
type: string
|
|
imagePullPolicy:
|
|
description: Image pull policy. Default value is `Always`
|
|
for `nightly`, `next` or `latest` images, and `IfNotPresent`
|
|
in other cases.
|
|
enum:
|
|
- Always
|
|
- IfNotPresent
|
|
- Never
|
|
type: string
|
|
name:
|
|
description: Container name.
|
|
type: string
|
|
resources:
|
|
description: Compute resources required by this container.
|
|
properties:
|
|
limits:
|
|
description: Describes the maximum amount of compute resources
|
|
allowed.
|
|
properties:
|
|
cpu:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: CPU, in cores. (500m = .5 cores) If the
|
|
value is not specified, then the default value is
|
|
set depending on the component. If value is `0`,
|
|
then no value is set for the component.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
memory:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Memory, in bytes. (500Gi = 500GiB = 500
|
|
* 1024 * 1024 * 1024) If the value is not specified,
|
|
then the default value is set depending on the component.
|
|
If value is `0`, then no value is set for the component.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
request:
|
|
description: Describes the minimum amount of compute resources
|
|
required.
|
|
properties:
|
|
cpu:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: CPU, in cores. (500m = .5 cores) If the
|
|
value is not specified, then the default value is
|
|
set depending on the component. If value is `0`,
|
|
then no value is set for the component.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
memory:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Memory, in bytes. (500Gi = 500GiB = 500
|
|
* 1024 * 1024 * 1024) If the value is not specified,
|
|
then the default value is set depending on the component.
|
|
If value is `0`, then no value is set for the component.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
type: object
|
|
maxNumberOfRunningWorkspacesPerUser:
|
|
description: The maximum number of running workspaces per user.
|
|
The value, -1, allows users to run an unlimited number of workspaces.
|
|
format: int64
|
|
minimum: -1
|
|
type: integer
|
|
maxNumberOfWorkspacesPerUser:
|
|
default: -1
|
|
description: Total number of workspaces, both stopped and running,
|
|
that a user can keep. The value, -1, allows users to keep an
|
|
unlimited number of workspaces.
|
|
format: int64
|
|
minimum: -1
|
|
type: integer
|
|
nodeSelector:
|
|
additionalProperties:
|
|
type: string
|
|
description: The node selector limits the nodes that can run the
|
|
workspace pods.
|
|
type: object
|
|
persistUserHome:
|
|
description: PersistUserHome defines configuration options for
|
|
persisting the user home directory in workspaces.
|
|
properties:
|
|
enabled:
|
|
description: Determines whether the user home directory in
|
|
workspaces should persist between workspace shutdown and
|
|
startup. Must be used with the 'per-user' or 'per-workspace'
|
|
PVC strategy in order to take effect. Disabled by default.
|
|
type: boolean
|
|
type: object
|
|
podSchedulerName:
|
|
description: Pod scheduler for the workspace pods. If not specified,
|
|
the pod scheduler is set to the default scheduler on the cluster.
|
|
type: string
|
|
projectCloneContainer:
|
|
description: Project clone container configuration.
|
|
properties:
|
|
env:
|
|
description: List of environment variables to set in the container.
|
|
items:
|
|
description: EnvVar represents an environment variable present
|
|
in a Container.
|
|
properties:
|
|
name:
|
|
description: Name of the environment variable. Must
|
|
be a C_IDENTIFIER.
|
|
type: string
|
|
value:
|
|
description: 'Variable references $(VAR_NAME) are expanded
|
|
using the previously defined environment variables
|
|
in the container and any service environment variables.
|
|
If a variable cannot be resolved, the reference in
|
|
the input string will be unchanged. Double $$ are
|
|
reduced to a single $, which allows for escaping the
|
|
$(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce
|
|
the string literal "$(VAR_NAME)". Escaped references
|
|
will never be expanded, regardless of whether the
|
|
variable exists or not. Defaults to "".'
|
|
type: string
|
|
valueFrom:
|
|
description: Source for the environment variable's value.
|
|
Cannot be used if value is not empty.
|
|
properties:
|
|
configMapKeyRef:
|
|
description: Selects a key of a ConfigMap.
|
|
properties:
|
|
key:
|
|
description: The key to select.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info:
|
|
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion,
|
|
kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap or
|
|
its key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
fieldRef:
|
|
description: 'Selects a field of the pod: supports
|
|
metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`,
|
|
`metadata.annotations[''<KEY>'']`, spec.nodeName,
|
|
spec.serviceAccountName, status.hostIP, status.podIP,
|
|
status.podIPs.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema the FieldPath
|
|
is written in terms of, defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to select in
|
|
the specified API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
resourceFieldRef:
|
|
description: 'Selects a resource of the container:
|
|
only resources limits and requests (limits.cpu,
|
|
limits.memory, limits.ephemeral-storage, requests.cpu,
|
|
requests.memory and requests.ephemeral-storage)
|
|
are currently supported.'
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required for volumes,
|
|
optional for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output format of
|
|
the exposed resources, defaults to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
secretKeyRef:
|
|
description: Selects a key of a secret in the pod's
|
|
namespace
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select
|
|
from. Must be a valid secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info:
|
|
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion,
|
|
kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its
|
|
key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
image:
|
|
description: Container image. Omit it or leave it empty to
|
|
use the default container image provided by the Operator.
|
|
type: string
|
|
imagePullPolicy:
|
|
description: Image pull policy. Default value is `Always`
|
|
for `nightly`, `next` or `latest` images, and `IfNotPresent`
|
|
in other cases.
|
|
enum:
|
|
- Always
|
|
- IfNotPresent
|
|
- Never
|
|
type: string
|
|
name:
|
|
description: Container name.
|
|
type: string
|
|
resources:
|
|
description: Compute resources required by this container.
|
|
properties:
|
|
limits:
|
|
description: Describes the maximum amount of compute resources
|
|
allowed.
|
|
properties:
|
|
cpu:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: CPU, in cores. (500m = .5 cores) If the
|
|
value is not specified, then the default value is
|
|
set depending on the component. If value is `0`,
|
|
then no value is set for the component.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
memory:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Memory, in bytes. (500Gi = 500GiB = 500
|
|
* 1024 * 1024 * 1024) If the value is not specified,
|
|
then the default value is set depending on the component.
|
|
If value is `0`, then no value is set for the component.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
request:
|
|
description: Describes the minimum amount of compute resources
|
|
required.
|
|
properties:
|
|
cpu:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: CPU, in cores. (500m = .5 cores) If the
|
|
value is not specified, then the default value is
|
|
set depending on the component. If value is `0`,
|
|
then no value is set for the component.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
memory:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Memory, in bytes. (500Gi = 500GiB = 500
|
|
* 1024 * 1024 * 1024) If the value is not specified,
|
|
then the default value is set depending on the component.
|
|
If value is `0`, then no value is set for the component.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
type: object
|
|
secondsOfInactivityBeforeIdling:
|
|
default: 1800
|
|
description: Idle timeout for workspaces in seconds. This timeout
|
|
is the duration after which a workspace will be idled if there
|
|
is no activity. To disable workspace idling due to inactivity,
|
|
set this value to -1.
|
|
format: int32
|
|
type: integer
|
|
secondsOfRunBeforeIdling:
|
|
default: -1
|
|
description: Run timeout for workspaces in seconds. This timeout
|
|
is the maximum duration a workspace runs. To disable workspace
|
|
run timeout, set this value to -1.
|
|
format: int32
|
|
type: integer
|
|
serviceAccount:
|
|
description: ServiceAccount to use by the DevWorkspace operator
|
|
when starting the workspaces.
|
|
maxLength: 63
|
|
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
|
|
type: string
|
|
serviceAccountTokens:
|
|
description: List of ServiceAccount tokens that will be mounted
|
|
into workspace pods as projected volumes.
|
|
items:
|
|
properties:
|
|
audience:
|
|
description: Audience is the intended audience of the token.
|
|
A recipient of a token must identify itself with an identifier
|
|
specified in the audience of the token, and otherwise
|
|
should reject the token. The audience defaults to the
|
|
identifier of the apiserver.
|
|
type: string
|
|
expirationSeconds:
|
|
default: 3600
|
|
description: ExpirationSeconds is the requested duration
|
|
of validity of the service account token. As the token
|
|
approaches expiration, the kubelet volume plugin will
|
|
proactively rotate the service account token. The kubelet
|
|
will start trying to rotate the token if the token is
|
|
older than 80 percent of its time to live or if the token
|
|
is older than 24 hours. Defaults to 1 hour and must be
|
|
at least 10 minutes.
|
|
format: int64
|
|
minimum: 600
|
|
type: integer
|
|
mountPath:
|
|
description: Path within the workspace container at which
|
|
the token should be mounted. Must not contain ':'.
|
|
type: string
|
|
name:
|
|
description: Identifiable name of the ServiceAccount token.
|
|
If multiple ServiceAccount tokens use the same mount path,
|
|
a generic name will be used for the projected volume instead.
|
|
type: string
|
|
path:
|
|
description: Path is the path relative to the mount point
|
|
of the file to project the token into.
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
- path
|
|
type: object
|
|
type: array
|
|
startTimeoutSeconds:
|
|
default: 300
|
|
description: StartTimeoutSeconds determines the maximum duration
|
|
(in seconds) that a workspace can take to start before it is
|
|
automatically failed. If not specified, the default value of
|
|
300 seconds (5 minutes) is used.
|
|
format: int32
|
|
minimum: 1
|
|
type: integer
|
|
storage:
|
|
default:
|
|
pvcStrategy: per-user
|
|
description: Workspaces persistent storage.
|
|
properties:
|
|
perUserStrategyPvcConfig:
|
|
description: PVC settings when using the `per-user` PVC strategy.
|
|
properties:
|
|
claimSize:
|
|
description: Persistent Volume Claim size. To update the
|
|
claim size, the storage class that provisions it must
|
|
support resizing.
|
|
type: string
|
|
storageClass:
|
|
description: Storage class for the Persistent Volume Claim.
|
|
When omitted or left blank, a default storage class
|
|
is used.
|
|
type: string
|
|
type: object
|
|
perWorkspaceStrategyPvcConfig:
|
|
description: PVC settings when using the `per-workspace` PVC
|
|
strategy.
|
|
properties:
|
|
claimSize:
|
|
description: Persistent Volume Claim size. To update the
|
|
claim size, the storage class that provisions it must
|
|
support resizing.
|
|
type: string
|
|
storageClass:
|
|
description: Storage class for the Persistent Volume Claim.
|
|
When omitted or left blank, a default storage class
|
|
is used.
|
|
type: string
|
|
type: object
|
|
pvcStrategy:
|
|
default: per-user
|
|
description: 'Persistent volume claim strategy for the Che
|
|
server. The supported strategies are: `per-user` (all workspaces
|
|
PVCs in one volume), `per-workspace` (each workspace is
|
|
given its own individual PVC) and `ephemeral` (non-persistent
|
|
storage where local changes will be lost when the workspace
|
|
is stopped.)'
|
|
enum:
|
|
- common
|
|
- per-user
|
|
- per-workspace
|
|
- ephemeral
|
|
type: string
|
|
type: object
|
|
tolerations:
|
|
description: The pod tolerations of the workspace pods limit where
|
|
the workspace pods can run.
|
|
items:
|
|
description: The pod this Toleration is attached to tolerates
|
|
any taint that matches the triple <key,value,effect> using
|
|
the matching operator <operator>.
|
|
properties:
|
|
effect:
|
|
description: Effect indicates the taint effect to match.
|
|
Empty means match all taint effects. When specified, allowed
|
|
values are NoSchedule, PreferNoSchedule and NoExecute.
|
|
type: string
|
|
key:
|
|
description: Key is the taint key that the toleration applies
|
|
to. Empty means match all taint keys. If the key is empty,
|
|
operator must be Exists; this combination means to match
|
|
all values and all keys.
|
|
type: string
|
|
operator:
|
|
description: Operator represents a key's relationship to
|
|
the value. Valid operators are Exists and Equal. Defaults
|
|
to Equal. Exists is equivalent to wildcard for value,
|
|
so that a pod can tolerate all taints of a particular
|
|
category.
|
|
type: string
|
|
tolerationSeconds:
|
|
description: TolerationSeconds represents the period of
|
|
time the toleration (which must be of effect NoExecute,
|
|
otherwise this field is ignored) tolerates the taint.
|
|
By default, it is not set, which means tolerate the taint
|
|
forever (do not evict). Zero and negative values will
|
|
be treated as 0 (evict immediately) by the system.
|
|
format: int64
|
|
type: integer
|
|
value:
|
|
description: Value is the taint value the toleration matches
|
|
to. If the operator is Exists, the value should be empty,
|
|
otherwise just a regular string.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
trustedCerts:
|
|
description: Trusted certificate settings.
|
|
properties:
|
|
gitTrustedCertsConfigMapName:
|
|
description: 'The ConfigMap contains certificates to propagate
|
|
to the Che components and to provide a particular configuration
|
|
for Git. See the following page: https://www.eclipse.org/che/docs/stable/administration-guide/deploying-che-with-support-for-git-repositories-with-self-signed-certificates/
|
|
The ConfigMap must have a `app.kubernetes.io/part-of=che.eclipse.org`
|
|
label.'
|
|
type: string
|
|
type: object
|
|
user:
|
|
description: User configuration.
|
|
properties:
|
|
clusterRoles:
|
|
description: Additional ClusterRoles assigned to the user.
|
|
The role must have `app.kubernetes.io/part-of=che.eclipse.org`
|
|
label.
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
type: object
|
|
gitServices:
|
|
description: A configuration that allows users to work with remote
|
|
Git repositories.
|
|
properties:
|
|
azure:
|
|
description: Enables users to work with repositories hosted on
|
|
Azure DevOps Service (dev.azure.com).
|
|
items:
|
|
description: AzureDevOpsService enables users to work with repositories
|
|
hosted on Azure DevOps Service (dev.azure.com).
|
|
properties:
|
|
secretName:
|
|
description: 'Kubernetes secret, that contains Base64-encoded
|
|
Azure DevOps Service Application ID and Client Secret.
|
|
See the following page: https://www.eclipse.org/che/docs/stable/administration-guide/configuring-oauth-2-for-microsoft-azure-devops-services'
|
|
type: string
|
|
required:
|
|
- secretName
|
|
type: object
|
|
type: array
|
|
bitbucket:
|
|
description: Enables users to work with repositories hosted on
|
|
Bitbucket (bitbucket.org or self-hosted).
|
|
items:
|
|
description: BitBucketService enables users to work with repositories
|
|
hosted on Bitbucket (bitbucket.org or self-hosted).
|
|
properties:
|
|
endpoint:
|
|
description: 'Bitbucket server endpoint URL. Deprecated
|
|
in favor of `che.eclipse.org/scm-server-endpoint` annotation.
|
|
See the following page: https://www.eclipse.org/che/docs/stable/administration-guide/configuring-oauth-1-for-a-bitbucket-server/.'
|
|
type: string
|
|
secretName:
|
|
description: 'Kubernetes secret, that contains Base64-encoded
|
|
Bitbucket OAuth 1.0 or OAuth 2.0 data. See the following
|
|
pages for details: https://www.eclipse.org/che/docs/stable/administration-guide/configuring-oauth-1-for-a-bitbucket-server/
|
|
and https://www.eclipse.org/che/docs/stable/administration-guide/configuring-oauth-2-for-the-bitbucket-cloud/.'
|
|
type: string
|
|
required:
|
|
- secretName
|
|
type: object
|
|
type: array
|
|
github:
|
|
description: Enables users to work with repositories hosted on
|
|
GitHub (github.com or GitHub Enterprise).
|
|
items:
|
|
description: GitHubService enables users to work with repositories
|
|
hosted on GitHub (GitHub.com or GitHub Enterprise).
|
|
properties:
|
|
disableSubdomainIsolation:
|
|
description: 'Disables subdomain isolation. Deprecated in
|
|
favor of `che.eclipse.org/scm-github-disable-subdomain-isolation`
|
|
annotation. See the following page for details: https://www.eclipse.org/che/docs/stable/administration-guide/configuring-oauth-2-for-github/.'
|
|
type: boolean
|
|
endpoint:
|
|
description: 'GitHub server endpoint URL. Deprecated in
|
|
favor of `che.eclipse.org/scm-server-endpoint` annotation.
|
|
See the following page for details: https://www.eclipse.org/che/docs/stable/administration-guide/configuring-oauth-2-for-github/.'
|
|
type: string
|
|
secretName:
|
|
description: 'Kubernetes secret, that contains Base64-encoded
|
|
GitHub OAuth Client id and GitHub OAuth Client secret.
|
|
See the following page for details: https://www.eclipse.org/che/docs/stable/administration-guide/configuring-oauth-2-for-github/.'
|
|
type: string
|
|
required:
|
|
- secretName
|
|
type: object
|
|
type: array
|
|
gitlab:
|
|
description: Enables users to work with repositories hosted on
|
|
GitLab (gitlab.com or self-hosted).
|
|
items:
|
|
description: GitLabService enables users to work with repositories
|
|
hosted on GitLab (gitlab.com or self-hosted).
|
|
properties:
|
|
endpoint:
|
|
description: 'GitLab server endpoint URL. Deprecated in
|
|
favor of `che.eclipse.org/scm-server-endpoint` annotation.
|
|
See the following page: https://www.eclipse.org/che/docs/stable/administration-guide/configuring-oauth-2-for-gitlab/.'
|
|
type: string
|
|
secretName:
|
|
description: 'Kubernetes secret, that contains Base64-encoded
|
|
GitHub Application id and GitLab Application Client secret.
|
|
See the following page: https://www.eclipse.org/che/docs/stable/administration-guide/configuring-oauth-2-for-gitlab/.'
|
|
type: string
|
|
required:
|
|
- secretName
|
|
type: object
|
|
type: array
|
|
type: object
|
|
networking:
|
|
default:
|
|
auth:
|
|
gateway:
|
|
configLabels:
|
|
app: che
|
|
component: che-gateway-config
|
|
description: Networking, Che authentication, and TLS configuration.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: '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"'
|
|
type: object
|
|
auth:
|
|
default:
|
|
gateway:
|
|
configLabels:
|
|
app: che
|
|
component: che-gateway-config
|
|
description: Authentication settings.
|
|
properties:
|
|
gateway:
|
|
default:
|
|
configLabels:
|
|
app: che
|
|
component: che-gateway-config
|
|
description: Gateway settings.
|
|
properties:
|
|
configLabels:
|
|
additionalProperties:
|
|
type: string
|
|
default:
|
|
app: che
|
|
component: che-gateway-config
|
|
description: Gateway configuration labels.
|
|
type: object
|
|
deployment:
|
|
description: 'Deployment override options. Since gateway
|
|
deployment consists of several containers, they must
|
|
be distinguished in the configuration by their names:
|
|
- `gateway` - `configbump` - `oauth-proxy` - `kube-rbac-proxy`'
|
|
properties:
|
|
containers:
|
|
description: List of containers belonging to the pod.
|
|
items:
|
|
description: Container custom settings.
|
|
properties:
|
|
env:
|
|
description: List of environment variables to
|
|
set in the container.
|
|
items:
|
|
description: EnvVar represents an environment
|
|
variable present in a Container.
|
|
properties:
|
|
name:
|
|
description: Name of the environment variable.
|
|
Must be a C_IDENTIFIER.
|
|
type: string
|
|
value:
|
|
description: 'Variable references $(VAR_NAME)
|
|
are expanded using the previously defined
|
|
environment variables in the container
|
|
and any service environment variables.
|
|
If a variable cannot be resolved, the
|
|
reference in the input string will be
|
|
unchanged. Double $$ are reduced to
|
|
a single $, which allows for escaping
|
|
the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)"
|
|
will produce the string literal "$(VAR_NAME)".
|
|
Escaped references will never be expanded,
|
|
regardless of whether the variable exists
|
|
or not. Defaults to "".'
|
|
type: string
|
|
valueFrom:
|
|
description: Source for the environment
|
|
variable's value. Cannot be used if
|
|
value is not empty.
|
|
properties:
|
|
configMapKeyRef:
|
|
description: Selects a key of a ConfigMap.
|
|
properties:
|
|
key:
|
|
description: The key to select.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields.
|
|
apiVersion, kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the
|
|
ConfigMap or its key must be
|
|
defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
fieldRef:
|
|
description: 'Selects a field of the
|
|
pod: supports metadata.name, metadata.namespace,
|
|
`metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`,
|
|
spec.nodeName, spec.serviceAccountName,
|
|
status.hostIP, status.podIP, status.podIPs.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema
|
|
the FieldPath is written in
|
|
terms of, defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field
|
|
to select in the specified API
|
|
version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
resourceFieldRef:
|
|
description: 'Selects a resource of
|
|
the container: only resources limits
|
|
and requests (limits.cpu, limits.memory,
|
|
limits.ephemeral-storage, requests.cpu,
|
|
requests.memory and requests.ephemeral-storage)
|
|
are currently supported.'
|
|
properties:
|
|
containerName:
|
|
description: 'Container name:
|
|
required for volumes, optional
|
|
for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output
|
|
format of the exposed resources,
|
|
defaults to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource
|
|
to select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
secretKeyRef:
|
|
description: Selects a key of a secret
|
|
in the pod's namespace
|
|
properties:
|
|
key:
|
|
description: The key of the secret
|
|
to select from. Must be a valid
|
|
secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields.
|
|
apiVersion, kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the
|
|
Secret or its key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
image:
|
|
description: Container image. Omit it or leave
|
|
it empty to use the default container image
|
|
provided by the Operator.
|
|
type: string
|
|
imagePullPolicy:
|
|
description: Image pull policy. Default value
|
|
is `Always` for `nightly`, `next` or `latest`
|
|
images, and `IfNotPresent` in other cases.
|
|
enum:
|
|
- Always
|
|
- IfNotPresent
|
|
- Never
|
|
type: string
|
|
name:
|
|
description: Container name.
|
|
type: string
|
|
resources:
|
|
description: Compute resources required by this
|
|
container.
|
|
properties:
|
|
limits:
|
|
description: Describes the maximum amount
|
|
of compute resources allowed.
|
|
properties:
|
|
cpu:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: CPU, in cores. (500m =
|
|
.5 cores) If the value is not specified,
|
|
then the default value is set depending
|
|
on the component. If value is `0`,
|
|
then no value is set for the component.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
memory:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Memory, in bytes. (500Gi
|
|
= 500GiB = 500 * 1024 * 1024 * 1024)
|
|
If the value is not specified, then
|
|
the default value is set depending
|
|
on the component. If value is `0`,
|
|
then no value is set for the component.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
request:
|
|
description: Describes the minimum amount
|
|
of compute resources required.
|
|
properties:
|
|
cpu:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: CPU, in cores. (500m =
|
|
.5 cores) If the value is not specified,
|
|
then the default value is set depending
|
|
on the component. If value is `0`,
|
|
then no value is set for the component.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
memory:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Memory, in bytes. (500Gi
|
|
= 500GiB = 500 * 1024 * 1024 * 1024)
|
|
If the value is not specified, then
|
|
the default value is set depending
|
|
on the component. If value is `0`,
|
|
then no value is set for the component.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: array
|
|
securityContext:
|
|
description: Security options the pod should run with.
|
|
properties:
|
|
fsGroup:
|
|
description: A special supplemental group that
|
|
applies to all containers in a pod. The default
|
|
value is `1724`.
|
|
format: int64
|
|
type: integer
|
|
runAsUser:
|
|
description: The UID to run the entrypoint of
|
|
the container process. The default value is
|
|
`1724`.
|
|
format: int64
|
|
type: integer
|
|
type: object
|
|
type: object
|
|
type: object
|
|
identityProviderURL:
|
|
description: Public URL of the Identity Provider server.
|
|
type: string
|
|
identityToken:
|
|
description: 'Identity token to be passed to upstream. There
|
|
are two types of tokens supported: `id_token` and `access_token`.
|
|
Default value is `id_token`. This field is specific to Che
|
|
installations made for Kubernetes only and ignored for OpenShift.'
|
|
enum:
|
|
- id_token
|
|
- access_token
|
|
type: string
|
|
oAuthAccessTokenInactivityTimeoutSeconds:
|
|
description: Inactivity timeout for tokens to set in the OpenShift
|
|
`OAuthClient` resource used to set up identity federation
|
|
on the OpenShift side. 0 means tokens for this client never
|
|
time out.
|
|
format: int32
|
|
type: integer
|
|
oAuthAccessTokenMaxAgeSeconds:
|
|
description: Access token max age for tokens to set in the
|
|
OpenShift `OAuthClient` resource used to set up identity
|
|
federation on the OpenShift side. 0 means no expiration.
|
|
format: int32
|
|
type: integer
|
|
oAuthClientName:
|
|
description: Name of the OpenShift `OAuthClient` resource
|
|
used to set up identity federation on the OpenShift side.
|
|
type: string
|
|
oAuthScope:
|
|
description: Access Token Scope. This field is specific to
|
|
Che installations made for Kubernetes only and ignored for
|
|
OpenShift.
|
|
type: string
|
|
oAuthSecret:
|
|
description: Name of the secret set in the OpenShift `OAuthClient`
|
|
resource used to set up identity federation on the OpenShift
|
|
side.
|
|
type: string
|
|
type: object
|
|
domain:
|
|
description: '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.'
|
|
type: string
|
|
hostname:
|
|
description: The public hostname of the installed Che server.
|
|
type: string
|
|
ingressClassName:
|
|
description: IngressClassName is the name of an IngressClass cluster
|
|
resource. If a class name is defined in both the `IngressClassName`
|
|
field and the `kubernetes.io/ingress.class` annotation, `IngressClassName`
|
|
field takes precedence.
|
|
type: string
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: Defines labels which will be set for an Ingress (a
|
|
route for OpenShift platform).
|
|
type: object
|
|
tlsSecretName:
|
|
description: 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.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
status:
|
|
description: Defines the observed state of Che installation.
|
|
properties:
|
|
chePhase:
|
|
description: Specifies the current phase of the Che deployment.
|
|
type: string
|
|
cheURL:
|
|
description: Public URL of the Che server.
|
|
type: string
|
|
cheVersion:
|
|
description: Currently installed Che version.
|
|
type: string
|
|
devfileRegistryURL:
|
|
description: The public URL of the internal devfile registry.
|
|
type: string
|
|
gatewayPhase:
|
|
description: Specifies the current phase of the gateway deployment.
|
|
type: string
|
|
message:
|
|
description: A human readable message indicating details about why
|
|
the Che deployment is in the current phase.
|
|
type: string
|
|
pluginRegistryURL:
|
|
description: The public URL of the internal plug-in registry.
|
|
type: string
|
|
reason:
|
|
description: A brief CamelCase message indicating details about why
|
|
the Che deployment is in the current phase.
|
|
type: string
|
|
workspaceBaseDomain:
|
|
description: 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.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
status:
|
|
acceptedNames:
|
|
kind: ""
|
|
plural: ""
|
|
conditions: []
|
|
storedVersions: []
|