v1alpha1

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Sep 16, 2025 License: Apache-2.0 Imports: 8 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"

	// ShootNameLabel is the label on Cluster resources that allows to overwrite the shoot name, which is otherwise generated based on the Cluster name and namespace.
	ShootNameLabel = GroupName + "/shoot-name"

	// ClusterConfigHashAnnotation is the name of the annotation that is used to store a hash over the names of the referenced ClusterConfig resources.
	// This is used to detect changes in the ClusterConfig references.
	ClusterConfigHashAnnotation = GroupName + "/clusterconfigs"

	// 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 = GroupName + "/cluster-name"
	// ClusterReferenceLabelNamespace is the label on the shoot that holds the namespace of the Cluster resource that created it.
	ClusterReferenceLabelNamespace = GroupName + "/cluster-namespace"
	// 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 = GroupName + "/provider-name"
	// ClusterReferenceLabelEnvironment is the label on the shoot that holds the name of the environment that the responsible provider is in.
	ClusterReferenceLabelEnvironment = GroupName + "/environment"
)
View Source
const (
	ConditionMeta                = "Meta"
	ConditionLandscapeManagement = "LandscapeManagement"

	AccessRequestConditionFoundClusterAndProfile = "FoundClusterAndProfile"
	AccessRequestConditionSecretExistsAndIsValid = "SecretExistsAndIsValid"
	AccessRequestConditionShootAccess            = "ShootAccess"
	AccessRequestConditionCleanup                = "Cleanup"

	ClusterConditionShootManagement       = "ShootManagement"
	ClusterConditionClusterConfigurations = "ClusterConfigurations"

	ProviderConfigConditionCloudProfile             = "CloudProfile"
	ProviderConfigConditionClusterProfileManagement = "ClusterProfileManagement"

	LandscapeConditionGardenClusterAccess = "GardenClusterAccess"
)
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 ClusterConfig added in v0.3.0

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

	Spec ClusterConfigSpec `json:"spec,omitempty"`
}

func (*ClusterConfig) DeepCopy added in v0.3.0

func (in *ClusterConfig) DeepCopy() *ClusterConfig

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

func (*ClusterConfig) DeepCopyInto added in v0.3.0

func (in *ClusterConfig) DeepCopyInto(out *ClusterConfig)

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

func (*ClusterConfig) DeepCopyObject added in v0.3.0

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

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

type ClusterConfigList added in v0.3.0

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

func (*ClusterConfigList) DeepCopy added in v0.3.0

func (in *ClusterConfigList) DeepCopy() *ClusterConfigList

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

func (*ClusterConfigList) DeepCopyInto added in v0.3.0

func (in *ClusterConfigList) DeepCopyInto(out *ClusterConfigList)

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

func (*ClusterConfigList) DeepCopyObject added in v0.3.0

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

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

type ClusterConfigSpec added in v0.3.0

type ClusterConfigSpec struct {
	// PatchOptions allows to configure how the patches are applied to the shoot manifest.
	PatchOptions *PatchOptions `json:"patchOptions,omitempty"`
	// Patches contains a list of JSON patches that are applied to the shoot manifest before it is sent to the Gardener API server.
	// These patches are applied to the shoot manifest in the order they are defined.
	Patches jpapi.JSONPatches `json:"patches,omitempty"`

	// Extensions is a list of Gardener extensions that are to be ensured on the shoot.
	Extensions []gardenv1beta1.Extension `json:"extensions,omitempty"`

	// Resources is a list of resource references that are to be ensured on the shoot.
	Resources []gardenv1beta1.NamedResourceReference `json:"resources,omitempty"`
}

func (*ClusterConfigSpec) DeepCopy added in v0.3.0

func (in *ClusterConfigSpec) DeepCopy() *ClusterConfigSpec

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

func (*ClusterConfigSpec) DeepCopyInto added in v0.3.0

func (in *ClusterConfigSpec) DeepCopyInto(out *ClusterConfigSpec)

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

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 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 *commonapi.ObjectReference `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 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 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 {
	commonapi.Status `json:",inline"`

	// 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 PatchOptions added in v0.3.0

type PatchOptions struct {
	// IgnoreMissingOnRemove instructs the patch to ignore missing fields when removing them.
	IgnoreMissingOnRemove *bool `json:"ignoreMissingOnRemove,omitempty"`
	// CreateMissingOnAdd instructs the patch to create missing parent fields on add operations.
	CreateMissingOnAdd *bool `json:"createMissingOnAdd,omitempty"`
}

func (*PatchOptions) DeepCopy added in v0.3.0

func (in *PatchOptions) DeepCopy() *PatchOptions

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

func (*PatchOptions) DeepCopyInto added in v0.3.0

func (in *PatchOptions) DeepCopyInto(out *PatchOptions)

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 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 commonapi.LocalObjectReference `json:"providerRef"`

	// LandscapeRef is a reference to the Landscape resource this configuration belongs to.
	LandscapeRef commonapi.LocalObjectReference `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 {
	commonapi.Status `json:",inline"`
}

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