 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Overview ¶
+kubebuilder:object:generate=true +groupName=gardener.clusters.openmcp.cloud
Index ¶
- Constants
- Variables
- type ClusterConfig
- type ClusterConfigList
- type ClusterConfigSpec
- type ClusterStatus
- type GardenClusterAccess
- type Landscape
- type LandscapeList
- type LandscapeSpec
- type LandscapeStatus
- type PatchOptions
- type ProjectData
- type ProviderConfig
- type ProviderConfigList
- type ProviderConfigSpec
- type ProviderConfigStatus
Constants ¶
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" )
const ( ConditionMeta = "Meta" ConditionLandscapeManagement = "LandscapeManagement" AccessRequestConditionFoundClusterAndProfile = "FoundClusterAndProfile" AccessRequestConditionSecretExistsAndIsValid = "SecretExistsAndIsValid" AccessRequestConditionShootAccess = "ShootAccess" AccessRequestConditionCleanup = "Cleanup" ClusterConditionShootManagement = "ShootManagement" ClusterConditionClusterConfigurations = "ClusterConfigurations" ProviderConfigConditionCloudProfile = "CloudProfile" ProviderConfigConditionClusterProfileManagement = "ClusterProfileManagement" LandscapeConditionGardenClusterAccess = "GardenClusterAccess" )
const (
	// GroupName is the group name used in this package
	GroupName = "gardener.clusters.openmcp.cloud"
)
    Variables ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Landscape.
func (*Landscape) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Landscape) DeepCopyObject ¶
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 ¶
func (*ProviderConfigStatus) DeepCopy ¶
func (in *ProviderConfigStatus) DeepCopy() *ProviderConfigStatus
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.