|
| 1 | +# DevWorkspace operator CRDs |
| 2 | + |
| 3 | +## DevWorkspaceOperatorConfig/v1alpha1 |
| 4 | + |
| 5 | +DevWorkspaceOperatorConfig is the schema for the <span translate="no">devworkspaceoperatorconfigs</span> API. |
| 6 | + |
| 7 | +### config |
| 8 | + |
| 9 | +**Description:** OperatorConfiguration defines configuration options for the DevWorkspace Operator. |
| 10 | + |
| 11 | +**Type:** object |
| 12 | + |
| 13 | +| Property | Type | Description | |
| 14 | +|-----------------------------------|-------------|-----------------------------------| |
| 15 | +|config |object |Defines configuration options for the DevWorkspace Operator.| |
| 16 | +|config.enableExperimentalFeatures |boolean |EnableExperimentalFeatures turns on in-development features of the controller. This option should generally not be enabled, as any capabilities are subject to removal without notice.| |
| 17 | +|config.routing |object |Routing defines configuration options related to DevWorkspace networking| |
| 18 | +|config.routing.clusterHostSuffix |string |ClusterHostSuffix is the hostname suffix to be used for DevWorkspace endpoints. On OpenShift, the DevWorkspace Operator will attempt to determine the appropriate value automatically. Must be specified on Kubernetes.| |
| 19 | +|config.routing.defaultRoutingClass |string |DefaultRoutingClass specifies the routingClass to be used when a DevWorkspace specifies an empty `.spec.routingClass`. Supported routingClasses can be defined in other controllers. If not specified, the default value of "basic" is used.| |
| 20 | +|config.routing.proxyConfig |object |ProxyConfig defines the proxy settings that should be used for all DevWorkspaces. These values are propagated to workspace containers as environment variables. On OpenShift, the operator automatically reads values from the \"cluster\" proxies.config.openshift.io object and this value only needs to be set to override those defaults. Values for httpProxy and httpsProxy override the cluster configuration directly. Entries for noProxy are merged with the noProxy values in the cluster configuration. To ignore automatically read values from the cluster, set values in fields to the empty string (\"\"). Changes to the proxy configuration are detected by the DevWorkspace Operator and propagated to DevWorkspaces. However, changing the proxy configuration for the DevWorkspace Operator itself requires restarting the controller deployment.| |
| 21 | +|config.routing.proxyConfig.httpProxy|string |HttpProxy is the URL of the proxy for HTTP requests, in the format http://USERNAME:PASSWORD@SERVER:PORT/. To ignore automatically detected proxy settings for the cluster, set this field to an empty string ("").| |
| 22 | +|config.routing.proxyConfig.httpsProxy|string |HttpsProxy is the URL of the proxy for HTTPS requests, in the format https://USERNAME:PASSWORD@SERVER:PORT/. To ignore automatically detected proxy settings for the cluster, set this field to an empty string ("").| |
| 23 | +|config.routing.proxyConfig.noProxy|string |NoProxy is a comma-separated list of hostnames and/or CIDRs for which the proxy should not be used. Ignored when HttpProxy and HttpsProxy are unset. To ignore automatically detected proxy settings for the cluster, set this field to an empty string ("").| |
| 24 | +|config.workspace |object |Workspace defines configuration options related to how DevWorkspaces are managed| |
| 25 | +|config.workspace.cleanupOnStop|boolean|CleanupOnStop governs how the Operator handles stopped DevWorkspaces. If set to true, additional resources associated with a DevWorkspace. The default value is false.| |
| 26 | +|config.workspace.containerSecurityContext|object|ContainerSecurityContext overrides the default ContainerSecurityContext used for all workspace-related containers created by the DevWorkspace Operator. If set, defined values are merged into the default configuration| |
| 27 | +|config.workspace.defaultContainerResources|object|DefaultContainerResources defines the resource requirements (memory/cpu limit/request) used for container components that do not define limits or requests.| |
| 28 | +|config.workspace.defaultStorageSize|object|DefaultStorageSize defines an optional struct with fields to specify the sizes of Persistent Volume Claims for storage classes used by DevWorkspaces.| |
| 29 | +|config.workspace.defaultTemplate|object|DefaultTemplate defines an optional DevWorkspace Spec Template which gets applied to the workspace if the workspace's Template Spec Components are not defined. The DefaultTemplate will overwrite the existing Template Spec, with the exception of Projects (if any are defined).| |
| 30 | +|config.workspace.deploymentStrategy|string|DeploymentStrategy defines the deployment strategy to use to replace existing DevWorkspace pods with new ones. The available deployment strategies are "Recreate" and "RollingUpdate".| |
| 31 | +|config.workspace.idleTimeout|string|IdleTimeout determines how long a workspace should sit idle before being automatically scaled down. Proper functionality of this configuration property requires support in the workspace being started. If not specified, the default value of "15m" is used.| |
| 32 | +|config.workspace.ignoredUnrecoverableEvents|array|IgnoredUnrecoverableEvents defines a list of Kubernetes event names that should be ignored when deciding to fail a DevWorkspace startup. This option should be used if a transient cluster issue is triggering false-positives. Events listed here will not trigger DevWorkspace failures.| |
| 33 | +|config.workspace.imagePullPolicy|string|ImagePullPolicy defines the imagePullPolicy used for containers in a DevWorkspace For additional information, see Kubernetes documentation for imagePullPolicy. If not specified, the default value of "Always" is used.| |
| 34 | +|config.workspace.persistUserHome|object|PersistUserHome defines configuration options for persisting the `/home/user/` directory in workspaces.| |
| 35 | +|config.workspace.podSecurityContext|object|PodSecurityContext overrides the default PodSecurityContext used for all workspace-related pods created by the DevWorkspace Operator. If set, defined values are merged into the default configuration| |
| 36 | +|config.workspace.progressTimeout|string|ProgressTimeout determines the maximum duration a DevWorkspace can be in a "Starting" or "Failing" phase without progressing before it is automatically failed. Duration should be specified in a format parsable by Go's time package.| |
| 37 | +|config.workspace.projectClone|object|ProjectCloneConfig defines configuration related to the project clone init container that is used to clone git projects into the DevWorkspace.| |
| 38 | +|config.workspace.pvcName|string|PVCName defines the name used for the persistent volume claim created to support workspace storage when the 'common' storage class is used. If not specified, the default value of `claim-devworkspace` is used.| |
| 39 | +|config.workspace.schedulerName|string|SchedulerName is the name of the pod scheduler for DevWorkspace pods. If not specified, the pod scheduler is set to the default scheduler on the cluster.| |
| 40 | +|config.workspace.serviceAccount|object|ServiceAccount defines configuration options for the ServiceAccount used for DevWorkspaces.| |
| 41 | +|config.workspace.storageClassName|string|StorageClassName defines an optional storageClass to use for persistent volume claims created to support DevWorkspaces| |
| 42 | + |
| 43 | +## DevWorkspaceRouting/v1alpha1 |
| 44 | + |
| 45 | +DevWorkspaceRouting is the schema for the <span translate="no">devworkspaceoperatorconfigs</span> API. |
| 46 | + |
| 47 | +### spec |
| 48 | + |
| 49 | +**Description:** DevWorkspaceRoutingSpec defines the desired state of DevWorkspaceRouting. |
| 50 | + |
| 51 | +**Type:** object |
| 52 | + |
| 53 | +| Property | Type | Description | |
| 54 | +|-----------------------------------|-------------|-----------------------------------| |
| 55 | +|spec |object |Defines the desired state of DevWorkspaceRouting.| |
| 56 | +|spec.devworkspaceId|string|Id for the DevWorkspace being routed| |
| 57 | +|spec.endpoints|object|Machines to endpoints map| |
| 58 | +|spec.podSelector|object|Selector that should be used by created services to point to the devworkspace Pod| |
| 59 | +|spec.routingClass|string|Class of the routing: this drives which DevWorkspaceRouting controller will manage this routing| |
| 60 | + |
| 61 | +### status |
| 62 | + |
| 63 | +**Description:** Defines the observed state of DevWorkspaceRouting. |
| 64 | + |
| 65 | +| Property | Type | Description | |
| 66 | +|---------------------|-------------|-----------------------------------| |
| 67 | +|status |object |Defines the observed state of DevWorkspaceRouting.| |
| 68 | +|status.exposedEndpoints|object|Machine name to exposed endpoint map| |
| 69 | +|status.message|string|Message is a user-readable message explaining the current phase (e.g. reason for failure)| |
| 70 | +|status.phase|string|Routing reconcile phase| |
| 71 | +|status.podAdditions|object|Additions to main devworkspace deployment| |
| 72 | + |
| 73 | +## DevWorkspace/v1alpha1 |
| 74 | + |
| 75 | +DevWorkspace is the schema for the <span translate="no">devworkspaces</span> API. |
| 76 | + |
| 77 | +### spec |
| 78 | + |
| 79 | +**Description:** DevWorkspaceSpec defines the desired state of DevWorkspace. |
| 80 | + |
| 81 | +**Type:** object |
| 82 | + |
| 83 | +| Property | Type | Description | |
| 84 | +|-----------------------------------|-------------|-----------------------------------| |
| 85 | +|spec |object |Defines the desired state of DevWorkspace.| |
| 86 | +|spec.routingClass|string|(No Description) | |
| 87 | +|spec.started|boolean|(No Description) | |
| 88 | +|spec.template|object|Structure of the workspace. This is also the specification of a workspace template.| |
| 89 | + |
| 90 | +### status |
| 91 | + |
| 92 | +**Description:** Defines the observed state of DevWorkspace. |
| 93 | + |
| 94 | +| Property | Type | Description | |
| 95 | +|---------------------|-------------|-----------------------------------| |
| 96 | +|status |object |Defines the observed state of DevWorkspace.| |
| 97 | +|status.conditions|array|Conditions represent the latest available observations of an object's state| |
| 98 | +|status.message|string|Message is a short user-readable message giving additional information about an object's state| |
| 99 | +|status.phase|string|null| |
| 100 | +|status.ideUrl|string|URL at which the Workspace Editor can be joined| |
| 101 | +|status.workspaceId|string|Id of the workspace| |
| 102 | + |
| 103 | +## DevWorkspaceTemplate/v1alpha2 |
| 104 | + |
| 105 | +DevWorkspaceTemplate is the schema for the <span translate="no">devworkspacetemplates</span> API. |
| 106 | + |
| 107 | +### spec |
| 108 | + |
| 109 | +**Description:** DevWorkspaceTemplateSpec defines the desired state of DevWorkspaceTemplate. |
| 110 | + |
| 111 | +**Type:** object |
| 112 | + |
| 113 | +| Property | Type | Description | |
| 114 | +|-----------------------------------|-------------|-----------------------------------| |
| 115 | +|spec |object |Defines the desired state of DevWorkspaceTemplate.| |
| 116 | +|spec.attributes|object|Map of implementation-dependant free-form YAML attributes.| |
| 117 | +|spec.commands|array|Predefined, ready-to-use, devworkspace-related commands| |
| 118 | +|spec.components|array|List of the devworkspace components, such as editor and plugins, user-provided containers, or other types of components| |
| 119 | +|spec.dependentProjects|array|Additional projects related to the main project in the devfile, containing names and sources locations| |
| 120 | +|spec.events|object|Bindings of commands to events. Each command is referred-to by its name.| |
| 121 | +|spec.parent|object|Parent devworkspace template| |
| 122 | +|spec.projects|array|Projects worked on in the devworkspace, containing names and sources locations| |
| 123 | +|spec.starterProjects|array|StarterProjects is a project that can be used as a starting point when bootstrapping new projects| |
| 124 | +|spec.variables|object|Map of key-value variables used for string replacement in the devfile. Values can be referenced via {{variable-key}} to replace the corresponding value in string fields in the devfile.| |
0 commit comments