Documentation ¶
Overview ¶
package constants defines constant values used throughout the DevWorkspace Operator
Index ¶
Constants ¶
View Source
const ( // PluginSourceAttribute is an attribute added to components, commands, and projects in a flattened // DevWorkspace representation to signify where the respective component came from (i.e. which plugin // or parent imported it) PluginSourceAttribute = "controller.devfile.io/imported-by" // EndpointURLAttribute is an attribute added to endpoints to denote the endpoint on the cluster that // was created to route to this endpoint EndpointURLAttribute = "controller.devfile.io/endpoint-url" )
Constants that are used in attributes on DevWorkspace elements (components, endpoints, etc.)
View Source
const ( DefaultProjectsSourcesRoot = "/projects" AuthEnabled = "false" ServiceAccount = "devworkspace" SidecarDefaultMemoryLimit = "128M" PVCStorageSize = "1Gi" // DevWorkspaceIDLoggerKey is the key used to log workspace ID in the reconcile DevWorkspaceIDLoggerKey = "devworkspace_id" // ControllerServiceAccountNameEnvVar stores the name of the serviceaccount used in the controller. ControllerServiceAccountNameEnvVar = "CONTROLLER_SERVICE_ACCOUNT_NAME" // PVCCleanupPodMemoryLimit is the memory limit used for PVC clean up pods PVCCleanupPodMemoryLimit = "100Mi" // PVCCleanupPodMemoryRequest is the memory request used for PVC clean up pods PVCCleanupPodMemoryRequest = "32Mi" // PVCCleanupPodCPULimit is the cpu limit used for PVC clean up pods PVCCleanupPodCPULimit = "50m" // PVCCleanupPodCPURequest is the cpu request used for PVC clean up pods PVCCleanupPodCPURequest = "5m" // Resource limits/requests for project cloner init container ProjectCloneMemoryLimit = "300Mi" ProjectCloneMemoryRequest = "64Mi" ProjectCloneCPULimit = "50m" ProjectCloneCPURequest = "5m" // Constants describing storage classes supported by the controller // CommonStorageClassType defines the 'common' storage policy -- one PVC is provisioned per namespace and all devworkspace storage // is mounted in it on subpaths according to devworkspace ID. CommonStorageClassType = "common" // AsyncStorageClassType defines the 'asynchronous' storage policy. An rsync sidecar is added to devworkspaces that uses SSH to connect // to a storage deployment that mounts a common PVC for the namespace. AsyncStorageClassType = "async" )
Internal constants
View Source
const ( // DevWorkspaceIDLabel is label key to store workspace identifier DevWorkspaceIDLabel = "controller.devfile.io/devworkspace_id" // DevWorkspaceCreatorLabel is the label key for storing the UID of the user who created the workspace DevWorkspaceCreatorLabel = "controller.devfile.io/creator" // DevWorkspaceNameLabel is label key to store workspace name DevWorkspaceNameLabel = "controller.devfile.io/devworkspace_name" // DevWorkspaceRestrictedAccessAnnotation marks the intention that devworkspace access is restricted to only the creator; setting this // annotation will cause devworkspace start to fail if webhooks are disabled. // Operator also propagates it to the devworkspace-related objects to perform authorization. DevWorkspaceRestrictedAccessAnnotation = "controller.devfile.io/restricted-access" // DevWorkspaceStopReasonAnnotation marks the reason why the devworkspace was stopped; when a devworkspace is restarted // this annotation will be cleared DevWorkspaceStopReasonAnnotation = "controller.devfile.io/stopped-by" // WebhookRestartedAtAnnotation holds the the time (unixnano) of when the webhook server was forced to restart by controller WebhookRestartedAtAnnotation = "controller.devfile.io/restarted-at" // RoutingAnnotationInfix is the infix of the annotations of DevWorkspace that are passed down as annotation to the DevWorkspaceRouting objects. // The full annotation name is supposed to be "<routingClass>.routing.controller.devfile.io/<anything>" RoutingAnnotationInfix = ".routing.controller.devfile.io/" // DevWorkspaceStorageTypeLabel defines the strategy used for provisioning storage for the workspace. // If empty, the common PVC strategy is used. // Supported options: // - "common": Create one PVC per namespace, and store data for all workspaces in that namespace in that PVC // - "async" : Create one PVC per namespace, and create a remote server that syncs data from workspaces to the PVC. // All volumeMounts used for devworkspaces are emptyDir DevWorkspaceStorageTypeLabel = "controller.devfile.io/storage-type" // WorkspaceEndpointNameAnnotation is the annotation key for storing an endpoint's name from the devfile representation DevWorkspaceEndpointNameAnnotation = "controller.devfile.io/endpoint_name" // DevWorkspaceDiscoverableServiceAnnotation marks a service in a devworkspace as created for a discoverable endpoint, // as opposed to a service created to support the devworkspace itself. DevWorkspaceDiscoverableServiceAnnotation = "controller.devfile.io/discoverable-service" // PullSecretLabel marks the intention that secret should be used as pull secret for devworkspaces withing namespace // Only secrets with 'true' value will be mount as pull secret // Should be assigned to secrets with type docker config types (kubernetes.io/dockercfg and kubernetes.io/dockerconfigjson) DevWorkspacePullSecretLabel = "controller.devfile.io/devworkspace_pullsecret" )
Constants that are used in labels and annotation on DevWorkspace-related resources.
Variables ¶
View Source
var ControllerAppLabels = func() map[string]string { return map[string]string{ "app.kubernetes.io/name": "devworkspace-controller", "app.kubernetes.io/part-of": "devworkspace-operator", } }
Labels which should be used for controller related objects
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.