Documentation ¶
Overview ¶
Copyright (c) 2019-2021 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Package v1alpha1 contains API Schema definitions for the controller v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=controller.devfile.io
Copyright (c) 2019-2021 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Package v1alpha1 contains API Schema definitions for the controller v1alpha1 API group +kubebuilder:object:generate=true +groupName=controller.devfile.io
Index ¶
- Constants
- Variables
- type DevWorkspaceOperatorConfig
- type DevWorkspaceOperatorConfigList
- type DevWorkspaceRouting
- type DevWorkspaceRoutingClass
- type DevWorkspaceRoutingList
- type DevWorkspaceRoutingPhase
- type DevWorkspaceRoutingSpec
- type DevWorkspaceRoutingStatus
- type EndpointAttribute
- type EndpointList
- type EndpointType
- type ExposedEndpoint
- type ExposedEndpointList
- type OperatorConfiguration
- type PodAdditions
- type RoutingConfig
- 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 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" )
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 EndpointAttribute ¶
type EndpointAttribute string
type EndpointList ¶
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 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 devfileAttr.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 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"` // 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 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 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"` }
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 WorkspaceConfig ¶ added in v0.10.0
type WorkspaceConfig struct { // 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"` // 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. // +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ // +kubebuilder:validation:MaxLength=63 PVCName string `json:"pvcName,omitempty"` // StorageClassName defines and optional storageClass to use for persistent // volume claims created to support DevWorkspaces StorageClassName *string `json:"storageClassName,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"` }
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.