Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the controller v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=controller.devfile.io
Package v1alpha1 contains API Schema definitions for the controller v1alpha1 API group +kubebuilder:object:generate=true +groupName=controller.devfile.io
Index ¶
- Constants
- Variables
- type Attributes
- func (attributes Attributes) AsInterface(errorHolder *error) interface{}
- func (attributes Attributes) Booleans(errorHolder *error) map[string]bool
- func (in Attributes) DeepCopy() Attributes
- func (in Attributes) DeepCopyInto(out *Attributes)
- func (attributes Attributes) Exists(key string) bool
- func (attributes Attributes) FromBooleanMap(strings map[string]bool) Attributes
- func (attributes Attributes) FromFloatMap(strings map[string]float64) Attributes
- func (attributes Attributes) FromIntegerMap(strings map[string]int) Attributes
- func (attributes Attributes) FromInterface(structure interface{}, errorHolder *error) Attributes
- func (attributes Attributes) FromMap(strings map[string]interface{}, errorHolder *error) Attributes
- func (attributes Attributes) FromStringMap(strings map[string]string) Attributes
- func (attributes Attributes) Get(key string, errorHolder *error) interface{}
- func (attributes Attributes) GetBoolean(key string, errorHolder *error) bool
- func (attributes Attributes) GetInto(key string, into interface{}) error
- func (attributes Attributes) GetNumber(key string, errorHolder *error) float64
- func (attributes Attributes) GetString(key string, errorHolder *error) string
- func (attributes Attributes) Into(into interface{}) error
- func (attributes Attributes) MarshalJSON() ([]byte, error)
- func (attributes Attributes) Numbers(errorHolder *error) map[string]float64
- func (attributes Attributes) Put(key string, value interface{}, errorHolder *error) Attributes
- func (attributes Attributes) PutBoolean(key string, value bool) Attributes
- func (attributes Attributes) PutFloat(key string, value float64) Attributes
- func (attributes Attributes) PutInteger(key string, value int) Attributes
- func (attributes Attributes) PutString(key string, value string) Attributes
- func (attributes Attributes) Strings(errorHolder *error) map[string]string
- func (attributes *Attributes) UnmarshalJSON(data []byte) error
- type ConfigmapReference
- type DevWorkspaceOperatorConfig
- type DevWorkspaceOperatorConfigList
- type DevWorkspaceRouting
- type DevWorkspaceRoutingClass
- type DevWorkspaceRoutingList
- type DevWorkspaceRoutingPhase
- type DevWorkspaceRoutingSpec
- type DevWorkspaceRoutingStatus
- type Endpoint
- type EndpointAttribute
- type EndpointExposure
- type EndpointList
- type EndpointProtocol
- type EndpointType
- type ExposedEndpoint
- type ExposedEndpointList
- type KeyNotFoundError
- type OperatorConfiguration
- type PersistentHomeConfig
- type PodAdditions
- type ProjectCloneConfig
- type Proxy
- type RoutingConfig
- type ServiceAccountConfig
- type ServiceAccountToken
- type StorageSizes
- type WebhookConfig
- type WorkspaceConfig
Constants ¶
const ( // TypeEndpointAttribute is an attribute used for devfile endpoints that specifies the endpoint type. // See EndpointType for respected values TypeEndpointAttribute EndpointAttribute = "type" // The value for `type` endpoint attribute that indicates that it should be exposed as mainUrl // in the workspace status MainEndpointType EndpointType = "main" // DiscoverableAttribute defines an endpoint as "discoverable", meaning that a service should be // created using the endpoint name (i.e. instead of generating a service name for all endpoints, // this endpoint should be statically accessible) DiscoverableAttribute EndpointAttribute = "discoverable" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "controller.devfile.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type Attributes ¶ added in v0.12.0
Attributes provides a way to add a map of arbitrary YAML/JSON objects. +kubebuilder:validation:Type=object +kubebuilder:validation:XPreserveUnknownFields
func (Attributes) AsInterface ¶ added in v0.12.0
func (attributes Attributes) AsInterface(errorHolder *error) interface{}
AsInterface allows returning the whole attributes map... as an interface. When the attributes are not empty, the returned interface will be a map of interfaces.
An optional error holder can be passed as an argument to receive any error that might have occured during the attributes decoding
func (Attributes) Booleans ¶ added in v0.12.0
func (attributes Attributes) Booleans(errorHolder *error) map[string]bool
Booleans allows returning only the attributes whose content is a JSON boolean.
An optional error holder can be passed as an argument to receive any error that might have be raised during the attribute decoding
func (Attributes) DeepCopy ¶ added in v0.12.0
func (in Attributes) DeepCopy() Attributes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Attributes.
func (Attributes) DeepCopyInto ¶ added in v0.12.0
func (in Attributes) DeepCopyInto(out *Attributes)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Attributes) Exists ¶ added in v0.12.0
func (attributes Attributes) Exists(key string) bool
Exists returns `true` if the attribute with the given key exists in the attributes map.
func (Attributes) FromBooleanMap ¶ added in v0.12.0
func (attributes Attributes) FromBooleanMap(strings map[string]bool) Attributes
FromBooleanMap allows adding into the current map of attributes all the attributes contained in the given map of booleans
func (Attributes) FromFloatMap ¶ added in v0.12.0
func (attributes Attributes) FromFloatMap(strings map[string]float64) Attributes
FromFloatMap allows adding into the current map of attributes all the attributes contained in the given map of floats
func (Attributes) FromIntegerMap ¶ added in v0.12.0
func (attributes Attributes) FromIntegerMap(strings map[string]int) Attributes
FromIntegerMap allows adding into the current map of attributes all the attributes contained in the given map of integers
func (Attributes) FromInterface ¶ added in v0.12.0
func (attributes Attributes) FromInterface(structure interface{}, errorHolder *error) Attributes
FromInterface allows completing the map of attributes from the given interface. The given interface, and can be any value that supports Json Marshaling and will be marshalled as a JSON object.
This is especially useful to create attributes from well-known, but implementation- dependent Go structures.
An optional error holder can be passed as an argument to receive any error that might have occured during the attributes decoding
func (Attributes) FromMap ¶ added in v0.12.0
func (attributes Attributes) FromMap(strings map[string]interface{}, errorHolder *error) Attributes
FromMap allows adding into the current map of attributes all the attributes contained in the given map of interfaces each attribute of the given map is provided as an interface, and can be any value that supports Json Marshaling.
An optional error holder can be passed as an argument to receive any error that might have occured during the attributes decoding
func (Attributes) FromStringMap ¶ added in v0.12.0
func (attributes Attributes) FromStringMap(strings map[string]string) Attributes
FromStringMap allows adding into the current map of attributes all the attributes contained in the given string map
func (Attributes) Get ¶ added in v0.12.0
func (attributes Attributes) Get(key string, errorHolder *error) interface{}
Get allows returning the attribute with the given key as an interface. The underlying type of the returned interface depends on the JSON/YAML content of the attribute. It can be either a simple type like a string, a float64 or a bool, either a structured type like a map of interfaces or an array of interfaces.
An optional error holder can be passed as an argument to receive any error that might have occurred during the attribute decoding
func (Attributes) GetBoolean ¶ added in v0.12.0
func (attributes Attributes) GetBoolean(key string, errorHolder *error) bool
GetBoolean allows returning the attribute with the given key as a bool. If the attribute JSON/YAML content is not a JSON boolean (or a JSON string that can be converted into a JSON boolean), then the result will be the `false` zero value and an error is raised.
String values can be converted to boolean values according to the following rules:
- strings "1", "t", "T", "TRUE", "true", and "True" will be converted to a `true` boolean
- strings "0, "f", "F", "FALSE", "false", "False" will be converted to a `false` boolean
- any other string value will raise an error.
An optional error holder can be passed as an argument to receive any error that might have be raised during the attribute decoding
func (Attributes) GetInto ¶ added in v0.12.0
func (attributes Attributes) GetInto(key string, into interface{}) error
GetInto allows decoding the attribute with the given key into a given interface. The provided interface should be a pointer to a struct, to an array, or to any simple type.
An error is returned if the provided interface type is not compatible with the attribute content
func (Attributes) GetNumber ¶ added in v0.12.0
func (attributes Attributes) GetNumber(key string, errorHolder *error) float64
GetNumber allows returning the attribute with the given key as a float64. If the attribute JSON/YAML content is not a JSON number (or a JSON string that can be converted into a JSON number), then the result will be the zero value and an error is raised.
An optional error holder can be passed as an argument to receive any error that might have be raised during the attribute decoding
func (Attributes) GetString ¶ added in v0.12.0
func (attributes Attributes) GetString(key string, errorHolder *error) string
GetString allows returning the attribute with the given key as a string. If the attribute JSON/YAML content is not a JSON string (or a primitive type that can be converted into a string), then the result will be the empty string and an error will be raised.
An optional error holder can be passed as an argument to receive any error that might have be raised during the attribute decoding
func (Attributes) Into ¶ added in v0.12.0
func (attributes Attributes) Into(into interface{}) error
Into allows decoding the whole attributes map into a given interface. The provided interface should be either a pointer to a struct, or to a map.
An error is returned if the provided interface type is not compatible with the structure of the attributes
func (Attributes) MarshalJSON ¶ added in v0.12.0
func (attributes Attributes) MarshalJSON() ([]byte, error)
MarshalJSON implements custom JSON marshaling to support free-form attributes
func (Attributes) Numbers ¶ added in v0.12.0
func (attributes Attributes) Numbers(errorHolder *error) map[string]float64
Numbers allows returning only the attributes whose content is a JSON number.
An optional error holder can be passed as an argument to receive any error that might have be raised during the attribute decoding
func (Attributes) Put ¶ added in v0.12.0
func (attributes Attributes) Put(key string, value interface{}, errorHolder *error) Attributes
Put allows adding an attribute to the current map of attributes. The attribute is provided as an interface, and can be any value that supports Json Marshaling.
An optional error holder can be passed as an argument to receive any error that might have occured during the attributes decoding
func (Attributes) PutBoolean ¶ added in v0.12.0
func (attributes Attributes) PutBoolean(key string, value bool) Attributes
PutBoolean allows adding a boolean attribute to the current map of attributes
func (Attributes) PutFloat ¶ added in v0.12.0
func (attributes Attributes) PutFloat(key string, value float64) Attributes
PutFloat allows adding a float attribute to the current map of attributes
func (Attributes) PutInteger ¶ added in v0.12.0
func (attributes Attributes) PutInteger(key string, value int) Attributes
PutInteger allows adding an integer attribute to the current map of attributes
func (Attributes) PutString ¶ added in v0.12.0
func (attributes Attributes) PutString(key string, value string) Attributes
PutString allows adding a string attribute to the current map of attributes
func (Attributes) Strings ¶ added in v0.12.0
func (attributes Attributes) Strings(errorHolder *error) map[string]string
Strings allows returning only the attributes whose content is a JSON string.
An optional error holder can be passed as an argument to receive any error that might have be raised during the attribute decoding
func (*Attributes) UnmarshalJSON ¶ added in v0.12.0
func (attributes *Attributes) UnmarshalJSON(data []byte) error
UnmarshalJSON implements custom JSON unmarshalling to support free-form attributes
type ConfigmapReference ¶ added in v0.28.0
type ConfigmapReference struct { // Name is the name of the configmap Name string `json:"name"` // Namespace is the namespace of the configmap Namespace string `json:"namespace"` }
func (*ConfigmapReference) DeepCopy ¶ added in v0.28.0
func (in *ConfigmapReference) DeepCopy() *ConfigmapReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigmapReference.
func (*ConfigmapReference) DeepCopyInto ¶ added in v0.28.0
func (in *ConfigmapReference) DeepCopyInto(out *ConfigmapReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DevWorkspaceOperatorConfig ¶ added in v0.10.0
type DevWorkspaceOperatorConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Config *OperatorConfiguration `json:"config,omitempty"` }
DevWorkspaceOperatorConfig is the Schema for the devworkspaceoperatorconfigs API +kubebuilder:object:root=true +kubebuilder:resource:path=devworkspaceoperatorconfigs,scope=Namespaced,shortName=dwoc
func (*DevWorkspaceOperatorConfig) DeepCopy ¶ added in v0.10.0
func (in *DevWorkspaceOperatorConfig) DeepCopy() *DevWorkspaceOperatorConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DevWorkspaceOperatorConfig.
func (*DevWorkspaceOperatorConfig) DeepCopyInto ¶ added in v0.10.0
func (in *DevWorkspaceOperatorConfig) DeepCopyInto(out *DevWorkspaceOperatorConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DevWorkspaceOperatorConfig) DeepCopyObject ¶ added in v0.10.0
func (in *DevWorkspaceOperatorConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DevWorkspaceOperatorConfigList ¶ added in v0.10.0
type DevWorkspaceOperatorConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []DevWorkspaceOperatorConfig `json:"items"` }
DevWorkspaceOperatorConfigList contains a list of DevWorkspaceOperatorConfig +kubebuilder:object:root=true
func (*DevWorkspaceOperatorConfigList) DeepCopy ¶ added in v0.10.0
func (in *DevWorkspaceOperatorConfigList) DeepCopy() *DevWorkspaceOperatorConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DevWorkspaceOperatorConfigList.
func (*DevWorkspaceOperatorConfigList) DeepCopyInto ¶ added in v0.10.0
func (in *DevWorkspaceOperatorConfigList) DeepCopyInto(out *DevWorkspaceOperatorConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DevWorkspaceOperatorConfigList) DeepCopyObject ¶ added in v0.10.0
func (in *DevWorkspaceOperatorConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DevWorkspaceRouting ¶ added in v0.2.0
type DevWorkspaceRouting struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DevWorkspaceRoutingSpec `json:"spec,omitempty"` Status DevWorkspaceRoutingStatus `json:"status,omitempty"` }
DevWorkspaceRouting is the Schema for the devworkspaceroutings API +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:path=devworkspaceroutings,scope=Namespaced,shortName=dwr +kubebuilder:printcolumn:name="DevWorkspace ID",type="string",JSONPath=".spec.devworkspaceId",description="The owner DevWorkspace's unique id" +kubebuilder:printcolumn:name="Phase",type="string",JSONPath=".status.phase",description="The current phase" +kubebuilder:printcolumn:name="Info",type="string",JSONPath=".status.message",description="Additional info about DevWorkspaceRouting state"
func (*DevWorkspaceRouting) DeepCopy ¶ added in v0.2.0
func (in *DevWorkspaceRouting) DeepCopy() *DevWorkspaceRouting
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DevWorkspaceRouting.
func (*DevWorkspaceRouting) DeepCopyInto ¶ added in v0.2.0
func (in *DevWorkspaceRouting) DeepCopyInto(out *DevWorkspaceRouting)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DevWorkspaceRouting) DeepCopyObject ¶ added in v0.2.0
func (in *DevWorkspaceRouting) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DevWorkspaceRoutingClass ¶ added in v0.2.0
type DevWorkspaceRoutingClass string
const ( DevWorkspaceRoutingBasic DevWorkspaceRoutingClass = "basic" DevWorkspaceRoutingCluster DevWorkspaceRoutingClass = "cluster" DevWorkspaceRoutingClusterTLS DevWorkspaceRoutingClass = "cluster-tls" DevWorkspaceRoutingWebTerminal DevWorkspaceRoutingClass = "web-terminal" )
type DevWorkspaceRoutingList ¶ added in v0.2.0
type DevWorkspaceRoutingList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []DevWorkspaceRouting `json:"items"` }
DevWorkspaceRoutingList contains a list of DevWorkspaceRouting
func (*DevWorkspaceRoutingList) DeepCopy ¶ added in v0.2.0
func (in *DevWorkspaceRoutingList) DeepCopy() *DevWorkspaceRoutingList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DevWorkspaceRoutingList.
func (*DevWorkspaceRoutingList) DeepCopyInto ¶ added in v0.2.0
func (in *DevWorkspaceRoutingList) DeepCopyInto(out *DevWorkspaceRoutingList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DevWorkspaceRoutingList) DeepCopyObject ¶ added in v0.2.0
func (in *DevWorkspaceRoutingList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DevWorkspaceRoutingPhase ¶ added in v0.2.0
type DevWorkspaceRoutingPhase string
Valid phases for devworkspacerouting
const ( RoutingReady DevWorkspaceRoutingPhase = "Ready" RoutingPreparing DevWorkspaceRoutingPhase = "Preparing" RoutingFailed DevWorkspaceRoutingPhase = "Failed" RoutingStopped DevWorkspaceRoutingPhase = "Stopped" )
type DevWorkspaceRoutingSpec ¶ added in v0.2.0
type DevWorkspaceRoutingSpec struct { // Id for the DevWorkspace being routed DevWorkspaceId string `json:"devworkspaceId"` // Class of the routing: this drives which DevWorkspaceRouting controller will manage this routing RoutingClass DevWorkspaceRoutingClass `json:"routingClass,omitempty"` // Machines to endpoints map Endpoints map[string]EndpointList `json:"endpoints"` // Selector that should be used by created services to point to the devworkspace Pod PodSelector map[string]string `json:"podSelector"` }
DevWorkspaceRoutingSpec defines the desired state of DevWorkspaceRouting +k8s:openapi-gen=true
func (*DevWorkspaceRoutingSpec) DeepCopy ¶ added in v0.2.0
func (in *DevWorkspaceRoutingSpec) DeepCopy() *DevWorkspaceRoutingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DevWorkspaceRoutingSpec.
func (*DevWorkspaceRoutingSpec) DeepCopyInto ¶ added in v0.2.0
func (in *DevWorkspaceRoutingSpec) DeepCopyInto(out *DevWorkspaceRoutingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DevWorkspaceRoutingStatus ¶ added in v0.2.0
type DevWorkspaceRoutingStatus struct { // Additions to main devworkspace deployment PodAdditions *PodAdditions `json:"podAdditions,omitempty"` // Machine name to exposed endpoint map ExposedEndpoints map[string]ExposedEndpointList `json:"exposedEndpoints,omitempty"` // Routing reconcile phase Phase DevWorkspaceRoutingPhase `json:"phase,omitempty"` // Message is a user-readable message explaining the current phase (e.g. reason for failure) Message string `json:"message,omitempty"` }
DevWorkspaceRoutingStatus defines the observed state of DevWorkspaceRouting +k8s:openapi-gen=true
func (*DevWorkspaceRoutingStatus) DeepCopy ¶ added in v0.2.0
func (in *DevWorkspaceRoutingStatus) DeepCopy() *DevWorkspaceRoutingStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DevWorkspaceRoutingStatus.
func (*DevWorkspaceRoutingStatus) DeepCopyInto ¶ added in v0.2.0
func (in *DevWorkspaceRoutingStatus) DeepCopyInto(out *DevWorkspaceRoutingStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Endpoint ¶
type Endpoint struct { // +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ // +kubebuilder:validation:MaxLength=63 Name string `json:"name"` TargetPort int `json:"targetPort"` // Describes how the endpoint should be exposed on the network. // // - `public` means that the endpoint will be exposed on the public network, typically through // a K8S ingress or an OpenShift route. // // - `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. // // - `none` means that the endpoint will not be exposed and will only be accessible // inside the main devworkspace POD, on a local address. // // Default value is `public` // +optional // +kubebuilder:default=public Exposure EndpointExposure `json:"exposure,omitempty"` // Describes the application and transport protocols of the traffic that will go through this endpoint. // // - `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`. // // - `https`: Endpoint will have `https` traffic, typically on a TCP connection. // // - `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`. // // - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. // // - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. // // - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. // // Default value is `http` // +optional // +kubebuilder:default=http Protocol EndpointProtocol `json:"protocol,omitempty"` // Describes whether the endpoint should be secured and protected by some // authentication process. This requires a protocol of `https` or `wss`. // +optional // +devfile:default:value=false Secure bool `json:"secure,omitempty"` // Path of the endpoint URL // +optional Path string `json:"path,omitempty"` // Map of implementation-dependant string-based free-form attributes. // // Examples of Che-specific attributes: // // - cookiesAuthEnabled: "true" / "false", // // - type: "terminal" / "ide" / "ide-dev", // +optional // +kubebuilder:validation:Type=object // +kubebuilder:pruning:PreserveUnknownFields // +kubebuilder:validation:Schemaless Attributes Attributes `json:"attributes,omitempty"` // Map of annotations to be added to the Kubernetes Ingress or OpenShift Route associated with the endpoint. // +optional // +patchMergeKey=name // +patchStrategy=merge Annotations map[string]string `json:"annotations,omitempty"` }
func (*Endpoint) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Endpoint.
func (*Endpoint) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EndpointAttribute ¶
type EndpointAttribute string
type EndpointExposure ¶ added in v0.12.0
type EndpointExposure string
EndpointExposure describes the way an endpoint is exposed on the network. Only one of the following exposures may be specified: public, internal, none. +kubebuilder:validation:Enum=public;internal;none
const ( // Endpoint will be exposed on the public network, typically through // a K8S ingress or an OpenShift route PublicEndpointExposure EndpointExposure = "public" // 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. InternalEndpointExposure EndpointExposure = "internal" // Endpoint will not be exposed and will only be accessible // inside the main devworkspace POD, on a local address. NoneEndpointExposure EndpointExposure = "none" )
type EndpointList ¶
type EndpointList []Endpoint
func (EndpointList) DeepCopy ¶
func (in EndpointList) DeepCopy() EndpointList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointList.
func (EndpointList) DeepCopyInto ¶
func (in EndpointList) DeepCopyInto(out *EndpointList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EndpointProtocol ¶ added in v0.12.0
type EndpointProtocol string
EndpointProtocol defines the application and transport protocols of the traffic that will go through this endpoint. Only one of the following protocols may be specified: http, ws, tcp, udp. +kubebuilder:validation:Enum=http;https;ws;wss;tcp;udp
type EndpointType ¶ added in v0.5.0
type EndpointType string
type ExposedEndpoint ¶
type ExposedEndpoint struct { // Name of the exposed endpoint Name string `json:"name"` // Public URL of the exposed endpoint Url string `json:"url"` // Attributes of the exposed endpoint // +optional Attributes Attributes `json:"attributes,omitempty"` }
func (*ExposedEndpoint) DeepCopy ¶
func (in *ExposedEndpoint) DeepCopy() *ExposedEndpoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExposedEndpoint.
func (*ExposedEndpoint) DeepCopyInto ¶
func (in *ExposedEndpoint) DeepCopyInto(out *ExposedEndpoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExposedEndpointList ¶
type ExposedEndpointList []ExposedEndpoint
func (ExposedEndpointList) DeepCopy ¶
func (in ExposedEndpointList) DeepCopy() ExposedEndpointList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExposedEndpointList.
func (ExposedEndpointList) DeepCopyInto ¶
func (in ExposedEndpointList) DeepCopyInto(out *ExposedEndpointList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeyNotFoundError ¶ added in v0.12.0
type KeyNotFoundError struct {
Key string
}
KeyNotFoundError returns an error if no key is found for the attribute
func (*KeyNotFoundError) DeepCopy ¶ added in v0.12.0
func (in *KeyNotFoundError) DeepCopy() *KeyNotFoundError
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyNotFoundError.
func (*KeyNotFoundError) DeepCopyInto ¶ added in v0.12.0
func (in *KeyNotFoundError) DeepCopyInto(out *KeyNotFoundError)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeyNotFoundError) Error ¶ added in v0.12.0
func (e *KeyNotFoundError) Error() string
type OperatorConfiguration ¶ added in v0.10.0
type OperatorConfiguration struct { // Routing defines configuration options related to DevWorkspace networking Routing *RoutingConfig `json:"routing,omitempty"` // Workspace defines configuration options related to how DevWorkspaces are // managed Workspace *WorkspaceConfig `json:"workspace,omitempty"` // Webhook defines configuration options for the DevWorkspace Webhook Server. // Note: In order for changes made to the webhook configuration to take effect: // // - The changes must be made in the global DevWorkspaceOperatorConfig, which has the // name 'devworkspace-operator-config' and exists in the same namespace where the // DevWorkspaceOperator is deployed. // // - The devworkspace-controller-manager pod must be terminated and recreated for the // DevWorkspace Webhook Server deployment to be updated. Webhook *WebhookConfig `json:"webhook,omitempty"` // EnableExperimentalFeatures turns on in-development features of the controller. // This option should generally not be enabled, as any capabilites are subject // to removal without notice. EnableExperimentalFeatures *bool `json:"enableExperimentalFeatures,omitempty"` }
OperatorConfiguration defines configuration options for the DevWorkspace Operator.
func (*OperatorConfiguration) DeepCopy ¶ added in v0.10.0
func (in *OperatorConfiguration) DeepCopy() *OperatorConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorConfiguration.
func (*OperatorConfiguration) DeepCopyInto ¶ added in v0.10.0
func (in *OperatorConfiguration) DeepCopyInto(out *OperatorConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PersistentHomeConfig ¶ added in v0.22.0
type PersistentHomeConfig struct { // Determines whether the `/home/user/` directory in workspaces should persist between // workspace shutdown and startup. // Must be used with the 'per-user'/'common' or 'per-workspace' storage class in order to take effect. // Disabled by default. Enabled *bool `json:"enabled,omitempty"` // Determines whether the init container that initializes the persistent home directory should be disabled. // When the `/home/user` directory is persisted, the init container is used to initialize the directory before // the workspace starts. If set to true, the init container will not be created. // This field is not used if the `workspace.persistUserHome.enabled` field is set to false. // Enabled by default. DisableInitContainer *bool `json:"disableInitContainer,omitempty"` }
func (*PersistentHomeConfig) DeepCopy ¶ added in v0.22.0
func (in *PersistentHomeConfig) DeepCopy() *PersistentHomeConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PersistentHomeConfig.
func (*PersistentHomeConfig) DeepCopyInto ¶ added in v0.22.0
func (in *PersistentHomeConfig) DeepCopyInto(out *PersistentHomeConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodAdditions ¶
type PodAdditions struct { // Annotations to be applied to devworkspace deployment // +optional // +patchMergeKey=name // +patchStrategy=merge Annotations map[string]string `json:"annotations,omitempty"` // Labels to be applied to devworkspace deployment // +optional // +patchMergeKey=name // +patchStrategy=merge Labels map[string]string `json:"labels,omitempty"` // Containers to add to devworkspace deployment // +optional // +patchMergeKey=name // +patchStrategy=merge Containers []v1.Container `json:"containers,omitempty"` // Init containers to add to devworkspace deployment // +optional // +patchMergeKey=name // +patchStrategy=merge InitContainers []v1.Container `json:"initContainers,omitempty"` // Volumes to add to devworkspace deployment // +optional // +patchMergeKey=name // +patchStrategy=merge Volumes []v1.Volume `json:"volumes,omitempty"` // VolumeMounts to add to all containers in a devworkspace deployment // +optional // +patchMergeKey=name // +patchStrategy=merge VolumeMounts []v1.VolumeMount `json:"volumeMounts,omitempty"` // ImagePullSecrets to add to devworkspace deployment // +optional // +patchMergeKey=name // +patchStrategy=merge PullSecrets []v1.LocalObjectReference `json:"pullSecrets,omitempty"` // Annotations for the devworkspace service account, it might be used for e.g. OpenShift oauth with SA as auth client // +optional // +patchMergeKey=name // +patchStrategy=merge ServiceAccountAnnotations map[string]string `json:"serviceAccountAnnotations,omitempty"` }
Summary of additions that are to be merged into the main devworkspace deployment
func (*PodAdditions) DeepCopy ¶
func (in *PodAdditions) DeepCopy() *PodAdditions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodAdditions.
func (*PodAdditions) DeepCopyInto ¶
func (in *PodAdditions) DeepCopyInto(out *PodAdditions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProjectCloneConfig ¶ added in v0.21.0
type ProjectCloneConfig struct { // Image is the container image to use for cloning projects Image string `json:"image,omitempty"` // ImagePullPolicy configures the imagePullPolicy for the project clone container. // If undefined, the general setting .config.workspace.imagePullPolicy is used instead. ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"` // Resources defines the resource (cpu, memory) limits and requests for the project // clone container. To explicitly not specify a limit or request, define the resource // quantity as zero ('0') Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // Env allows defining additional environment variables for the project clone container. Env []corev1.EnvVar `json:"env,omitempty"` }
func (*ProjectCloneConfig) DeepCopy ¶ added in v0.21.0
func (in *ProjectCloneConfig) DeepCopy() *ProjectCloneConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectCloneConfig.
func (*ProjectCloneConfig) DeepCopyInto ¶ added in v0.21.0
func (in *ProjectCloneConfig) DeepCopyInto(out *ProjectCloneConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Proxy ¶ added in v0.12.0
type Proxy struct { // 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 ("") HttpProxy *string `json:"httpProxy,omitempty"` // HttpsProxy is the URL of the proxy for HTTPS 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 ("") HttpsProxy *string `json:"httpsProxy,omitempty"` // 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 ("") NoProxy *string `json:"noProxy,omitempty"` }
func (*Proxy) DeepCopy ¶ added in v0.12.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Proxy.
func (*Proxy) DeepCopyInto ¶ added in v0.12.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RoutingConfig ¶ added in v0.10.0
type RoutingConfig struct { // 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. DefaultRoutingClass string `json:"defaultRoutingClass,omitempty"` // 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. ClusterHostSuffix string `json:"clusterHostSuffix,omitempty"` // 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. ProxyConfig *Proxy `json:"proxyConfig,omitempty"` // TLSCertificateConfigmapRef defines the name and namespace of the configmap with a certificate to inject into the // HTTP client. TLSCertificateConfigmapRef *ConfigmapReference `json:"tlsCertificateConfigmapRef,omitempty"` }
func (*RoutingConfig) DeepCopy ¶ added in v0.10.0
func (in *RoutingConfig) DeepCopy() *RoutingConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutingConfig.
func (*RoutingConfig) DeepCopyInto ¶ added in v0.10.0
func (in *RoutingConfig) DeepCopyInto(out *RoutingConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceAccountConfig ¶ added in v0.17.0
type ServiceAccountConfig struct { // ServiceAccountName defines a fixed name to be used for all DevWorkspaces. If set, the DevWorkspace // Operator will not generate a separate ServiceAccount for each DevWorkspace, and will instead create // a ServiceAccount with the specified name in each namespace where DevWorkspaces are created. If specified, // the created ServiceAccount will not be removed when DevWorkspaces are deleted and must be cleaned up manually. // +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ // +kubebuilder:validation:MaxLength=63 ServiceAccountName string `json:"serviceAccountName,omitempty"` // Disable creation of DevWorkspace ServiceAccounts by the DevWorkspace Operator. If set to true, the serviceAccountName // field must also be set. If ServiceAccount creation is disabled, it is assumed that the specified ServiceAccount already // exists in any namespace where a workspace is created. If a suitable ServiceAccount does not exist, starting DevWorkspaces // will fail. DisableCreation *bool `json:"disableCreation,omitempty"` // List of ServiceAccount tokens that will be mounted into workspace pods as projected volumes. ServiceAccountTokens []ServiceAccountToken `json:"serviceAccountTokens,omitempty"` }
func (*ServiceAccountConfig) DeepCopy ¶ added in v0.17.0
func (in *ServiceAccountConfig) DeepCopy() *ServiceAccountConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountConfig.
func (*ServiceAccountConfig) DeepCopyInto ¶ added in v0.17.0
func (in *ServiceAccountConfig) DeepCopyInto(out *ServiceAccountConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceAccountToken ¶ added in v0.20.0
type ServiceAccountToken struct { // 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. // +kubebuilder:validation:Required Name string `json:"name"` // Path within the workspace container at which the token should be mounted. Must // not contain ':'. // +kubebuilder:validation:Required MountPath string `json:"mountPath"` // Path is the path relative to the mount point of the file to project the // token into. // +kubebuilder:validation:Required Path string `json:"path"` // 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. // +kubebuilder:validation:Optional Audience string `json:"audience,omitempty"` // 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. // +kubebuilder:validation:Minimum=600 // +kubebuilder:default:=3600 // +kubebuilder:validation:Optional ExpirationSeconds int64 `json:"expirationSeconds,omitempty"` }
func (*ServiceAccountToken) DeepCopy ¶ added in v0.20.0
func (in *ServiceAccountToken) DeepCopy() *ServiceAccountToken
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountToken.
func (*ServiceAccountToken) DeepCopyInto ¶ added in v0.20.0
func (in *ServiceAccountToken) DeepCopyInto(out *ServiceAccountToken)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ServiceAccountToken) String ¶ added in v0.20.0
func (saToken ServiceAccountToken) String() string
type StorageSizes ¶ added in v0.15.0
type StorageSizes struct { // The default Persistent Volume Claim size for the "common" storage class. // Note that the "async" storage class also uses the PVC size set for the "common" storage class. // If not specified, the "common" and "async" Persistent Volume Claim sizes are set to 10Gi Common *resource.Quantity `json:"common,omitempty"` // The default Persistent Volume Claim size for the "per-workspace" storage class. // If not specified, the "per-workspace" Persistent Volume Claim size is set to 5Gi PerWorkspace *resource.Quantity `json:"perWorkspace,omitempty"` }
func (*StorageSizes) DeepCopy ¶ added in v0.15.0
func (in *StorageSizes) DeepCopy() *StorageSizes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageSizes.
func (*StorageSizes) DeepCopyInto ¶ added in v0.15.0
func (in *StorageSizes) DeepCopyInto(out *StorageSizes)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WebhookConfig ¶ added in v0.30.0
type WebhookConfig struct { // NodeSelector defines the map of Kubernetes nodeSelectors to apply to the DevWorkspace Webhook // Server pod(s). // No NodeSelectors are added by default. // +kubebuilder:validation:Optional NodeSelector map[string]string `json:"nodeSelector,omitempty"` // Tolerations defines the array of Kubernetes pod tolerations to apply to the DevWorkspace Webhook // Server pod(s). // No Tolerations are added by default. // +kubebuilder:validation:Optional Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // Replicas defines the number of desired DevWorkspace Webhook Server pods. // Defaults to 2. // +kubebuilder:validation:Minimum=1 // +kubebuilder:default:=2 // +kubebuilder:validation:Optional Replicas *int32 `json:"replicas,omitempty"` }
func (*WebhookConfig) DeepCopy ¶ added in v0.30.0
func (in *WebhookConfig) DeepCopy() *WebhookConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookConfig.
func (*WebhookConfig) DeepCopyInto ¶ added in v0.30.0
func (in *WebhookConfig) DeepCopyInto(out *WebhookConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkspaceConfig ¶ added in v0.10.0
type WorkspaceConfig struct { // ProjectCloneConfig defines configuration related to the project clone init container // that is used to clone git projects into the DevWorkspace. ProjectCloneConfig *ProjectCloneConfig `json:"projectClone,omitempty"` // 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. // +kubebuilder:validation:Enum=IfNotPresent;Always;Never ImagePullPolicy string `json:"imagePullPolicy,omitempty"` // DeploymentStrategy defines the deployment strategy to use to replace existing DevWorkspace 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. // +kubebuilder:validation:Enum=Recreate;RollingUpdate DeploymentStrategy appsv1.DeploymentStrategyType `json:"deploymentStrategy,omitempty"` // 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. // Note that changing this configuration value after workspaces have been // created will disconnect all existing workspaces from the previously-used // persistent volume claim, and will require manual removal of the old PVCs // in the cluster. // +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ // +kubebuilder:validation:MaxLength=63 PVCName string `json:"pvcName,omitempty"` // ServiceAccount defines configuration options for the ServiceAccount used for // DevWorkspaces. ServiceAccount *ServiceAccountConfig `json:"serviceAccount,omitempty"` // StorageClassName defines an optional storageClass to use for persistent // volume claims created to support DevWorkspaces StorageClassName *string `json:"storageClassName,omitempty"` // DefaultStorageSize defines an optional struct with fields to specify the sizes of Persistent Volume Claims for storage // classes used by DevWorkspaces. DefaultStorageSize *StorageSizes `json:"defaultStorageSize,omitempty"` // PersistUserHome defines configuration options for persisting the `/home/user/` // directory in workspaces. PersistUserHome *PersistentHomeConfig `json:"persistUserHome,omitempty"` // 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. IdleTimeout string `json:"idleTimeout,omitempty"` // 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 parseable by Go's time package, e.g. // "15m", "20s", "1h30m", etc. If not specified, the default value of "5m" is used. ProgressTimeout string `json:"progressTimeout,omitempty"` // 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 (for example, if // the cluster occasionally encounters FailedScheduling events). Events listed // here will not trigger DevWorkspace failures. IgnoredUnrecoverableEvents []string `json:"ignoredUnrecoverableEvents,omitempty"` // CleanupOnStop governs how the Operator handles stopped DevWorkspaces. If set to // true, additional resources associated with a DevWorkspace (e.g. services, deployments, // configmaps, etc.) will be removed from the cluster when a DevWorkspace has // .spec.started = false. If set to false, resources will be scaled down (e.g. deployments // but the objects will be left on the cluster). The default value is false. CleanupOnStop *bool `json:"cleanupOnStop,omitempty"` // 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 PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"` // 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 ContainerSecurityContext *corev1.SecurityContext `json:"containerSecurityContext,omitempty"` // 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). DefaultTemplate *dw.DevWorkspaceTemplateSpecContent `json:"defaultTemplate,omitempty"` // 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. SchedulerName string `json:"schedulerName,omitempty"` // DefaultContainerResources defines the resource requirements (memory/cpu limit/request) used for // container components that do not define limits or requests. In order to not set a field by default, // the value "0" should be used. By default, the memory limit is 128Mi and the memory request is 64Mi. // No CPU limit or request is added by default. DefaultContainerResources *corev1.ResourceRequirements `json:"defaultContainerResources,omitempty"` // PodAnnotations defines the metadata.annotations for DevWorkspace pods created by the DevWorkspace Operator. PodAnnotations map[string]string `json:"podAnnotations,omitempty"` // RuntimeClassName defines the spec.runtimeClassName for DevWorkspace pods created by the DevWorkspace Operator. RuntimeClassName *string `json:"runtimeClassName,omitempty"` }
func (*WorkspaceConfig) DeepCopy ¶ added in v0.10.0
func (in *WorkspaceConfig) DeepCopy() *WorkspaceConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkspaceConfig.
func (*WorkspaceConfig) DeepCopyInto ¶ added in v0.10.0
func (in *WorkspaceConfig) DeepCopyInto(out *WorkspaceConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.