v1alpha1

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: May 27, 2025 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=gardener.clusters.openmcp.cloud

Index

Constants

View Source
const (
	// LandscapeFinalizer is the finalizer that is used by the Landscape controller on Landscape resources.
	LandscapeFinalizer = GroupName + "/landscape"
	// ProviderConfigFinalizer is the finalizer that is used by the ProviderConfig controller on ProviderConfig resources.
	ProviderConfigFinalizer = GroupName + "/providerconfig"
	// ClusterFinalizer is the finalizer that is used by the Cluster controller on Cluster resources.
	ClusterFinalizer = GroupName + "/cluster"
	// AccessRequestFinalizer is the finalizer that is used by the AccessRequest controller on AccessRequest resources.
	AccessRequestFinalizer = GroupName + "/accessrequest"

	// ManagedByNameLabel is used to mark resources that are managed by the Gardener ClusterProvider.
	ManagedByNameLabel = GroupName + "/managed-by-name"
	// ManagedByNamespaceLabel is used to mark resources that are managed by the Gardener ClusterProvider.
	ManagedByNamespaceLabel = GroupName + "/managed-by-namespace"

	// ClusterReferenceLabelName is the label on the shoot that holds the name of the Cluster resource that created it.
	ClusterReferenceLabelName = "cluster-name." + GroupName
	// ClusterReferenceLabelNamespace is the label on the shoot that holds the namespace of the Cluster resource that created it.
	ClusterReferenceLabelNamespace = "cluster-namespace." + GroupName
	// ClusterReferenceLabelProvider is the label on the shoot that holds the name of the provider that is responsible for the Cluster resource that created it.
	ClusterReferenceLabelProvider = "provider-name." + GroupName
	// ClusterReferenceLabelEnvironment is the label on the shoot that holds the name of the environment that the responsible provider is in.
	ClusterReferenceLabelEnvironment = "environment." + GroupName
)
View Source
const (
	// GroupName is the group name used in this package
	GroupName = "gardener.clusters.openmcp.cloud"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: GroupName, 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 ClusterStatus

type ClusterStatus struct {
	// Shoot contains the shoot manifest generated by the controller.
	// +optional
	Shoot *gardenv1beta1.ShootTemplate `json:"shoot,omitempty"`
}

func (*ClusterStatus) DeepCopy

func (in *ClusterStatus) DeepCopy() *ClusterStatus

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

func (*ClusterStatus) DeepCopyInto

func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)

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

type CommonStatus

type CommonStatus struct {
	// ObservedGeneration is the generation of this resource that was last reconciled by the controller.
	ObservedGeneration int64 `json:"observedGeneration"`

	// LastReconcileTime is the time when the resource was last reconciled by the controller.
	LastReconcileTime metav1.Time `json:"lastReconcileTime"`

	// Reason is expected to contain a CamelCased string that provides further information in a machine-readable format.
	// +optional
	Reason string `json:"reason,omitempty"`

	// Message contains further details in a human-readable format.
	// +optional
	Message string `json:"message,omitempty"`

	// Conditions contains the conditions.
	// +optional
	Conditions ConditionList `json:"conditions,omitempty"`
}

CommonStatus is a status shared by multiple resource. Note that a 'phase' is also part of the status, but it cannot be included in this struct. The reason is that we want to use string-like types for the phase, but the goddamn code generation does not support generics, no matter which annotations are added.

func (*CommonStatus) DeepCopy

func (in *CommonStatus) DeepCopy() *CommonStatus

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

func (*CommonStatus) DeepCopyInto

func (in *CommonStatus) DeepCopyInto(out *CommonStatus)

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

type Condition

type Condition struct {
	// Type is the type of the condition.
	// Must be unique within the resource.
	Type string `json:"type"`

	// Status is the status of the condition.
	Status ConditionStatus `json:"status"`

	// Reason is expected to contain a CamelCased string that provides further information regarding the condition.
	// It should have a fixed value set (like an enum) to be machine-readable. The value set depends on the condition type.
	// It is optional, but should be filled at least when Status is not "True".
	// +optional
	Reason string `json:"reason,omitempty"`

	// Message contains further details regarding the condition.
	// It is meant for human users, Reason should be used for programmatic evaluation instead.
	// It is optional, but should be filled at least when Status is not "True".
	// +optional
	Message string `json:"message,omitempty"`

	// LastTransitionTime specifies the time when this condition's status last changed.
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
}

func (*Condition) DeepCopy

func (in *Condition) DeepCopy() *Condition

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

func (*Condition) DeepCopyInto

func (in *Condition) DeepCopyInto(out *Condition)

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

func (*Condition) GetLastTransitionTime

func (c *Condition) GetLastTransitionTime() time.Time

func (*Condition) GetMessage

func (c *Condition) GetMessage() string

func (*Condition) GetReason

func (c *Condition) GetReason() string

func (*Condition) GetStatus

func (c *Condition) GetStatus() ConditionStatus

func (*Condition) GetType

func (c *Condition) GetType() string

Implement the Condition interface from our controller-utils library

func (Condition) IsFalse

func (cc Condition) IsFalse() bool

IsFalse returns true if the Condition's status is "False". Note that the status can be "Unknown", so !IsFalse() is not the same as IsTrue().

func (Condition) IsTrue

func (cc Condition) IsTrue() bool

IsTrue returns true if the Condition's status is "True". Note that the status can be "Unknown", so !IsTrue() is not the same as IsFalse().

func (Condition) IsUnknown

func (cc Condition) IsUnknown() bool

IsUnknown returns true if the Condition's status is "Unknown".

func (*Condition) SetLastTransitionTime

func (c *Condition) SetLastTransitionTime(t time.Time)

func (*Condition) SetMessage

func (c *Condition) SetMessage(m string)

func (*Condition) SetReason

func (c *Condition) SetReason(r string)

func (*Condition) SetStatus

func (c *Condition) SetStatus(s ConditionStatus)

func (*Condition) SetType

func (c *Condition) SetType(t string)

type ConditionList

type ConditionList []Condition

ConditionList is a list of Conditions.

func (ConditionList) DeepCopy

func (in ConditionList) DeepCopy() ConditionList

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

func (ConditionList) DeepCopyInto

func (in ConditionList) DeepCopyInto(out *ConditionList)

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

type ConditionStatus

type ConditionStatus string
const (
	// CONDITION_UNKNOWN represents an unknown status for the condition.
	CONDITION_UNKNOWN ConditionStatus = "Unknown"
	// CONDITION_TRUE marks the condition as true.
	CONDITION_TRUE ConditionStatus = "True"
	// CONDITION_FALSE marks the condition as false.
	CONDITION_FALSE ConditionStatus = "False"
)

func ConditionStatusFromBool

func ConditionStatusFromBool(src bool) ConditionStatus

ConditionStatusFromBool converts a bool into the corresponding ConditionStatus.

func ConditionStatusFromBoolPtr

func ConditionStatusFromBoolPtr(src *bool) ConditionStatus

ConditionStatusFromBoolPtr converts a bool pointer into the corresponding ConditionStatus. If nil, "Unknown" is returned.

type GardenClusterAccess

type GardenClusterAccess struct {
	// Inline holds an inline kubeconfig.
	// Only one of the fields in this struct may be set.
	// +optional
	Inline string `json:"inline,omitempty"`

	// SecretRef is a reference to a secret containing the kubeconfig.
	// Only one of the fields in this struct may be set.
	// +optional
	SecretRef *NamespacedObjectReference `json:"secretRef,omitempty"`
}

func (*GardenClusterAccess) DeepCopy

func (in *GardenClusterAccess) DeepCopy() *GardenClusterAccess

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

func (*GardenClusterAccess) DeepCopyInto

func (in *GardenClusterAccess) DeepCopyInto(out *GardenClusterAccess)

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

type JSONPatch

type JSONPatch struct {
	// Operation is the operation to perform.
	// +kubebuilder:validation:Enum=add;remove;replace;move;copy;test
	// +kubebuilder:validation:Required
	Operation JSONPatchOperation `json:"op"`

	// Path is the path to the target location in the JSON document.
	// +kubebuilder:validation:Required
	Path string `json:"path"`

	// Value is the value to set at the target location.
	// Required for add, replace, and test operations.
	// +optional
	Value *string `json:"value,omitempty"`

	// From is the source location for move and copy operations.
	// +optional
	From *string `json:"from,omitempty"`
}

JSONPatch represents a JSON patch operation. Technically, a single JSON patch is already a list of patch operations. This type represents a single operation, use JSONPatches for a list of operations instead.

func (*JSONPatch) DeepCopy

func (in *JSONPatch) DeepCopy() *JSONPatch

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

func (*JSONPatch) DeepCopyInto

func (in *JSONPatch) DeepCopyInto(out *JSONPatch)

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

type JSONPatchOperation

type JSONPatchOperation string
const (
	JSONPatchOperationAdd     JSONPatchOperation = "add"
	JSONPatchOperationRemove  JSONPatchOperation = "remove"
	JSONPatchOperationReplace JSONPatchOperation = "replace"
	JSONPatchOperationMove    JSONPatchOperation = "move"
	JSONPatchOperationCopy    JSONPatchOperation = "copy"
	JSONPatchOperationTest    JSONPatchOperation = "test"
)

type JSONPatches

type JSONPatches []JSONPatch

JSONPatches is a list of JSON patch operations. This is technically a 'JSON patch' as defined in RFC 6902.

func (JSONPatches) DeepCopy

func (in JSONPatches) DeepCopy() JSONPatches

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

func (JSONPatches) DeepCopyInto

func (in JSONPatches) DeepCopyInto(out *JSONPatches)

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

type Landscape

type Landscape struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   LandscapeSpec   `json:"spec,omitempty"`
	Status LandscapeStatus `json:"status,omitempty"`
}

func (*Landscape) DeepCopy

func (in *Landscape) DeepCopy() *Landscape

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

func (*Landscape) DeepCopyInto

func (in *Landscape) DeepCopyInto(out *Landscape)

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

func (*Landscape) DeepCopyObject

func (in *Landscape) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type LandscapeList

type LandscapeList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Landscape `json:"items"`
}

func (*LandscapeList) DeepCopy

func (in *LandscapeList) DeepCopy() *LandscapeList

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

func (*LandscapeList) DeepCopyInto

func (in *LandscapeList) DeepCopyInto(out *LandscapeList)

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

func (*LandscapeList) DeepCopyObject

func (in *LandscapeList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type LandscapePhase

type LandscapePhase string
const (
	LANDSCAPE_PHASE_AVAILABLE           LandscapePhase = "Available"
	LANDSCAPE_PHASE_UNAVAILABLE         LandscapePhase = "Unavailable"
	LANDSCAPE_PHASE_PARTIALLY_AVAILABLE LandscapePhase = "Partially Available"
)

type LandscapeSpec

type LandscapeSpec struct {
	// Access holds the access information for this Gardener Landscape.
	Access GardenClusterAccess `json:"access"`
}

func (*LandscapeSpec) DeepCopy

func (in *LandscapeSpec) DeepCopy() *LandscapeSpec

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

func (*LandscapeSpec) DeepCopyInto

func (in *LandscapeSpec) DeepCopyInto(out *LandscapeSpec)

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

type LandscapeStatus

type LandscapeStatus struct {
	CommonStatus `json:",inline"`

	// Phase is the current phase of the cluster.
	Phase LandscapePhase `json:"phase"`

	// APIServer is the API server URL of the Gardener Landscape.
	APIServer string `json:"apiServer"`

	// Projects lists the available projects.
	Projects []ProjectData `json:"projects,omitempty"`
}

func (*LandscapeStatus) DeepCopy

func (in *LandscapeStatus) DeepCopy() *LandscapeStatus

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

func (*LandscapeStatus) DeepCopyInto

func (in *LandscapeStatus) DeepCopyInto(out *LandscapeStatus)

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

type NamespacedObjectReference

type NamespacedObjectReference struct {
	ObjectReference `json:",inline"`

	// Namespace is the namespace of the referenced resource.
	Namespace string `json:"namespace"`
}

func (*NamespacedObjectReference) DeepCopy

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

func (*NamespacedObjectReference) DeepCopyInto

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

type ObjectReference

type ObjectReference struct {
	// Name is the name of the referenced resource.
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`
}

func (*ObjectReference) DeepCopy

func (in *ObjectReference) DeepCopy() *ObjectReference

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

func (*ObjectReference) DeepCopyInto

func (in *ObjectReference) DeepCopyInto(out *ObjectReference)

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

type ProjectData

type ProjectData struct {
	// Name is the name of the project.
	Name string `json:"name"`
	// Namespace is the namespace that the project belongs to.
	Namespace string `json:"namespace"`
}

func (*ProjectData) DeepCopy

func (in *ProjectData) DeepCopy() *ProjectData

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

func (*ProjectData) DeepCopyInto

func (in *ProjectData) DeepCopyInto(out *ProjectData)

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

type ProviderConfig

type ProviderConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ProviderConfigSpec   `json:"spec,omitempty"`
	Status ProviderConfigStatus `json:"status,omitempty"`
}

func (*ProviderConfig) CloudProfile

func (gpcfg *ProviderConfig) CloudProfile() string

CloudProfile returns the name of the Gardener CloudProfile that is referenced in the shoot template. Can only handle cluster-scoped CloudProfiles at the moment.

func (*ProviderConfig) DeepCopy

func (in *ProviderConfig) DeepCopy() *ProviderConfig

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

func (*ProviderConfig) DeepCopyInto

func (in *ProviderConfig) DeepCopyInto(out *ProviderConfig)

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

func (*ProviderConfig) DeepCopyObject

func (in *ProviderConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ProviderConfigList

type ProviderConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ProviderConfig `json:"items"`
}

func (*ProviderConfigList) DeepCopy

func (in *ProviderConfigList) DeepCopy() *ProviderConfigList

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

func (*ProviderConfigList) DeepCopyInto

func (in *ProviderConfigList) DeepCopyInto(out *ProviderConfigList)

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

func (*ProviderConfigList) DeepCopyObject

func (in *ProviderConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ProviderConfigPhase

type ProviderConfigPhase string
const (
	PROVIDER_CONFIG_PHASE_AVAILABLE           ProviderConfigPhase = "Available"
	PROVIDER_CONFIG_PHASE_UNAVAILABLE         ProviderConfigPhase = "Unavailable"
	PROVIDER_CONFIG_PHASE_PARTIALLY_AVAILABLE ProviderConfigPhase = "Partially Available"
)

type ProviderConfigSpec

type ProviderConfigSpec struct {
	// ProviderRef is a reference to the provider this configuration belongs to.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="providerRef is immutable"
	ProviderRef ObjectReference `json:"providerRef"`

	// LandscapeRef is a reference to the Landscape resource this configuration belongs to.
	LandscapeRef ObjectReference `json:"landscapeRef"`

	// Project is the Gardener project which should be used to create shoot clusters in it.
	// The provided kubeconfig must have privileges for this project.
	// +kubebuilder:validation:MinLength=1
	Project string `json:"project"`

	// ShootTemplate contains the shoot template for this configuration.
	ShootTemplate gardenv1beta1.ShootTemplate `json:"shootTemplate"`
}

func (*ProviderConfigSpec) DeepCopy

func (in *ProviderConfigSpec) DeepCopy() *ProviderConfigSpec

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

func (*ProviderConfigSpec) DeepCopyInto

func (in *ProviderConfigSpec) DeepCopyInto(out *ProviderConfigSpec)

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

type ProviderConfigStatus

type ProviderConfigStatus struct {
	CommonStatus `json:",inline"`

	// Phase is the current phase of the cluster.
	Phase ProviderConfigPhase `json:"phase"`
}

func (*ProviderConfigStatus) DeepCopy

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

func (*ProviderConfigStatus) DeepCopyInto

func (in *ProviderConfigStatus) DeepCopyInto(out *ProviderConfigStatus)

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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