Documentation
¶
Overview ¶
+k8s:deepcopy-gen=package,register +groupName=tenancy.kcp.dev +k8s:openapi-gen=true
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: tenancy.GroupName, Version: "v1beta1"}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type Workspace ¶
type Workspace struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec WorkspaceSpec `json:"spec"`
// +optional
Status WorkspaceStatus `json:"status,omitempty"`
}
Workspace defines a generic Kubernetes-cluster-like endpoint, with standard Kubernetes discovery APIs, OpenAPI and resource API endpoints.
A workspace can be backed by different concrete types of workspace implementation, depending on access pattern. All workspace implementations share the characteristic that the URL that serves a given workspace can be used with standard Kubernetes API machinery and client libraries and command line tools.
+crd +genclient +genclient:nonNamespaced +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories=kcp,shortName=ws +kubebuilder:printcolumn:name="Phase",type=string,JSONPath=`.status.phase`,description="The current phase (e.g. Scheduling, Initializing, Ready)" +kubebuilder:printcolumn:name="Type",type=string,JSONPath=`.spec.type.name`,description="Type of the workspace" +kubebuilder:printcolumn:name="URL",type=string,JSONPath=`.status.URL`,description="URL to access the workspace" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (*Workspace) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Workspace.
func (*Workspace) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Workspace) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkspaceList ¶
type WorkspaceList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata"`
Items []Workspace `json:"items"`
}
WorkspaceList is a list of Workspaces
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*WorkspaceList) DeepCopy ¶
func (in *WorkspaceList) DeepCopy() *WorkspaceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkspaceList.
func (*WorkspaceList) DeepCopyInto ¶
func (in *WorkspaceList) DeepCopyInto(out *WorkspaceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkspaceList) DeepCopyObject ¶
func (in *WorkspaceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkspaceSpec ¶
type WorkspaceSpec struct {
// type defines properties of the workspace both on creation (e.g. initial
// resources and initially installed APIs) and during runtime (e.g. permissions).
// If no type is provided, the default type for the workspace in which this workspace
// is nesting will be used.
//
// The type is a reference to a ClusterWorkspaceType in the listed workspace, but
// lower-cased. The ClusterWorkspaceType existence is validated at admission during
// creation. The type is immutable after creation. The use of a type is gated via
// the RBAC clusterworkspacetypes/use resource permission.
//
// +optional
Type v1alpha1.ClusterWorkspaceTypeReference `json:"type,omitempty"`
}
WorkspaceSpec holds the desired state of the ClusterWorkspace.
func (*WorkspaceSpec) DeepCopy ¶
func (in *WorkspaceSpec) DeepCopy() *WorkspaceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkspaceSpec.
func (*WorkspaceSpec) DeepCopyInto ¶
func (in *WorkspaceSpec) DeepCopyInto(out *WorkspaceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkspaceStatus ¶
type WorkspaceStatus struct {
// url is the address under which the Kubernetes-cluster-like endpoint
// can be found. This URL can be used to access the workspace with standard Kubernetes
// client libraries and command line tools.
//
// +required
// +kubebuilder:format:uri
URL string `json:"URL"`
// Phase of the workspace (Initializing / Active / Terminating). This field is ALPHA.
Phase v1alpha1.ClusterWorkspacePhaseType `json:"phase,omitempty"`
// Current processing state of the ClusterWorkspace.
// +optional
Conditions conditionsv1alpha1.Conditions `json:"conditions,omitempty"`
// initializers are set on creation by the system and must be cleared
// by a controller before the workspace can be used. The workspace will
// stay in the phase "Initializing" state until all initializers are cleared.
//
// A cluster workspace in "Initializing" state are gated via the RBAC
// clusterworkspaces/initialize resource permission.
//
// +optional
Initializers []v1alpha1.ClusterWorkspaceInitializer `json:"initializers,omitempty"`
}
WorkspaceStatus communicates the observed state of the Workspace.
func (*WorkspaceStatus) DeepCopy ¶
func (in *WorkspaceStatus) DeepCopy() *WorkspaceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkspaceStatus.
func (*WorkspaceStatus) DeepCopyInto ¶
func (in *WorkspaceStatus) DeepCopyInto(out *WorkspaceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.