v1alpha1

package
v0.4.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 12, 2021 License: EPL-2.0 Imports: 7 Imported by: 7

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

This section is empty.

Variables

View Source
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 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

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"`
	// Routing suffix for cluster
	RoutingSuffix string `json:"routingSuffix"`
	// 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

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DevWorkspaceRoutingStatus.

func (*DevWorkspaceRoutingStatus) DeepCopyInto added in v0.2.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EndpointAttribute

type EndpointAttribute string
const (
	// TypeEndpointAttribute is an attribute used for devfile endpoints that specifies the endpoint type.
	// values used are `terminal` for terminal plugins, and `ide` for the main IDE url. Other values
	// can be used for special cases (e.g. ide-dev for Theia)
	TypeEndpointAttribute EndpointAttribute = "type"

	// 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"
)

type EndpointList

type EndpointList []dw.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 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

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 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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL