Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the org v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=workspace.devfile.io
Package v1alpha1 contains API Schema definitions for the org v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=workspace.devfile.io
Index ¶
- Variables
- type ApplyCommand
- type BaseCommand
- type BaseComponent
- type CheckoutFrom
- type Command
- type CommandGroup
- type CommandGroupKind
- type CommandType
- type CommandVisitor
- type CommonProjectSource
- type Component
- type ComponentType
- type ComponentVisitor
- type CompositeCommand
- type Container
- type ContainerComponent
- type CustomCommand
- type CustomComponent
- type CustomProjectSource
- type DevWorkspace
- type DevWorkspaceList
- type DevWorkspaceSpec
- type DevWorkspaceStatus
- type DevWorkspaceTemplate
- func (dest *DevWorkspaceTemplate) ConvertFrom(srcRaw conversion.Hub) error
- func (src *DevWorkspaceTemplate) ConvertTo(destRaw conversion.Hub) error
- func (in *DevWorkspaceTemplate) DeepCopy() *DevWorkspaceTemplate
- func (in *DevWorkspaceTemplate) DeepCopyInto(out *DevWorkspaceTemplate)
- func (in *DevWorkspaceTemplate) DeepCopyObject() runtime.Object
- type DevWorkspaceTemplateList
- type DevWorkspaceTemplateSpec
- type DevWorkspaceTemplateSpecContent
- type Endpoint
- type EndpointExposure
- type EndpointProtocol
- type EnvVar
- type Events
- type ExecCommand
- type GitLikeProjectSource
- type GitProjectSource
- type GithubProjectSource
- type ImportReference
- type ImportReferenceType
- type ImportReferenceUnion
- func (in *ImportReferenceUnion) DeepCopy() *ImportReferenceUnion
- func (in *ImportReferenceUnion) DeepCopyInto(out *ImportReferenceUnion)
- func (union *ImportReferenceUnion) Normalize() error
- func (union *ImportReferenceUnion) Simplify()
- func (union ImportReferenceUnion) Visit(visitor ImportReferenceUnionVisitor) error
- type ImportReferenceUnionVisitor
- type K8sLikeComponent
- type K8sLikeComponentLocation
- func (in *K8sLikeComponentLocation) DeepCopy() *K8sLikeComponentLocation
- func (in *K8sLikeComponentLocation) DeepCopyInto(out *K8sLikeComponentLocation)
- func (union *K8sLikeComponentLocation) Normalize() error
- func (union *K8sLikeComponentLocation) Simplify()
- func (union K8sLikeComponentLocation) Visit(visitor K8sLikeComponentLocationVisitor) error
- type K8sLikeComponentLocationType
- type K8sLikeComponentLocationVisitor
- type Keyed
- type KubernetesComponent
- type KubernetesCustomResourceImportReference
- type LabeledCommand
- type OpenshiftComponent
- type OverrideDirective
- type Overrides
- type OverridesBase
- type OverridingPatchDirective
- type Parent
- type PluginComponent
- type PluginComponentsOverride
- func (in *PluginComponentsOverride) DeepCopy() *PluginComponentsOverride
- func (in *PluginComponentsOverride) DeepCopyInto(out *PluginComponentsOverride)
- func (union PluginComponentsOverride) Key() (string, error)
- func (union *PluginComponentsOverride) Normalize() error
- func (union *PluginComponentsOverride) Simplify()
- func (union PluginComponentsOverride) Visit(visitor PluginComponentsOverrideVisitor) error
- type PluginComponentsOverrideType
- type PluginComponentsOverrideVisitor
- type PluginOverrides
- type Project
- type ProjectSource
- type ProjectSourceType
- type ProjectSourceVisitor
- type StarterProject
- type Union
- type Volume
- type VolumeComponent
- type VolumeMount
- type VscodeConfigurationCommand
- type VscodeConfigurationCommandLocation
- func (in *VscodeConfigurationCommandLocation) DeepCopy() *VscodeConfigurationCommandLocation
- func (in *VscodeConfigurationCommandLocation) DeepCopyInto(out *VscodeConfigurationCommandLocation)
- func (union *VscodeConfigurationCommandLocation) Normalize() error
- func (union *VscodeConfigurationCommandLocation) Simplify()
- func (union VscodeConfigurationCommandLocation) Visit(visitor VscodeConfigurationCommandLocation) error
- type VscodeConfigurationCommandLocationType
- type VscodeConfigurationCommandLocationVisitor
- type WorkspaceCondition
- type WorkspaceConditionType
- type WorkspaceEvents
- type WorkspacePhase
- type ZipProjectSource
Constants ¶
This section is empty.
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: "workspace.devfile.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type ApplyCommand ¶
type ApplyCommand struct { LabeledCommand `json:",inline"` // Describes component that will be applied Component string `json:"component,omitempty"` }
func (*ApplyCommand) DeepCopy ¶
func (in *ApplyCommand) DeepCopy() *ApplyCommand
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplyCommand.
func (*ApplyCommand) DeepCopyInto ¶
func (in *ApplyCommand) DeepCopyInto(out *ApplyCommand)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BaseCommand ¶
type BaseCommand struct { // Mandatory identifier that allows referencing // this command in composite commands, from // a parent, or in events. Id string `json:"id"` // +optional // Defines the group this command is part of Group *CommandGroup `json:"group,omitempty"` // Optional map of free-form additional command attributes Attributes map[string]string `json:"attributes,omitempty"` }
func (*BaseCommand) DeepCopy ¶
func (in *BaseCommand) DeepCopy() *BaseCommand
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaseCommand.
func (*BaseCommand) DeepCopyInto ¶
func (in *BaseCommand) DeepCopyInto(out *BaseCommand)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BaseComponent ¶
type BaseComponent struct { }
Workspace component: Anything that will bring additional features / tooling / behaviour / context to the workspace, in order to make working in it easier.
func (*BaseComponent) DeepCopy ¶
func (in *BaseComponent) DeepCopy() *BaseComponent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaseComponent.
func (*BaseComponent) DeepCopyInto ¶
func (in *BaseComponent) DeepCopyInto(out *BaseComponent)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CheckoutFrom ¶
type CheckoutFrom struct { // The revision to checkout from. Should be branch name, tag or commit id. // Default branch is used if missing or specified revision is not found. // +optional Revision string `json:"revision,omitempty"` // The remote name should be used as init. Required if there are more than one remote configured // +optional Remote string `json:"remote,omitempty"` }
func (*CheckoutFrom) DeepCopy ¶
func (in *CheckoutFrom) DeepCopy() *CheckoutFrom
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CheckoutFrom.
func (*CheckoutFrom) DeepCopyInto ¶
func (in *CheckoutFrom) DeepCopyInto(out *CheckoutFrom)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Command ¶
type Command struct { // Type of workspace command // +unionDiscriminator // +optional CommandType CommandType `json:"commandType,omitempty"` // CLI Command executed in an existing component container // +optional Exec *ExecCommand `json:"exec,omitempty"` // Command that consists in applying a given component definition, // typically bound to a workspace event. // // For example, when an `apply` command is bound to a `preStart` event, // and references a `container` component, it will start the container as a // K8S initContainer in the workspace POD, unless the component has its // `dedicatedPod` field set to `true`. // // When no `apply` command exist for a given component, // it is assumed the component will be applied at workspace start // by default. // +optional Apply *ApplyCommand `json:"apply,omitempty"` // Command providing the definition of a VsCode Task // // Deprecated; removed in v1alpha2 // +optional VscodeTask *VscodeConfigurationCommand `json:"vscodeTask,omitempty"` // Command providing the definition of a VsCode launch action // // Deprecated; removed in v1alpha2 // +optional VscodeLaunch *VscodeConfigurationCommand `json:"vscodeLaunch,omitempty"` // Composite command that allows executing several sub-commands // either sequentially or concurrently // +optional Composite *CompositeCommand `json:"composite,omitempty"` // Custom command whose logic is implementation-dependant // and should be provided by the user // possibly through some dedicated plugin // +optional Custom *CustomCommand `json:"custom,omitempty"` }
+k8s:openapi-gen=true +union
func (*Command) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Command.
func (*Command) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Command) Visit ¶
func (union Command) Visit(visitor CommandVisitor) error
type CommandGroup ¶
type CommandGroup struct { // Kind of group the command is part of Kind CommandGroupKind `json:"kind"` // +optional // Identifies the default command for a given group kind IsDefault bool `json:"isDefault,omitempty"` }
func (*CommandGroup) DeepCopy ¶
func (in *CommandGroup) DeepCopy() *CommandGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommandGroup.
func (*CommandGroup) DeepCopyInto ¶
func (in *CommandGroup) DeepCopyInto(out *CommandGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CommandGroupKind ¶
type CommandGroupKind string
CommandGroupKind describes the kind of command group. +kubebuilder:validation:Enum=build;run;test;debug
const ( BuildCommandGroupKind CommandGroupKind = "build" RunCommandGroupKind CommandGroupKind = "run" TestCommandGroupKind CommandGroupKind = "test" DebugCommandGroupKind CommandGroupKind = "debug" )
type CommandType ¶
type CommandType string
CommandType describes the type of command. Only one of the following command type may be specified. +kubebuilder:validation:Enum=Exec;Apply;VscodeTask;VscodeLaunch;Composite;Custom
const ( ExecCommandType CommandType = "Exec" ApplyCommandType CommandType = "Apply" VscodeTaskCommandType CommandType = "VscodeTask" VscodeLaunchCommandType CommandType = "VscodeLaunch" CompositeCommandType CommandType = "Composite" CustomCommandType CommandType = "Custom" )
type CommandVisitor ¶
type CommandVisitor struct { Apply func(*ApplyCommand) error Exec func(*ExecCommand) error VscodeTask func(*VscodeConfigurationCommand) error VscodeLaunch func(*VscodeConfigurationCommand) error Composite func(*CompositeCommand) error Custom func(*CustomCommand) error }
+k8s:deepcopy-gen=false
type CommonProjectSource ¶
type CommonProjectSource struct { // Part of project to populate in the working directory. // +optional SparseCheckoutDir string `json:"sparseCheckoutDir,omitempty"` }
func (*CommonProjectSource) DeepCopy ¶
func (in *CommonProjectSource) DeepCopy() *CommonProjectSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonProjectSource.
func (*CommonProjectSource) DeepCopyInto ¶
func (in *CommonProjectSource) DeepCopyInto(out *CommonProjectSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Component ¶
type Component struct { // Type of component // // +unionDiscriminator // +optional ComponentType ComponentType `json:"componentType,omitempty"` // Allows adding and configuring workspace-related containers // +optional Container *ContainerComponent `json:"container,omitempty"` // Allows specifying the definition of a volume // shared by several other components // +optional Volume *VolumeComponent `json:"volume,omitempty"` // Allows importing a plugin. // // Plugins are mainly imported devfiles that contribute components, commands // and events as a consistent single unit. They are defined in either YAML files // following the devfile syntax, // or as `DevWorkspaceTemplate` Kubernetes Custom Resources // +optional Plugin *PluginComponent `json:"plugin,omitempty"` // Allows importing into the workspace the Kubernetes resources // defined in a given manifest. For example this allows reusing the Kubernetes // definitions used to deploy some runtime components in production. // // +optional Kubernetes *KubernetesComponent `json:"kubernetes,omitempty"` // Allows importing into the workspace the OpenShift resources // defined in a given manifest. For example this allows reusing the OpenShift // definitions used to deploy some runtime components in production. // // +optional Openshift *OpenshiftComponent `json:"openshift,omitempty"` // Custom component whose logic is implementation-dependant // and should be provided by the user // possibly through some dedicated controller // +optional Custom *CustomComponent `json:"custom,omitempty"` }
+k8s:openapi-gen=true +union
func (*Component) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Component.
func (*Component) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Component) Visit ¶
func (union Component) Visit(visitor ComponentVisitor) error
type ComponentType ¶
type ComponentType string
ComponentType describes the type of component. Only one of the following component type may be specified. +kubebuilder:validation:Enum=Container;Kubernetes;Openshift;Volume;Plugin;Custom
const ( ContainerComponentType ComponentType = "Container" KubernetesComponentType ComponentType = "Kubernetes" OpenshiftComponentType ComponentType = "Openshift" PluginComponentType ComponentType = "Plugin" VolumeComponentType ComponentType = "Volume" CustomComponentType ComponentType = "Custom" )
type ComponentVisitor ¶
type ComponentVisitor struct { Container func(*ContainerComponent) error Plugin func(*PluginComponent) error Volume func(*VolumeComponent) error Kubernetes func(*KubernetesComponent) error Openshift func(*OpenshiftComponent) error Custom func(*CustomComponent) error }
+k8s:deepcopy-gen=false
type CompositeCommand ¶
type CompositeCommand struct { LabeledCommand `json:",inline"` // The commands that comprise this composite command Commands []string `json:"commands,omitempty" patchStrategy:"replace"` // Indicates if the sub-commands should be executed concurrently // +optional Parallel bool `json:"parallel,omitempty"` }
func (*CompositeCommand) DeepCopy ¶
func (in *CompositeCommand) DeepCopy() *CompositeCommand
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompositeCommand.
func (*CompositeCommand) DeepCopyInto ¶
func (in *CompositeCommand) DeepCopyInto(out *CompositeCommand)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Container ¶
type Container struct { Name string `json:"name"` Image string `json:"image,omitempty"` // +optional // Environment variables used in this container Env []EnvVar `json:"env,omitempty" patchStrategy:"merge" patchMergeKey:"name"` // +optional // List of volumes mounts that should be mounted is this container. VolumeMounts []VolumeMount `json:"volumeMounts,omitempty" patchStrategy:"merge" patchMergeKey:"name"` // +optional MemoryLimit string `json:"memoryLimit,omitempty"` // The command to run in the dockerimage component instead of the default one provided in the image. // // Defaults to an empty array, meaning use whatever is defined in the image. // +optional Command []string `json:"command,omitempty" patchStrategy:"replace"` // The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. // // Defaults to an empty array, meaning use whatever is defined in the image. // +optional Args []string `json:"args,omitempty" patchStrategy:"replace"` // +optional MountSources bool `json:"mountSources,omitempty"` // Optional specification of the path in the container where // project sources should be transferred/mounted when `mountSources` is `true`. // When omitted, the value of the `PROJECTS_ROOT` environment variable is used. // +optional SourceMapping string `json:"sourceMapping,omitempty"` // Specify if a container should run in its own separated pod, // instead of running as part of the main development environment pod. // // Default value is `false` // +optional DedicatedPod bool `json:"dedicatedPod,omitempty"` }
func (*Container) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Container.
func (*Container) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerComponent ¶
type ContainerComponent struct { BaseComponent `json:",inline"` Container `json:",inline"` Endpoints []Endpoint `json:"endpoints,omitempty" patchStrategy:"merge" patchMergeKey:"name"` }
Component that allows the developer to add a configured container into his workspace
func (*ContainerComponent) DeepCopy ¶
func (in *ContainerComponent) DeepCopy() *ContainerComponent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerComponent.
func (*ContainerComponent) DeepCopyInto ¶
func (in *ContainerComponent) DeepCopyInto(out *ContainerComponent)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CustomCommand ¶
type CustomCommand struct { LabeledCommand `json:",inline"` // Class of command that the associated implementation component // should use to process this command with the appropriate logic CommandClass string `json:"commandClass"` // Additional free-form configuration for this custom command // that the implementation component will know how to use // // +kubebuilder:pruning:PreserveUnknownFields // +kubebuilder:validation:EmbeddedResource EmbeddedResource runtime.RawExtension `json:"embeddedResource"` }
func (*CustomCommand) DeepCopy ¶
func (in *CustomCommand) DeepCopy() *CustomCommand
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomCommand.
func (*CustomCommand) DeepCopyInto ¶
func (in *CustomCommand) DeepCopyInto(out *CustomCommand)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CustomComponent ¶
type CustomComponent struct { // Mandatory name that allows referencing the component // in commands, or inside a parent Name string `json:"name"` // Class of component that the associated implementation controller // should use to process this command with the appropriate logic ComponentClass string `json:"componentClass"` // Additional free-form configuration for this custom component // that the implementation controller will know how to use // // +kubebuilder:pruning:PreserveUnknownFields // +kubebuilder:validation:EmbeddedResource EmbeddedResource runtime.RawExtension `json:"embeddedResource"` }
func (*CustomComponent) DeepCopy ¶
func (in *CustomComponent) DeepCopy() *CustomComponent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomComponent.
func (*CustomComponent) DeepCopyInto ¶
func (in *CustomComponent) DeepCopyInto(out *CustomComponent)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CustomProjectSource ¶
type CustomProjectSource struct { ProjectSourceClass string `json:"projectSourceClass"` // +kubebuilder:pruning:PreserveUnknownFields // +kubebuilder:validation:EmbeddedResource EmbeddedResource runtime.RawExtension `json:"embeddedResource"` }
func (*CustomProjectSource) DeepCopy ¶
func (in *CustomProjectSource) DeepCopy() *CustomProjectSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomProjectSource.
func (*CustomProjectSource) DeepCopyInto ¶
func (in *CustomProjectSource) DeepCopyInto(out *CustomProjectSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DevWorkspace ¶
type DevWorkspace struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DevWorkspaceSpec `json:"spec,omitempty"` Status DevWorkspaceStatus `json:"status,omitempty"` }
DevWorkspace is the Schema for the devworkspaces API +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:path=devworkspaces,scope=Namespaced +kubebuilder:printcolumn:name="Workspace ID",type="string",JSONPath=".status.workspaceId",description="The workspace's unique id" +kubebuilder:printcolumn:name="Phase",type="string",JSONPath=".status.phase",description="The current workspace startup phase" +kubebuilder:printcolumn:name="URL",type="string",JSONPath=".status.ideUrl",description="Url endpoint for accessing workspace"
func (*DevWorkspace) ConvertFrom ¶
func (dest *DevWorkspace) ConvertFrom(srcRaw conversion.Hub) error
func (*DevWorkspace) ConvertTo ¶
func (src *DevWorkspace) ConvertTo(destRaw conversion.Hub) error
func (*DevWorkspace) DeepCopy ¶
func (in *DevWorkspace) DeepCopy() *DevWorkspace
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DevWorkspace.
func (*DevWorkspace) DeepCopyInto ¶
func (in *DevWorkspace) DeepCopyInto(out *DevWorkspace)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DevWorkspace) DeepCopyObject ¶
func (in *DevWorkspace) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DevWorkspaceList ¶
type DevWorkspaceList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []DevWorkspace `json:"items"` }
DevWorkspaceList contains a list of DevWorkspace
func (*DevWorkspaceList) DeepCopy ¶
func (in *DevWorkspaceList) DeepCopy() *DevWorkspaceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DevWorkspaceList.
func (*DevWorkspaceList) DeepCopyInto ¶
func (in *DevWorkspaceList) DeepCopyInto(out *DevWorkspaceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DevWorkspaceList) DeepCopyObject ¶
func (in *DevWorkspaceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DevWorkspaceSpec ¶
type DevWorkspaceSpec struct { Started bool `json:"started"` RoutingClass string `json:"routingClass,omitempty"` Template DevWorkspaceTemplateSpec `json:"template,omitempty"` }
DevWorkspaceSpec defines the desired state of DevWorkspace +k8s:openapi-gen=true
func (*DevWorkspaceSpec) DeepCopy ¶
func (in *DevWorkspaceSpec) DeepCopy() *DevWorkspaceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DevWorkspaceSpec.
func (*DevWorkspaceSpec) DeepCopyInto ¶
func (in *DevWorkspaceSpec) DeepCopyInto(out *DevWorkspaceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DevWorkspaceStatus ¶
type DevWorkspaceStatus struct { // Id of the workspace WorkspaceId string `json:"workspaceId"` // URL at which the Worksace Editor can be joined IdeUrl string `json:"ideUrl,omitempty"` Phase WorkspacePhase `json:"phase,omitempty"` // Conditions represent the latest available observations of an object's state Conditions []WorkspaceCondition `json:"conditions,omitempty"` // Message is a short user-readable message giving additional information // about an object's state Message string `json:"message,omitempty"` }
DevWorkspaceStatus defines the observed state of DevWorkspace +k8s:openapi-gen=true
func (*DevWorkspaceStatus) DeepCopy ¶
func (in *DevWorkspaceStatus) DeepCopy() *DevWorkspaceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DevWorkspaceStatus.
func (*DevWorkspaceStatus) DeepCopyInto ¶
func (in *DevWorkspaceStatus) DeepCopyInto(out *DevWorkspaceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DevWorkspaceTemplate ¶
type DevWorkspaceTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DevWorkspaceTemplateSpec `json:"spec,omitempty"` }
DevWorkspaceTemplate is the Schema for the devworkspacetemplates API +k8s:openapi-gen=true +kubebuilder:resource:path=devworkspacetemplates,scope=Namespaced,shortName=dwt
func (*DevWorkspaceTemplate) ConvertFrom ¶
func (dest *DevWorkspaceTemplate) ConvertFrom(srcRaw conversion.Hub) error
func (*DevWorkspaceTemplate) ConvertTo ¶
func (src *DevWorkspaceTemplate) ConvertTo(destRaw conversion.Hub) error
func (*DevWorkspaceTemplate) DeepCopy ¶
func (in *DevWorkspaceTemplate) DeepCopy() *DevWorkspaceTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DevWorkspaceTemplate.
func (*DevWorkspaceTemplate) DeepCopyInto ¶
func (in *DevWorkspaceTemplate) DeepCopyInto(out *DevWorkspaceTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DevWorkspaceTemplate) DeepCopyObject ¶
func (in *DevWorkspaceTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DevWorkspaceTemplateList ¶
type DevWorkspaceTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []DevWorkspaceTemplate `json:"items"` }
DevWorkspaceTemplateList contains a list of DevWorkspaceTemplate
func (*DevWorkspaceTemplateList) DeepCopy ¶
func (in *DevWorkspaceTemplateList) DeepCopy() *DevWorkspaceTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DevWorkspaceTemplateList.
func (*DevWorkspaceTemplateList) DeepCopyInto ¶
func (in *DevWorkspaceTemplateList) DeepCopyInto(out *DevWorkspaceTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DevWorkspaceTemplateList) DeepCopyObject ¶
func (in *DevWorkspaceTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DevWorkspaceTemplateSpec ¶
type DevWorkspaceTemplateSpec struct { // Parent workspace template // +optional Parent *Parent `json:"parent,omitempty"` DevWorkspaceTemplateSpecContent `json:",inline"` }
Structure of the workspace. This is also the specification of a workspace template. +k8s:openapi-gen=true
func (*DevWorkspaceTemplateSpec) DeepCopy ¶
func (in *DevWorkspaceTemplateSpec) DeepCopy() *DevWorkspaceTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DevWorkspaceTemplateSpec.
func (*DevWorkspaceTemplateSpec) DeepCopyInto ¶
func (in *DevWorkspaceTemplateSpec) DeepCopyInto(out *DevWorkspaceTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DevWorkspaceTemplateSpecContent ¶
type DevWorkspaceTemplateSpecContent struct { // Predefined, ready-to-use, workspace-related commands // +optional // Commands []Command `json:"commands,omitempty" patchStrategy:"merge" patchMergeKey:"id"` // Bindings of commands to events. // Each command is referred-to by its name. // +optional Events *Events `json:"events,omitempty"` // Projects worked on in the workspace, containing names and sources locations // +optional Projects []Project `json:"projects,omitempty" patchStrategy:"merge" patchMergeKey:"name"` // StarterProjects is a project that can be used as a starting point when bootstrapping new projects // +optional StarterProjects []StarterProject `json:"starterProjects,omitempty"` // List of the workspace components, such as editor and plugins, // user-provided containers, or other types of components // +optional Components []Component `json:"components,omitempty" patchStrategy:"merge" patchMergeKey:"name"` }
func (*DevWorkspaceTemplateSpecContent) DeepCopy ¶
func (in *DevWorkspaceTemplateSpecContent) DeepCopy() *DevWorkspaceTemplateSpecContent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DevWorkspaceTemplateSpecContent.
func (*DevWorkspaceTemplateSpecContent) DeepCopyInto ¶
func (in *DevWorkspaceTemplateSpecContent) DeepCopyInto(out *DevWorkspaceTemplateSpecContent)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Endpoint ¶
type Endpoint struct { Name string `json:"name"` // +optional TargetPort int `json:"targetPort,omitempty"` // 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 workspace 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 workspace POD, on a local address. // // Default value is `public` // +optional 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 Protocol string `json:"protocol,omitempty"` // Describes whether the endpoint should be secured and protected by some // authentication process // +optional 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 Attributes map[string]string `json:"attributes,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 EndpointExposure ¶
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 workspace 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 workspace POD, on a local address. NoneEndpointExposure EndpointExposure = "none" )
type EndpointProtocol ¶
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;ws;tcp;udp
const ( // 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` HTTPEndpointProtocol EndpointProtocol = "http" // Endpoint will have `https` traffic, typically on a TCP connection HTTPSEndpointProtocol EndpointProtocol = "https" // 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` WSEndpointProtocol EndpointProtocol = "ws" // Endpoint will have `wss` traffic, typically on a TCP connection WSSEndpointProtocol EndpointProtocol = "wss" // Endpoint will have traffic on a TCP connection, // without specifying an application protocol TCPEndpointProtocol EndpointProtocol = "tcp" // Endpoint will have traffic on an UDP connection, // without specifying an application protocol UDPEndpointProtocol EndpointProtocol = "udp" )
type EnvVar ¶
type EnvVar struct { Name string `json:"name" yaml:"name"` Value string `json:"value" yaml:"value"` }
func (*EnvVar) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvVar.
func (*EnvVar) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Events ¶
type Events struct {
WorkspaceEvents `json:",inline"`
}
func (*Events) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Events.
func (*Events) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExecCommand ¶
type ExecCommand struct { LabeledCommand `json:",inline"` // The actual command-line string // // Special variables that can be used: // // - `$PROJECTS_ROOT`: A path where projects sources are mounted // // - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. CommandLine string `json:"commandLine,omitempty"` // Describes component to which given action relates Component string `json:"component,omitempty"` // Working directory where the command should be executed // // Special variables that can be used: // // - `${PROJECTS_ROOT}`: A path where projects sources are mounted // // - `${PROJECT_SOURCE}`: A path to a project source (${PROJECTS_ROOT}/<project-name>). If there are multiple projects, this will point to the directory of the first one. WorkingDir string `json:"workingDir,omitempty"` // +optional // Optional list of environment variables that have to be set // before running the command Env []EnvVar `json:"env,omitempty" patchStrategy:"merge" patchMergeKey:"name"` // +optional // Whether the command is capable to reload itself when source code changes. // If set to `true` the command won't be restarted and it is expected to handle file changes on its own. // // Default value is `false` HotReloadCapable bool `json:"hotReloadCapable,omitempty"` }
func (*ExecCommand) DeepCopy ¶
func (in *ExecCommand) DeepCopy() *ExecCommand
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecCommand.
func (*ExecCommand) DeepCopyInto ¶
func (in *ExecCommand) DeepCopyInto(out *ExecCommand)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitLikeProjectSource ¶
type GitLikeProjectSource struct { CommonProjectSource `json:",inline"` // Defines from what the project should be checked out. Required if there are more than one remote configured // +optional CheckoutFrom *CheckoutFrom `json:"checkoutFrom,omitempty"` // The remotes map which should be initialized in the git project. Must have at least one remote configured // +optional Remotes map[string]string `json:"remotes,omitempty"` }
func (*GitLikeProjectSource) DeepCopy ¶
func (in *GitLikeProjectSource) DeepCopy() *GitLikeProjectSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitLikeProjectSource.
func (*GitLikeProjectSource) DeepCopyInto ¶
func (in *GitLikeProjectSource) DeepCopyInto(out *GitLikeProjectSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitProjectSource ¶
type GitProjectSource struct {
GitLikeProjectSource `json:",inline"`
}
func (*GitProjectSource) DeepCopy ¶
func (in *GitProjectSource) DeepCopy() *GitProjectSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitProjectSource.
func (*GitProjectSource) DeepCopyInto ¶
func (in *GitProjectSource) DeepCopyInto(out *GitProjectSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GithubProjectSource ¶
type GithubProjectSource struct {
GitLikeProjectSource `json:",inline"`
}
func (*GithubProjectSource) DeepCopy ¶
func (in *GithubProjectSource) DeepCopy() *GithubProjectSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GithubProjectSource.
func (*GithubProjectSource) DeepCopyInto ¶
func (in *GithubProjectSource) DeepCopyInto(out *GithubProjectSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImportReference ¶
type ImportReference struct { ImportReferenceUnion `json:",inline"` // +optional RegistryUrl string `json:"registryUrl,omitempty"` }
func (*ImportReference) DeepCopy ¶
func (in *ImportReference) DeepCopy() *ImportReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImportReference.
func (*ImportReference) DeepCopyInto ¶
func (in *ImportReference) DeepCopyInto(out *ImportReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImportReferenceType ¶
type ImportReferenceType string
ImportReferenceType describes the type of location from where the referenced template structure should be retrieved. Only one of the following parent locations may be specified. +kubebuilder:validation:Enum=Uri;Id;Kubernetes
const ( UriImportReferenceType ImportReferenceType = "Uri" IdImportReferenceType ImportReferenceType = "Id" KubernetesImportReferenceType ImportReferenceType = "Kubernetes" )
type ImportReferenceUnion ¶
type ImportReferenceUnion struct { // type of location from where the referenced template structure should be retrieved // + // +unionDiscriminator // +optional ImportReferenceType ImportReferenceType `json:"importReferenceType,omitempty"` // Uri of a Devfile yaml file // +optional Uri string `json:"uri,omitempty"` // Id in a registry that contains a Devfile yaml file // +optional Id string `json:"id,omitempty"` // Reference to a Kubernetes CRD of type DevWorkspaceTemplate // +optional Kubernetes *KubernetesCustomResourceImportReference `json:"kubernetes,omitempty"` }
Location from where the an import reference is retrieved +k8s:openapi-gen=true +union
func (*ImportReferenceUnion) DeepCopy ¶
func (in *ImportReferenceUnion) DeepCopy() *ImportReferenceUnion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImportReferenceUnion.
func (*ImportReferenceUnion) DeepCopyInto ¶
func (in *ImportReferenceUnion) DeepCopyInto(out *ImportReferenceUnion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ImportReferenceUnion) Normalize ¶
func (union *ImportReferenceUnion) Normalize() error
func (*ImportReferenceUnion) Simplify ¶
func (union *ImportReferenceUnion) Simplify()
func (ImportReferenceUnion) Visit ¶
func (union ImportReferenceUnion) Visit(visitor ImportReferenceUnionVisitor) error
type ImportReferenceUnionVisitor ¶
type ImportReferenceUnionVisitor struct { Uri func(string) error Id func(string) error Kubernetes func(*KubernetesCustomResourceImportReference) error }
+k8s:deepcopy-gen=false
type K8sLikeComponent ¶
type K8sLikeComponent struct { BaseComponent `json:",inline"` K8sLikeComponentLocation `json:",inline"` // Mandatory name that allows referencing the component // in commands, or inside a parent Name string `json:"name"` Endpoints []Endpoint `json:"endpoints,omitempty" patchStrategy:"merge" patchMergeKey:"name"` }
func (*K8sLikeComponent) DeepCopy ¶
func (in *K8sLikeComponent) DeepCopy() *K8sLikeComponent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new K8sLikeComponent.
func (*K8sLikeComponent) DeepCopyInto ¶
func (in *K8sLikeComponent) DeepCopyInto(out *K8sLikeComponent)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type K8sLikeComponentLocation ¶
type K8sLikeComponentLocation struct { // Type of Kubernetes-like location // + // +unionDiscriminator // +optional LocationType K8sLikeComponentLocationType `json:"locationType,omitempty"` // Location in a file fetched from a uri. // +optional Uri string `json:"uri,omitempty"` // Inlined manifest // +optional Inlined string `json:"inlined,omitempty"` }
+k8s:openapi-gen=true +union
func (*K8sLikeComponentLocation) DeepCopy ¶
func (in *K8sLikeComponentLocation) DeepCopy() *K8sLikeComponentLocation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new K8sLikeComponentLocation.
func (*K8sLikeComponentLocation) DeepCopyInto ¶
func (in *K8sLikeComponentLocation) DeepCopyInto(out *K8sLikeComponentLocation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*K8sLikeComponentLocation) Normalize ¶
func (union *K8sLikeComponentLocation) Normalize() error
func (*K8sLikeComponentLocation) Simplify ¶
func (union *K8sLikeComponentLocation) Simplify()
func (K8sLikeComponentLocation) Visit ¶
func (union K8sLikeComponentLocation) Visit(visitor K8sLikeComponentLocationVisitor) error
type K8sLikeComponentLocationType ¶
type K8sLikeComponentLocationType string
K8sLikeComponentLocationType describes the type of the location the configuration is fetched from. Only one of the following component type may be specified. +kubebuilder:validation:Enum=Uri;Inlined
const ( UriK8sLikeComponentLocationType K8sLikeComponentLocationType = "Uri" InlinedK8sLikeComponentLocationType K8sLikeComponentLocationType = "Inlined" )
type K8sLikeComponentLocationVisitor ¶
+k8s:deepcopy-gen=false
type KubernetesComponent ¶
type KubernetesComponent struct {
K8sLikeComponent `json:",inline"`
}
Component that allows partly importing Kubernetes resources into the workspace POD
func (*KubernetesComponent) DeepCopy ¶
func (in *KubernetesComponent) DeepCopy() *KubernetesComponent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesComponent.
func (*KubernetesComponent) DeepCopyInto ¶
func (in *KubernetesComponent) DeepCopyInto(out *KubernetesComponent)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubernetesCustomResourceImportReference ¶
type KubernetesCustomResourceImportReference struct { Name string `json:"name"` // +optional Namespace string `json:"namespace,omitempty"` }
func (*KubernetesCustomResourceImportReference) DeepCopy ¶
func (in *KubernetesCustomResourceImportReference) DeepCopy() *KubernetesCustomResourceImportReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesCustomResourceImportReference.
func (*KubernetesCustomResourceImportReference) DeepCopyInto ¶
func (in *KubernetesCustomResourceImportReference) DeepCopyInto(out *KubernetesCustomResourceImportReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LabeledCommand ¶
type LabeledCommand struct { BaseCommand `json:",inline"` // +optional // Optional label that provides a label for this command // to be used in Editor UI menus for example Label string `json:"label,omitempty"` }
func (*LabeledCommand) DeepCopy ¶
func (in *LabeledCommand) DeepCopy() *LabeledCommand
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LabeledCommand.
func (*LabeledCommand) DeepCopyInto ¶
func (in *LabeledCommand) DeepCopyInto(out *LabeledCommand)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpenshiftComponent ¶
type OpenshiftComponent struct {
K8sLikeComponent `json:",inline"`
}
Component that allows partly importing Openshift resources into the workspace POD
func (*OpenshiftComponent) DeepCopy ¶
func (in *OpenshiftComponent) DeepCopy() *OpenshiftComponent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenshiftComponent.
func (*OpenshiftComponent) DeepCopyInto ¶
func (in *OpenshiftComponent) DeepCopyInto(out *OpenshiftComponent)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OverrideDirective ¶
type OverrideDirective struct { // Path of the element the directive should be applied on // // For the following path tree: // // “`json // commands: // - exec // id: commandId // “` // // the path would be: `commands["commandId"]`. Path string `json:"path"` // `$Patch` directlive as defined in // https://github.com/kubernetes/community/blob/master/contributors/devel/sig-api-machinery/strategic-merge-patch.md#basic-patch-format // // This is an enumeration that allows the following values: // // - *replace*: indicates that the element matched by the `jsonPath` field should be replaced instead of being merged. // // - *delete*: indicates that the element matched by the `jsonPath` field should be deleted. // // +optional Patch OverridingPatchDirective `json:"patch,omitempty"` // `DeleteFromPrimitiveList` directive as defined in // https://github.com/kubernetes/community/blob/master/contributors/devel/sig-api-machinery/strategic-merge-patch.md#deletefromprimitivelist-directive // // This indicates that the elements in this list should be deleted from the original primitive list. // The original primitive list is the element matched by the `jsonPath` field. // +optional DeleteFromPrimitiveList []string `json:"deleteFromPrimitiveList,omitempty"` // `SetElementOrder` directive as defined in // https://github.com/kubernetes/community/blob/master/contributors/devel/sig-api-machinery/strategic-merge-patch.md#deletefromprimitivelist-directive // // This provides a way to specify the order of a list. The relative order specified in this directive will be retained. // The list whose order is controller is the element matched by the `jsonPath` field. // If the controller list is a list of objects, then the values in this list should be // the merge keys of the objects to order. // +optional SetElementOrder []string `json:"setElementOrder,omitempty"` }
func (*OverrideDirective) DeepCopy ¶
func (in *OverrideDirective) DeepCopy() *OverrideDirective
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverrideDirective.
func (*OverrideDirective) DeepCopyInto ¶
func (in *OverrideDirective) DeepCopyInto(out *OverrideDirective)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Overrides ¶
type Overrides struct { OverridesBase `json:",inline"` // Overrides of projects encapsulated in a parent devfile. // Overriding is done using a strategic merge patch. // +optional Projects []Project `json:"projects,omitempty" patchStrategy:"merge" patchMergeKey:"name"` // Overrides of starter projects encapsulated in a parent devfile // Overriding is done using a strategic merge patch. // +optional StarterProjects []StarterProject `json:"starterProjects,omitempty"` // Overrides of components encapsulated in a parent devfile. // Overriding is done using a strategic merge patch // +optional Components []Component `json:"components,omitempty" patchStrategy:"merge" patchMergeKey:"name"` }
func (*Overrides) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Overrides.
func (*Overrides) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OverridesBase ¶
type OverridesBase struct { // Overrides of commands encapsulated in a parent devfile or a plugin. // Overriding is done using a strategic merge patch // +optional Commands []Command `json:"commands,omitempty" patchStrategy:"merge" patchMergeKey:"id"` }
func (*OverridesBase) DeepCopy ¶
func (in *OverridesBase) DeepCopy() *OverridesBase
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverridesBase.
func (*OverridesBase) DeepCopyInto ¶
func (in *OverridesBase) DeepCopyInto(out *OverridesBase)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OverridingPatchDirective ¶
type OverridingPatchDirective string
+kubebuilder:validation:Enum=replace;delete
const ( ReplaceOverridingDirective OverridingPatchDirective = "replace" DeleteOverridingDirective OverridingPatchDirective = "delete" )
const (
DeleteFromPrimitiveListOverridingPatchDirective OverridingPatchDirective = "replace"
)
type Parent ¶
type Parent struct { ImportReference `json:",inline"` Overrides `json:",inline"` }
func (*Parent) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Parent.
func (*Parent) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PluginComponent ¶
type PluginComponent struct { BaseComponent `json:",inline"` ImportReference `json:",inline"` PluginOverrides `json:",inline"` // +optional // Optional name that allows referencing the component // in commands, or inside a parent // If omitted it will be infered from the location (uri or registryEntry) Name string `json:"name,omitempty"` }
func (*PluginComponent) DeepCopy ¶
func (in *PluginComponent) DeepCopy() *PluginComponent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginComponent.
func (*PluginComponent) DeepCopyInto ¶
func (in *PluginComponent) DeepCopyInto(out *PluginComponent)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PluginComponentsOverride ¶
type PluginComponentsOverride struct { // Type of component override for a plugin // // +unionDiscriminator // +optional ComponentType PluginComponentsOverrideType `json:"componentType,omitempty"` // Configuration overriding for a Container component in a plugin // +optional Container *ContainerComponent `json:"container,omitempty"` // Configuration overriding for a Volume component in a plugin // +optional Volume *VolumeComponent `json:"volume,omitempty"` // Configuration overriding for a Kubernetes component in a plugin // +optional Kubernetes *KubernetesComponent `json:"kubernetes,omitempty"` // Configuration overriding for an OpenShift component in a plugin // +optional Openshift *OpenshiftComponent `json:"openshift,omitempty"` }
+k8s:openapi-gen=true +union
func (*PluginComponentsOverride) DeepCopy ¶
func (in *PluginComponentsOverride) DeepCopy() *PluginComponentsOverride
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginComponentsOverride.
func (*PluginComponentsOverride) DeepCopyInto ¶
func (in *PluginComponentsOverride) DeepCopyInto(out *PluginComponentsOverride)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (PluginComponentsOverride) Key ¶
func (union PluginComponentsOverride) Key() (string, error)
func (*PluginComponentsOverride) Normalize ¶
func (union *PluginComponentsOverride) Normalize() error
func (*PluginComponentsOverride) Simplify ¶
func (union *PluginComponentsOverride) Simplify()
func (PluginComponentsOverride) Visit ¶
func (union PluginComponentsOverride) Visit(visitor PluginComponentsOverrideVisitor) error
type PluginComponentsOverrideType ¶
type PluginComponentsOverrideType string
PluginComponentsOverrideType describes the type of components that can be overriden for a plugin. Only one of the following component type may be specified. +kubebuilder:validation:Enum=Container;Kubernetes;Openshift;Volume
const ( ContainerPluginComponentsOverrideType PluginComponentsOverrideType = "Container" KubernetesPluginComponentsOverrideType PluginComponentsOverrideType = "Kubernetes" OpenshiftPluginComponentsOverrideType PluginComponentsOverrideType = "Openshift" VolumePluginComponentsOverrideType PluginComponentsOverrideType = "Volume" )
type PluginComponentsOverrideVisitor ¶
type PluginComponentsOverrideVisitor struct { Container func(*ContainerComponent) error Volume func(*VolumeComponent) error Kubernetes func(*KubernetesComponent) error Openshift func(*OpenshiftComponent) error }
+k8s:deepcopy-gen=false
type PluginOverrides ¶
type PluginOverrides struct { OverridesBase `json:",inline"` // Overrides of components encapsulated in a plugin. // Overriding is done using a strategic merge patch. // A plugin cannot override embedded plugin components. // +optional Components []PluginComponentsOverride `json:"components,omitempty"` }
func (*PluginOverrides) DeepCopy ¶
func (in *PluginOverrides) DeepCopy() *PluginOverrides
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginOverrides.
func (*PluginOverrides) DeepCopyInto ¶
func (in *PluginOverrides) DeepCopyInto(out *PluginOverrides)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Project ¶
type Project struct { // Project name Name string `json:"name"` // Path relative to the root of the projects to which this project should be cloned into. This is a unix-style relative path (i.e. uses forward slashes). The path is invalid if it is absolute or tries to escape the project root through the usage of '..'. If not specified, defaults to the project name. // +optional ClonePath string `json:"clonePath,omitempty"` ProjectSource `json:",inline"` }
func (*Project) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Project.
func (*Project) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProjectSource ¶
type ProjectSource struct { // Type of project source // + // +unionDiscriminator // +optional SourceType ProjectSourceType `json:"sourceType,omitempty"` // Project's Git source // +optional Git *GitProjectSource `json:"git,omitempty"` // Project's GitHub source // +optional Github *GithubProjectSource `json:"github,omitempty"` // Project's Zip source // +optional Zip *ZipProjectSource `json:"zip,omitempty"` // Project's Custom source // +optional Custom *CustomProjectSource `json:"custom,omitempty"` }
+k8s:openapi-gen=true +union
func (*ProjectSource) DeepCopy ¶
func (in *ProjectSource) DeepCopy() *ProjectSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectSource.
func (*ProjectSource) DeepCopyInto ¶
func (in *ProjectSource) DeepCopyInto(out *ProjectSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProjectSource) Normalize ¶
func (union *ProjectSource) Normalize() error
func (*ProjectSource) Simplify ¶
func (union *ProjectSource) Simplify()
func (ProjectSource) Visit ¶
func (union ProjectSource) Visit(visitor ProjectSourceVisitor) error
type ProjectSourceType ¶
type ProjectSourceType string
ProjectSourceType describes the type of Project sources. Only one of the following project sources may be specified. If none of the following policies is specified, the default one is AllowConcurrent. +kubebuilder:validation:Enum=Git;Github;Zip;Custom
const ( GitProjectSourceType ProjectSourceType = "Git" GitHubProjectSourceType ProjectSourceType = "Github" ZipProjectSourceType ProjectSourceType = "Zip" CustomProjectSourceType ProjectSourceType = "Custom" )
type ProjectSourceVisitor ¶
type ProjectSourceVisitor struct { Git func(*GitProjectSource) error Github func(*GithubProjectSource) error Zip func(*ZipProjectSource) error Custom func(*CustomProjectSource) error }
+k8s:deepcopy-gen=false
type StarterProject ¶
type StarterProject struct { Project `json:",inline"` // Description of a starter project // +optional Description string `json:"description,omitempty"` }
func (*StarterProject) DeepCopy ¶
func (in *StarterProject) DeepCopy() *StarterProject
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StarterProject.
func (*StarterProject) DeepCopyInto ¶
func (in *StarterProject) DeepCopyInto(out *StarterProject)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Union ¶
type Union interface { // Normalize allows normalizing the union, according to the following rules: // - When only one field of the union is set and no discriminator is set, set the discriminator according to the union value. // - When several fields are set and a discrimnator is set, remove (== reset to zero value) all the values that do not match the discriminator. // - When only one union value is set and it matches discriminator, just do nothing. // - In other case, something is inconsistent or ambiguous: an error is thrown. Normalize() error // Simplify allows removing the union discriminator, // but only after normalizing it if necessary. Simplify() // contains filtered or unexported methods }
Union is an interface that allows managing structs defined as Kubernetes unions with discriminators, according to the following KEP: https://github.com/kubernetes/enhancements/blob/master/keps/sig-api-machinery/20190325-unions.md +k8s:deepcopy-gen=false
type Volume ¶
type Volume struct { // Mandatory name that allows referencing the Volume component // in Container volume mounts or inside a parent Name string `json:"name"` // +optional // Size of the volume Size string `json:"size,omitempty"` // +optional // Ephemeral volumes are not stored persistently across restarts. Defaults // to false Ephemeral bool `json:"ephemeral,omitempty"` }
Volume that should be mounted to a component container
func (*Volume) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Volume.
func (*Volume) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeComponent ¶
type VolumeComponent struct { BaseComponent `json:",inline"` Volume `json:",inline"` }
Component that allows the developer to declare and configure a volume into his workspace
func (*VolumeComponent) DeepCopy ¶
func (in *VolumeComponent) DeepCopy() *VolumeComponent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeComponent.
func (*VolumeComponent) DeepCopyInto ¶
func (in *VolumeComponent) DeepCopyInto(out *VolumeComponent)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeMount ¶
type VolumeMount struct { // The volume mount name is the name of an existing `Volume` component. // If several containers mount the same volume name // then they will reuse the same volume and will be able to access to the same files. Name string `json:"name"` // The path in the component container where the volume should be mounted. // If not path is mentioned, default path is the is `/<name>`. // +optional Path string `json:"path,omitempty"` }
Volume that should be mounted to a component container
func (*VolumeMount) DeepCopy ¶
func (in *VolumeMount) DeepCopy() *VolumeMount
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeMount.
func (*VolumeMount) DeepCopyInto ¶
func (in *VolumeMount) DeepCopyInto(out *VolumeMount)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VscodeConfigurationCommand ¶
type VscodeConfigurationCommand struct { BaseCommand `json:",inline"` VscodeConfigurationCommandLocation `json:",inline"` }
func (*VscodeConfigurationCommand) DeepCopy ¶
func (in *VscodeConfigurationCommand) DeepCopy() *VscodeConfigurationCommand
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VscodeConfigurationCommand.
func (*VscodeConfigurationCommand) DeepCopyInto ¶
func (in *VscodeConfigurationCommand) DeepCopyInto(out *VscodeConfigurationCommand)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VscodeConfigurationCommandLocation ¶
type VscodeConfigurationCommandLocation struct { // Type of Vscode configuration command location // + // +unionDiscriminator // +optional LocationType VscodeConfigurationCommandLocationType `json:"locationType,omitempty"` // Location as an absolute of relative URI // the VsCode configuration will be fetched from // +optional Uri string `json:"uri,omitempty"` // Inlined content of the VsCode configuration // +optional Inlined string `json:"inlined,omitempty"` }
+k8s:openapi-gen=true +union
func (*VscodeConfigurationCommandLocation) DeepCopy ¶
func (in *VscodeConfigurationCommandLocation) DeepCopy() *VscodeConfigurationCommandLocation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VscodeConfigurationCommandLocation.
func (*VscodeConfigurationCommandLocation) DeepCopyInto ¶
func (in *VscodeConfigurationCommandLocation) DeepCopyInto(out *VscodeConfigurationCommandLocation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VscodeConfigurationCommandLocation) Normalize ¶
func (union *VscodeConfigurationCommandLocation) Normalize() error
func (*VscodeConfigurationCommandLocation) Simplify ¶
func (union *VscodeConfigurationCommandLocation) Simplify()
func (VscodeConfigurationCommandLocation) Visit ¶
func (union VscodeConfigurationCommandLocation) Visit(visitor VscodeConfigurationCommandLocation) error
type VscodeConfigurationCommandLocationType ¶
type VscodeConfigurationCommandLocationType string
VscodeConfigurationCommandLocationType describes the type of the location the configuration is fetched from. Only one of the following component type may be specified. +kubebuilder:validation:Enum=Uri;Inlined
const ( UriVscodeConfigurationCommandLocationType VscodeConfigurationCommandLocationType = "Uri" InlinedVscodeConfigurationCommandLocationType VscodeConfigurationCommandLocationType = "Inlined" )
type VscodeConfigurationCommandLocationVisitor ¶
type VscodeConfigurationCommandLocationVisitor struct { Uri func(string) error Inlined func(string) error }
+k8s:deepcopy-gen=false
type WorkspaceCondition ¶
type WorkspaceCondition struct { // Type is the type of the condition. Type WorkspaceConditionType `json:"type"` // Phase is the status of the condition. // Can be True, False, Unknown. Status corev1.ConditionStatus `json:"status"` // Last time the condition transitioned from one status to another. LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` // Unique, one-word, CamelCase reason for the condition's last transition. Reason string `json:"reason,omitempty"` // Human-readable message indicating details about last transition. Message string `json:"message,omitempty"` }
WorkspaceCondition contains details for the current condition of this workspace.
func (*WorkspaceCondition) DeepCopy ¶
func (in *WorkspaceCondition) DeepCopy() *WorkspaceCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkspaceCondition.
func (*WorkspaceCondition) DeepCopyInto ¶
func (in *WorkspaceCondition) DeepCopyInto(out *WorkspaceCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkspaceConditionType ¶
type WorkspaceConditionType string
Types of conditions reported by workspace
const ( WorkspaceComponentsReady WorkspaceConditionType = "ComponentsReady" WorkspaceRoutingReady WorkspaceConditionType = "RoutingReady" WorkspaceServiceAccountReady WorkspaceConditionType = "ServiceAccountReady" WorkspaceReady WorkspaceConditionType = "Ready" WorkspaceFailedStart WorkspaceConditionType = "FailedStart" WorkspaceError WorkspaceConditionType = "Error" )
type WorkspaceEvents ¶
type WorkspaceEvents struct { // Names of commands that should be executed before the workspace start. // Kubernetes-wise, these commands would typically be executed in init containers of the workspace POD. // +optional PreStart []string `json:"preStart,omitempty"` // Names of commands that should be executed after the workspace is completely started. // In the case of Che-Theia, these commands should be executed after all plugins and extensions have started, including project cloning. // This means that those commands are not triggered until the user opens the IDE in his browser. // +optional PostStart []string `json:"postStart,omitempty"` // +optional // Names of commands that should be executed before stopping the workspace. PreStop []string `json:"preStop,omitempty"` // +optional // Names of commands that should be executed after stopping the workspace. PostStop []string `json:"postStop,omitempty"` }
func (*WorkspaceEvents) DeepCopy ¶
func (in *WorkspaceEvents) DeepCopy() *WorkspaceEvents
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkspaceEvents.
func (*WorkspaceEvents) DeepCopyInto ¶
func (in *WorkspaceEvents) DeepCopyInto(out *WorkspaceEvents)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkspacePhase ¶
type WorkspacePhase string
const ( WorkspaceStatusStarting WorkspacePhase = "Starting" WorkspaceStatusRunning WorkspacePhase = "Running" WorkspaceStatusStopped WorkspacePhase = "Stopped" WorkspaceStatusStopping WorkspacePhase = "Stopping" WorkspaceStatusFailed WorkspacePhase = "Failed" WorkspaceStatusError WorkspacePhase = "Error" )
Valid workspace Statuses
type ZipProjectSource ¶
type ZipProjectSource struct { CommonProjectSource `json:",inline"` // Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH // +required Location string `json:"location,omitempty"` }
func (*ZipProjectSource) DeepCopy ¶
func (in *ZipProjectSource) DeepCopy() *ZipProjectSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZipProjectSource.
func (*ZipProjectSource) DeepCopyInto ¶
func (in *ZipProjectSource) DeepCopyInto(out *ZipProjectSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files ¶
- attributes_conversion.go
- commands.go
- commands_conversion.go
- component__plugin.go
- component_container.go
- component_kubernetes_like.go
- component_plugin_conversion.go
- component_volume.go
- components.go
- components_conversion.go
- conversion.go
- devworkspace_conversion.go
- devworkspace_types.go
- devworkspacetemplate_conversion.go
- devworkspacetemplate_spec.go
- devworkspacetemplate_types.go
- doc.go
- endpoint.go
- events.go
- events_conversion.go
- import_reference.go
- keyed.go
- override_directives.go
- overrides.go
- parent.go
- parent_conversion.go
- projects.go
- projects_conversion.go
- register.go
- union.go
- union_definitions.go
- union_implementation.go
- zz_generated.deepcopy.go