v1alpha1

package
v0.27.0 Latest Latest
Warning

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

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

Documentation

Overview

+kubebuilder:object:generate=true

Package v1alpha1 contains API Schema definitions for the core API group +kubebuilder:object:generate=true +groupName=core.openmcp.cloud

Index

Constants

View Source
const (
	// HighAvailabilityFailureToleranceNode specifies that the control plane is tolerant to node failures within a single zone.
	HighAvailabilityFailureToleranceNode = "node"
	// HighAvailabilityFailureToleranceZone specifies that the control plane is tolerant to zone failures.
	HighAvailabilityFailureToleranceZone = "zone"
)
View Source
const (
	OIDCParameterIssuerURL    = "oidc-issuer-url"
	OIDCParameterClientID     = "oidc-client-id"
	OIDCParameterClientSecret = "oidc-client-secret"
	OIDCParameterExtraScope   = "oidc-extra-scope"
	OIDCParameterUsePKCE      = "oidc-use-pkce"
	OIDCParameterGrantType    = "grant-type"

	OIDCDefaultExtraScopes = "offline_access,email,profile"
	OIDCDefaultGrantType   = "auto"
)
View Source
const (
	GroupName          = "rbac.authorization.k8s.io"
	GroupKind          = "Group"
	ServiceAccountKind = "ServiceAccount"
	UserKind           = "User"
)
View Source
const (
	// RoleBindingRoleAdmin is the role for the admin
	RoleBindingRoleAdmin = "admin"
	// RoleBindingRoleView is the role for the viewer
	RoleBindingRoleView = "view"

	// AdminNamespaceScopeRole is the role for the admin with namespace scope
	AdminNamespaceScopeRole = "openmcp:admin"
	// AdminClusterScopeRole is the role for the admin with cluster scope
	AdminClusterScopeRole = "openmcp:admin:clusterscoped"
	// AdminNamespaceScopeStandardRulesRole is the role for the admin with namespace scope and standard rules
	AdminNamespaceScopeStandardRulesRole = "openmcp:aggregate-to-admin"
	// AdminClusterScopeStandardRulesRole is the role for the admin with cluster scope and standard rules
	AdminClusterScopeStandardRulesRole = "openmcp:clusterscoped:aggregate-to-admin"
	// AdminNamespaceScopeMatchLabel is the aggregation label for the admin with namespace scope
	AdminNamespaceScopeMatchLabel = BaseDomain + "/aggregate-to-admin"
	// AdminClusterScopeMatchLabel is the aggregation label for the admin with cluster scope
	AdminClusterScopeMatchLabel = BaseDomain + "/aggregate-to-admin-clusterscoped"

	// ViewNamespaceScopeRole is the role for the viewer with namespace scope
	ViewNamespaceScopeRole = "openmcp:view"
	// ViewClusterScopeRole is the role for the viewer with cluster scope
	ViewClusterScopeRole = "openmcp:view:clusterscoped"
	// ViewNamespaceScopeStandardRulesRole is the role for the viewer with namespace scope and standard rules
	ViewNamespaceScopeStandardRulesRole = "openmcp:aggregate-to-view"
	// ViewClusterScopeStandardClusterRole is the role for the viewer with cluster scope and standard rules
	ViewClusterScopeStandardClusterRole = "openmcp:clusterscoped:aggregate-to-view"
	// ViewNamespaceScopeMatchLabel is the aggregation label for the viewer with namespace scope
	ViewNamespaceScopeMatchLabel = BaseDomain + "/aggregate-to-view"
	// ViewClusterScopeMatchLabel is the aggregation label for the viewer with cluster scope
	ViewClusterScopeMatchLabel = BaseDomain + "/aggregate-to-view-clusterscoped"

	// AdminClusterRoleBinding is the cluster role binding for the admin with cluster scope
	AdminClusterRoleBinding = "openmcp:admin"
	// AdminRoleBinding is the role binding for the admin with namespace scope
	AdminRoleBinding = "openmcp:admin"
	// ViewClusterRoleBinding is the cluster role binding for the viewer with cluster scope
	ViewClusterRoleBinding = "openmcp:view"
	// ViewRoleBinding is the role binding for the viewer with namespace scope
	ViewRoleBinding = "openmcp:view"

	// ClusterAdminRoleBinding is the name of the role binding for the cluster admin
	ClusterAdminRoleBinding = "openmcp:cluster-admin"
	// ClusterAdminRole is the name of the role for the cluster admin
	ClusterAdminRole = "cluster-admin"
)
View Source
const (

	// BaseDomain is the CoLa base domain.
	// Components should prefix it with their own name.
	BaseDomain = "openmcp.cloud"

	// OperationAnnotation is the general operation annotation.
	OperationAnnotation = BaseDomain + "/operation"

	// OperationAnnotationValueReconcile is the value of the operation annotation which should cause a reconcile.
	OperationAnnotationValueReconcile = "reconcile"

	// OperationAnnotationValueIgnore is the value of the operation annotation which causes the responsible controller to ignore this resource.
	OperationAnnotationValueIgnore = "ignore"

	// ManagedControlPlaneBackReferenceLabelName contains the name of the creating ManagedControlPlane resource, in case the ManagedControlPlane's status is lost.
	ManagedControlPlaneBackReferenceLabelName = BaseDomain + "/mcp-name"
	// ManagedControlPlaneBackReferenceLabelNamespace contains the namespace of the creating ManagedControlPlane resource, in case the ManagedControlPlane's status is lost.
	ManagedControlPlaneBackReferenceLabelNamespace = BaseDomain + "/mcp-namespace"
	// ManagedControlPlaneBackReferenceLabelProject contains the Project of the ManagedControlPlane resource.
	// Note that this is only set if the corresponding project can be extracted from the containing namespace's metadata.
	// This label is for user information only and has no internal usage.
	ManagedControlPlaneBackReferenceLabelProject = BaseDomain + "/mcp-project"
	// ManagedControlPlaneBackReferenceLabelWorkspace contains the Workspace of the ManagedControlPlane resource.
	// Note that this is only set if the corresponding workspace can be extracted from the containing namespace's metadata.
	// This label is for user information only and has no internal usage.
	ManagedControlPlaneBackReferenceLabelWorkspace = BaseDomain + "/mcp-workspace"

	// ManagedControlPlaneGenerationLabel contains the generation of the managedcontrolplane from which this resource was created.
	// It is used to check whether component resources are outdated.
	ManagedControlPlaneGenerationLabel = BaseDomain + "/mcp-generation"
	// InternalConfigurationGenerationLabel contains the generation of the internalconfiguration that was used for this resource, if any.
	// It is used to check whether component resources are outdated.
	InternalConfigurationGenerationLabel = BaseDomain + "/ic-generation"

	// ManagedByLabel is added to resources created by the operator.
	ManagedByLabel = BaseDomain + "/managed-by"

	CreatedByAnnotation = BaseDomain + "/created-by"

	DisplayNameAnnotation = BaseDomain + "/display-name"

	// ComponentTypeLabel is added to the component's specific resources.
	// This allows generic functions (working on client.Object) to identify the component the resource belongs to.
	ComponentTypeLabel = BaseDomain + "/component"

	DependencyFinalizerPrefix = "dependency." + BaseDomain + "/"

	// SystemNamespace is the name of the system namespace.
	// This should be used whenever a namespace is required.
	SystemNamespace = "openmcp-system"

	// ProjectWorkspaceOperatorProjectLabel is the label that the PWO attaches to a namespace if that namespace belongs to a project.
	// Technically, this should be imported from the PWO, but it is not worth the dependency.
	ProjectWorkspaceOperatorProjectLabel = "core.openmcp.cloud/project"
	// ProjectWorkspaceOperatorWorkspaceLabel is the label that the PWO attaches to a namespace if that namespace belongs to a workspace.
	// Technically, this should be imported from the PWO, but it is not worth the dependency.
	ProjectWorkspaceOperatorWorkspaceLabel = "core.openmcp.cloud/workspace"

	// ManagedControlPlaneDomain is the domain for the v1alpha1.ManagedControlPlane controller.
	ManagedControlPlaneDomain = "managedcontrolplane." + BaseDomain

	// ManagedControlPlaneFinalizer is the finalizer for the ManagedControlPlane resource.
	ManagedControlPlaneFinalizer = "finalizer." + ManagedControlPlaneDomain

	// ManagedControlPlaneDeletionConfirmationAnnotation is the annotation, which needs to be set true before a mcp can be deleted
	ManagedControlPlaneDeletionConfirmationAnnotation = "confirmation." + BaseDomain + "/deletion"

	APIServerDomain = "apiserver." + BaseDomain

	ManagedByAPIServerLabel = APIServerDomain + "/managed"
)
View Source
const ConditionAPIServerHealthy = "apiServerHealthy"

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "core.openmcp.cloud", 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
)
View Source
var AllDirections = []Direction{NORTH, EAST, SOUTH, WEST, CENTRAL}

Functions

func GetClusterRoleNames

func GetClusterRoleNames() []string

GetClusterRoleNames returns the names of all known cluster roles.

func IsAdminRole

func IsAdminRole(roleName string) bool

IsAdminRole returns true if the given role name is an admin role.

func IsAggregatedRole

func IsAggregatedRole(roleName string) bool

IsAggregatedRole returns true if the given role name is an aggregated role.

func IsClusterScopedRole

func IsClusterScopedRole(roleName string) bool

IsClusterScopedRole returns true if the given role name is a cluster scoped role.

func ValidateIdp

func ValidateIdp(idp IdentityProvider, fldPath *field.Path) field.ErrorList

ValidateIdp validates the IdentityProvider

Types

type APIServer

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

	Spec   APIServerSpec   `json:"spec,omitempty"`
	Status APIServerStatus `json:"status,omitempty"`
}

APIServer is the Schema for the APIServer API +kubebuilder:resource:shortName=as +kubebuilder:printcolumn:name="Successfully_Reconciled",type=string,JSONPath=`.status.conditions[?(@.type=="APIServerReconciliation")].status` +kubebuilder:printcolumn:name="Deleted",type="date",JSONPath=".metadata.deletionTimestamp" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (*APIServer) DeepCopy

func (in *APIServer) DeepCopy() *APIServer

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

func (*APIServer) DeepCopyInto

func (in *APIServer) DeepCopyInto(out *APIServer)

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

func (*APIServer) DeepCopyObject

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

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

func (*APIServer) GetCommonStatus

func (as *APIServer) GetCommonStatus() CommonComponentStatus

GetCommonStatus implements Component.

func (*APIServer) GetExternalStatus

func (as *APIServer) GetExternalStatus() any

GetExternalStatus implements Component.

func (*APIServer) GetHealthCondition

func (*APIServer) GetHealthCondition() string

GetHealthCondition implements Component.

func (*APIServer) GetRequiredConditions

func (as *APIServer) GetRequiredConditions() sets.Set[string]

GetRequiredConditions implements Component.

func (*APIServer) GetSpec

func (as *APIServer) GetSpec() any

GetSpec implements Component.

func (*APIServer) SetCommonStatus

func (as *APIServer) SetCommonStatus(status CommonComponentStatus)

SetCommonStatus implements Component.

func (*APIServer) SetSpec

func (as *APIServer) SetSpec(cfg any) error

SetSpec implements Component.

func (*APIServer) Type

func (*APIServer) Type() ComponentType

Type implements Component.

type APIServerAccess

type APIServerAccess struct {
	// Kubeconfig is the kubeconfig for accessing the APIServer cluster.
	Kubeconfig string `json:"kubeconfig,omitempty"`

	// CreationTimestamp is the time when this access was created.
	// +optional
	CreationTimestamp *metav1.Time `json:"creationTimestamp,omitempty"`

	// ExpirationTimestamp is the time until the access loses its validity.
	// +optional
	ExpirationTimestamp *metav1.Time `json:"expirationTimestamp,omitempty"`
}

APIServerAccess contains access information for the API server. Usually a kubeconfig, optional some metadata.

func (*APIServerAccess) DeepCopy

func (in *APIServerAccess) DeepCopy() *APIServerAccess

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

func (*APIServerAccess) DeepCopyInto

func (in *APIServerAccess) DeepCopyInto(out *APIServerAccess)

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

type APIServerConfiguration

type APIServerConfiguration struct {
	// Type is the type of APIServer. This determines which other configuration fields need to be specified.
	// Valid values are:
	// - Gardener
	// - GardenerDedicated
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="type is immutable"
	// +kubebuilder:validation:Enum=Gardener;GardenerDedicated
	// +kubebuilder:default="GardenerDedicated"
	Type APIServerType `json:"type"`

	// GardenerConfig contains configuration for a Gardener APIServer.
	// Must be set if type is 'Gardener', is ignored otherwise.
	// +optional
	GardenerConfig *GardenerConfiguration `json:"gardener,omitempty"`
}

APIServerConfiguration contains the configuration which is required for setting up a k8s cluster to be used as APIServer.

func (*APIServerConfiguration) DeepCopy

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

func (*APIServerConfiguration) DeepCopyInto

func (in *APIServerConfiguration) DeepCopyInto(out *APIServerConfiguration)

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

type APIServerInternalConfiguration

type APIServerInternalConfiguration struct {
	// GardenerConfig contains internal configuration for a Gardener APIServer.
	// +optional
	GardenerConfig *GardenerInternalConfiguration `json:"gardener,omitempty"`
}

func (*APIServerInternalConfiguration) DeepCopy

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

func (*APIServerInternalConfiguration) DeepCopyInto

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

type APIServerList

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

APIServerList contains a list of APIServer

func (*APIServerList) DeepCopy

func (in *APIServerList) DeepCopy() *APIServerList

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

func (*APIServerList) DeepCopyInto

func (in *APIServerList) DeepCopyInto(out *APIServerList)

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

func (*APIServerList) DeepCopyObject

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

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

type APIServerSpec

type APIServerSpec struct {
	APIServerConfiguration `json:",inline"`

	// Internal contains the parts of the configuration which are not exposed to the customer.
	// It would be nice to have this as an inline field, but since both APIServerConfiguration and APIServerInternalConfiguration
	// contain a field 'gardener', this would clash.
	// +optional
	Internal *APIServerInternalConfiguration `json:"internal,omitempty"`

	// DesiredRegion is part of the common configuration.
	// If specified, it will be used to determine the region for the created cluster.
	// +optional
	DesiredRegion *RegionSpecification `json:"desiredRegion"`
}

APIServerSpec contains the APIServer configuration and potentially other fields which should not be exposed to the customer.

func (*APIServerSpec) DeepCopy

func (in *APIServerSpec) DeepCopy() *APIServerSpec

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

func (*APIServerSpec) DeepCopyInto

func (in *APIServerSpec) DeepCopyInto(out *APIServerSpec)

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

func (*APIServerSpec) Default

func (asSpec *APIServerSpec) Default()

Default sets defaults. This modifies the receiver object. Note that only the parts which belong to the configured type are defaulted, everything else is ignored.

func (*APIServerSpec) Validate

func (asSpec *APIServerSpec) Validate(path string, morePaths ...string) error

Validate validates the configuration. Only the configuration that belongs to the configured type is validated, configuration for other types is ignored.

type APIServerStatus

type APIServerStatus struct {
	CommonComponentStatus `json:",inline"`

	// ExternalAPIServerStatus contains the status of the external API server
	*ExternalAPIServerStatus `json:",inline"`

	// AdminAccess is an admin kubeconfig for accessing the API server.
	// +optional
	AdminAccess *APIServerAccess `json:"adminAccess,omitempty"`

	// GardenerStatus contains status if the type is 'Gardener'.
	// +optional
	GardenerStatus *GardenerStatus `json:"gardener,omitempty"`
}

APIServerStatus contains the APIServer status and potentially other fields which should not be exposed to the customer.

func (*APIServerStatus) DeepCopy

func (in *APIServerStatus) DeepCopy() *APIServerStatus

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

func (*APIServerStatus) DeepCopyInto

func (in *APIServerStatus) DeepCopyInto(out *APIServerStatus)

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

type APIServerType

type APIServerType string
const (
	// Gardener is the APIServerType for a workerless shoot cluster.
	Gardener APIServerType = "Gardener"

	// GardenerDedicated is the APIServerType for a cluster with worker nodes.
	GardenerDedicated APIServerType = "GardenerDedicated"
)

type AuditLogConfig

type AuditLogConfig struct {
	// Type is the type of the audit log.
	// +kubebuilder:validation:Enum=standard
	Type string `json:"type"`

	// TenantID is the tenant ID of the BTP Subaccount. Can be seen in the BTP Cockpit dashboard.
	TenantID string `json:"tenantID"`

	// ServiceURL is the URL from the Service Keys.
	ServiceURL string `json:"serviceURL"`

	// SecretRef is the reference to the secret containing the credentials for the audit log service.
	SecretRef corev1.LocalObjectReference `json:"secretRef"`

	// PolicyRef is the reference to the policy containing the configuration for the audit log service.
	PolicyRef corev1.LocalObjectReference `json:"policyRef"`
}

AuditLogConfig defines the AuditLog configuration for the resource cluster (shoot cluster).

func (*AuditLogConfig) DeepCopy

func (in *AuditLogConfig) DeepCopy() *AuditLogConfig

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

func (*AuditLogConfig) DeepCopyInto

func (in *AuditLogConfig) DeepCopyInto(out *AuditLogConfig)

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

type Authentication

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

	Spec   AuthenticationSpec   `json:"spec,omitempty"`
	Status AuthenticationStatus `json:"status,omitempty"`
}

Authentication is the Schema for the authentication API +kubebuilder:resource:shortName=auth +kubebuilder:printcolumn:name="Successfully_Reconciled",type=string,JSONPath=`.status.conditions[?(@.type=="AuthenticationReconciliation")].status` +kubebuilder:printcolumn:name="Deleted",type="date",JSONPath=".metadata.deletionTimestamp" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (*Authentication) DeepCopy

func (in *Authentication) DeepCopy() *Authentication

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

func (*Authentication) DeepCopyInto

func (in *Authentication) DeepCopyInto(out *Authentication)

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

func (*Authentication) DeepCopyObject

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

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

func (*Authentication) GetCommonStatus

func (a *Authentication) GetCommonStatus() CommonComponentStatus

GetCommonStatus returns the common status of the Authentication component.

func (*Authentication) GetExternalStatus

func (a *Authentication) GetExternalStatus() any

GetExternalStatus returns the external status of the Authentication component.

func (*Authentication) GetRequiredConditions

func (a *Authentication) GetRequiredConditions() sets.Set[string]

GetRequiredConditions implements Component.

func (*Authentication) GetSpec

func (a *Authentication) GetSpec() any

GetSpec returns the spec of the Authentication component.

func (*Authentication) IsSystemIdentityProviderEnabled

func (a *Authentication) IsSystemIdentityProviderEnabled() bool

IsSystemIdentityProviderEnabled returns true if the system identity provider is enabled

func (*Authentication) SetCommonStatus

func (a *Authentication) SetCommonStatus(status CommonComponentStatus)

SetCommonStatus sets the common status of the Authentication component.

func (*Authentication) SetSpec

func (a *Authentication) SetSpec(cfg any) error

SetSpec sets the spec of the Authentication component.

func (*Authentication) Type

func (*Authentication) Type() ComponentType

Type returns the type of the Authentication component.

type AuthenticationConfiguration

type AuthenticationConfiguration struct {
	// +kubebuilder:validation:Optional
	EnableSystemIdentityProvider *bool `json:"enableSystemIdentityProvider"`
	// +kubebuilder:validation:Optional
	IdentityProviders []IdentityProvider `json:"identityProviders,omitempty"`
}

AuthenticationConfiguration contains the configuration for the enabled OpenID Connect identity providers

func (*AuthenticationConfiguration) DeepCopy

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

func (*AuthenticationConfiguration) DeepCopyInto

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

type AuthenticationList

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

AuthenticationList contains the list of authentications

func (*AuthenticationList) DeepCopy

func (in *AuthenticationList) DeepCopy() *AuthenticationList

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

func (*AuthenticationList) DeepCopyInto

func (in *AuthenticationList) DeepCopyInto(out *AuthenticationList)

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

func (*AuthenticationList) DeepCopyObject

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

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

type AuthenticationSpec

type AuthenticationSpec struct {
	AuthenticationConfiguration `json:",inline"`
}

AuthenticationSpec contains the specification for the authentication component

func (*AuthenticationSpec) DeepCopy

func (in *AuthenticationSpec) DeepCopy() *AuthenticationSpec

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

func (*AuthenticationSpec) DeepCopyInto

func (in *AuthenticationSpec) DeepCopyInto(out *AuthenticationSpec)

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

func (*AuthenticationSpec) Default

func (as *AuthenticationSpec) Default()

Default sets the default values for the AuthenticationSpec. This modifies the receiver object.

func (*AuthenticationSpec) Validate

func (as *AuthenticationSpec) Validate(path string, morePaths ...string) error

Validate validates the AuthenticationSpec

type AuthenticationStatus

type AuthenticationStatus struct {
	CommonComponentStatus         `json:",inline"`
	*ExternalAuthenticationStatus `json:",inline"`
}

AuthenticationStatus contains the status of the authentication component

func (*AuthenticationStatus) DeepCopy

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

func (*AuthenticationStatus) DeepCopyInto

func (in *AuthenticationStatus) DeepCopyInto(out *AuthenticationStatus)

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

type Authorization

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

	Spec   AuthorizationSpec   `json:"spec,omitempty"`
	Status AuthorizationStatus `json:"status,omitempty"`
}

Authorization is the Schema for the authorization API +kubebuilder:resource:shortName=authz +kubebuilder:printcolumn:name="Successfully_Reconciled",type=string,JSONPath=`.status.conditions[?(@.type=="AuthorizationReconciliation")].status` +kubebuilder:printcolumn:name="Deleted",type="date",JSONPath=".metadata.deletionTimestamp" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (*Authorization) DeepCopy

func (in *Authorization) DeepCopy() *Authorization

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

func (*Authorization) DeepCopyInto

func (in *Authorization) DeepCopyInto(out *Authorization)

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

func (*Authorization) DeepCopyObject

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

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

func (*Authorization) GetCommonStatus

func (a *Authorization) GetCommonStatus() CommonComponentStatus

GetCommonStatus returns the common status of the Authentication component.

func (*Authorization) GetExternalStatus

func (a *Authorization) GetExternalStatus() any

GetExternalStatus returns the external status of the Authentication component.

func (*Authorization) GetRequiredConditions

func (a *Authorization) GetRequiredConditions() sets.Set[string]

GetRequiredConditions implements Component.

func (*Authorization) GetSpec

func (a *Authorization) GetSpec() any

GetSpec returns the spec of the Authentication component.

func (*Authorization) SetCommonStatus

func (a *Authorization) SetCommonStatus(status CommonComponentStatus)

SetCommonStatus sets the common status of the Authentication component.

func (*Authorization) SetSpec

func (a *Authorization) SetSpec(cfg any) error

SetSpec sets the spec of the Authentication component.

func (*Authorization) Type

func (*Authorization) Type() ComponentType

Type returns the type of the Authentication component.

type AuthorizationConfiguration

type AuthorizationConfiguration struct {
	// RoleBindings is a list of role bindings
	RoleBindings []RoleBinding `json:"roleBindings"`
}

AuthorizationConfiguration contains the configuration of the subjects assigned to control plane roles

func (*AuthorizationConfiguration) DeepCopy

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

func (*AuthorizationConfiguration) DeepCopyInto

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

func (*AuthorizationConfiguration) GetRoleForName

func (ac *AuthorizationConfiguration) GetRoleForName(roleName string) *RoleBinding

GetRoleForName returns the role for the given role name or nil if the role does not exist. If multiple roles with the same name exist, their subject lists are aggregated.

type AuthorizationList

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

AuthorizationList contains the list of authorizations

func (*AuthorizationList) DeepCopy

func (in *AuthorizationList) DeepCopy() *AuthorizationList

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

func (*AuthorizationList) DeepCopyInto

func (in *AuthorizationList) DeepCopyInto(out *AuthorizationList)

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

func (*AuthorizationList) DeepCopyObject

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

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

type AuthorizationSpec

type AuthorizationSpec struct {
	AuthorizationConfiguration `json:",inline"`
}

AuthorizationSpec contains the specification for the authorization component

func (*AuthorizationSpec) DeepCopy

func (in *AuthorizationSpec) DeepCopy() *AuthorizationSpec

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

func (*AuthorizationSpec) DeepCopyInto

func (in *AuthorizationSpec) DeepCopyInto(out *AuthorizationSpec)

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

func (*AuthorizationSpec) Default

func (as *AuthorizationSpec) Default()

Default sets the default values for the AuthorizationSpec

func (*AuthorizationSpec) Validate

func (as *AuthorizationSpec) Validate(path string, morePaths ...string) error

Validate validates the AuthorizationSpec

type AuthorizationStatus

type AuthorizationStatus struct {
	CommonComponentStatus `json:",inline"`
	// ExternalAuthorizationStatus contains the status of the external authorization component
	*ExternalAuthorizationStatus `json:",inline"`

	// UserNamespaces is a list of namespaces that have been created by the user and
	// must be managed by the authorization component.
	UserNamespaces []string `json:"userNamespaces,omitempty"`
}

AuthorizationStatus contains the status of the authorization component

func (*AuthorizationStatus) DeepCopy

func (in *AuthorizationStatus) DeepCopy() *AuthorizationStatus

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

func (*AuthorizationStatus) DeepCopyInto

func (in *AuthorizationStatus) DeepCopyInto(out *AuthorizationStatus)

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

type BTPServiceOperatorConfig

type BTPServiceOperatorConfig struct {
	// The Version of BTP Service Operator to install.
	// +kubebuilder:validation:Required
	Version string `json:"version"`
}

BTPServiceOperatorConfig defines the configuration of BTPServiceOperator

func (*BTPServiceOperatorConfig) DeepCopy

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

func (*BTPServiceOperatorConfig) DeepCopyInto

func (in *BTPServiceOperatorConfig) DeepCopyInto(out *BTPServiceOperatorConfig)

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

type ClientAuthenticationConfig

type ClientAuthenticationConfig struct {
	// ClientSecret is a references to a secret containing the client secret.
	// The client secret will be added to the generated kubeconfig with the "--oidc-client-secret" flag.
	// +kubebuilder:validation:Optional
	ClientSecret *LocalSecretReference `json:"clientSecret,omitempty"`
	// ExtraConfig is added to the client configuration in the kubeconfig.
	// Can either be a single string value, a list of string values or no value.
	// Must not contain any of the following keys:
	// - "client-id"
	// - "client-secret"
	// - "issuer-url"
	//
	// +kubebuilder:validation:Optional
	ExtraConfig map[string]SingleOrMultiStringValue `json:"extraConfig,omitempty"`
}

ClientAuthenticationConfig contains configuration for OIDC clients

func (*ClientAuthenticationConfig) DeepCopy

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

func (*ClientAuthenticationConfig) DeepCopyInto

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

type CloudOrchestrator

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

	Spec   CloudOrchestratorSpec   `json:"spec,omitempty"`
	Status CloudOrchestratorStatus `json:"status,omitempty"`
}

CloudOrchestrator is the Schema for the internal CloudOrchestrator API

func (*CloudOrchestrator) DeepCopy

func (in *CloudOrchestrator) DeepCopy() *CloudOrchestrator

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

func (*CloudOrchestrator) DeepCopyInto

func (in *CloudOrchestrator) DeepCopyInto(out *CloudOrchestrator)

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

func (*CloudOrchestrator) DeepCopyObject

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

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

func (*CloudOrchestrator) GetCommonStatus

func (o *CloudOrchestrator) GetCommonStatus() CommonComponentStatus

GetCommonStatus implements Component.

func (*CloudOrchestrator) GetExternalStatus

func (o *CloudOrchestrator) GetExternalStatus() any

GetExternalStatus implements Component.

func (*CloudOrchestrator) GetRequiredConditions

func (o *CloudOrchestrator) GetRequiredConditions() sets.Set[string]

GetRequiredConditions implements Component.

func (*CloudOrchestrator) GetSpec

func (o *CloudOrchestrator) GetSpec() any

GetSpec implements Component.

func (*CloudOrchestrator) SetCommonStatus

func (o *CloudOrchestrator) SetCommonStatus(status CommonComponentStatus)

SetCommonStatus implements Component.

func (*CloudOrchestrator) SetSpec

func (o *CloudOrchestrator) SetSpec(cfg any) error

SetSpec implements Component.

func (*CloudOrchestrator) Type

Type implements Component.

type CloudOrchestratorConfiguration

type CloudOrchestratorConfiguration struct {
	// Crossplane defines the configuration for setting up the Crossplane component in a ManagedControlPlane.
	// +kubebuilder:validation:Optional
	Crossplane *CrossplaneConfig `json:"crossplane,omitempty"`

	// BTPServiceOperator defines the configuration for setting up the BTPServiceOperator component in a ManagedControlPlane.
	// +kubebuilder:validation:Optional
	BTPServiceOperator *BTPServiceOperatorConfig `json:"btpServiceOperator,omitempty"`

	// ExternalSecretsOperator defines the configuration for setting up the ExternalSecretsOperator component in a ManagedControlPlane.
	// +kubebuilder:validation:Optional
	ExternalSecretsOperator *ExternalSecretsOperatorConfig `json:"externalSecretsOperator,omitempty"`

	// Kyverno defines the configuration for setting up the Kyverno component in a ManagedControlPlane.
	// +kubebuilder:validation:Optional
	Kyverno *KyvernoConfig `json:"kyverno,omitempty"`

	// Flux defines the configuration for setting up the Flux component in a ManagedControlPlane.
	// +kubebuilder:validation:Optional
	Flux *FluxConfig `json:"flux,omitempty"`
}

CloudOrchestratorConfiguration contains the configuration for setting up the CloudOrchestrator component in a ManagedControlPlane.

func (*CloudOrchestratorConfiguration) DeepCopy

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

func (*CloudOrchestratorConfiguration) DeepCopyInto

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

type CloudOrchestratorList

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

CloudOrchestratorList contains a list of CloudOrchestrator

func (*CloudOrchestratorList) DeepCopy

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

func (*CloudOrchestratorList) DeepCopyInto

func (in *CloudOrchestratorList) DeepCopyInto(out *CloudOrchestratorList)

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

func (*CloudOrchestratorList) DeepCopyObject

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

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

type CloudOrchestratorSpec

type CloudOrchestratorSpec struct {
	CloudOrchestratorConfiguration `json:",inline"`
}

CloudOrchestratorSpec defines the desired state of CloudOrchestrator

func (*CloudOrchestratorSpec) DeepCopy

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

func (*CloudOrchestratorSpec) DeepCopyInto

func (in *CloudOrchestratorSpec) DeepCopyInto(out *CloudOrchestratorSpec)

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

func (*CloudOrchestratorSpec) Default

func (cos *CloudOrchestratorSpec) Default()

Default sets defaults. This modifies the receiver object. Note that only the parts which belong to the configured type are defaulted, everything else is ignored.

func (*CloudOrchestratorSpec) Validate

func (cos *CloudOrchestratorSpec) Validate(path string, morePaths ...string) error

Validate validates the configuration. Only the configuration that belongs to the configured type is validated, configuration for other types is ignored.

type CloudOrchestratorStatus

type CloudOrchestratorStatus struct {
	CommonComponentStatus            `json:",inline"`
	*ExternalCloudOrchestratorStatus `json:",inline"`

	// Number of enabled components.
	// +kubebuilder:validation:Optional
	ComponentsEnabled int `json:"componentsEnabled"`

	// Number of healthy components.
	// +kubebuilder:validation:Optional
	ComponentsHealthy int `json:"componentsHealthy"`
}

CloudOrchestratorStatus defines the observed state of CloudOrchestrator

func (*CloudOrchestratorStatus) DeepCopy

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

func (*CloudOrchestratorStatus) DeepCopyInto

func (in *CloudOrchestratorStatus) DeepCopyInto(out *CloudOrchestratorStatus)

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

type ClusterAdmin

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

	Spec   ClusterAdminSpec   `json:"spec,omitempty"`
	Status ClusterAdminStatus `json:"status,omitempty"`
}

ClusterAdmin is the Schema for the cluster admin API +kubebuilder:resource:shortName=clas +kubebuilder:printcolumn:name="Active",type=string,JSONPath=`.status.active` +kubebuilder:printcolumn:name="Activated",type="date",JSONPath=".status.activationTime" +kubebuilder:printcolumn:name="Expiration",type="string",JSONPath=".status.expirationTime"

func (*ClusterAdmin) DeepCopy

func (in *ClusterAdmin) DeepCopy() *ClusterAdmin

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

func (*ClusterAdmin) DeepCopyInto

func (in *ClusterAdmin) DeepCopyInto(out *ClusterAdmin)

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

func (*ClusterAdmin) DeepCopyObject

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

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

type ClusterAdminList

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

ClusterAdminList contains the list of cluster admins

func (*ClusterAdminList) DeepCopy

func (in *ClusterAdminList) DeepCopy() *ClusterAdminList

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

func (*ClusterAdminList) DeepCopyInto

func (in *ClusterAdminList) DeepCopyInto(out *ClusterAdminList)

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

func (*ClusterAdminList) DeepCopyObject

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

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

type ClusterAdminSpec

type ClusterAdminSpec struct {
	Subjects []Subject `json:"subjects"`
}

ClusterAdminSpec contains the specification for the cluster admin

func (*ClusterAdminSpec) DeepCopy

func (in *ClusterAdminSpec) DeepCopy() *ClusterAdminSpec

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

func (*ClusterAdminSpec) DeepCopyInto

func (in *ClusterAdminSpec) DeepCopyInto(out *ClusterAdminSpec)

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

type ClusterAdminStatus

type ClusterAdminStatus struct {
	// Active is set to true if the subjects of the cluster admin are assigned the cluster-admin role
	Active bool `json:"active"`
	// ActivationTime is the time when the cluster admin was activated
	// +optional
	Activated *metav1.Time `json:"activationTime,omitempty"`
	// ExpirationTime is the time when the cluster admin will expire
	// +optional
	Expiration *metav1.Time `json:"expirationTime,omitempty"`
}

ClusterAdminStatus contains the status of the cluster admin

func (*ClusterAdminStatus) DeepCopy

func (in *ClusterAdminStatus) DeepCopy() *ClusterAdminStatus

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

func (*ClusterAdminStatus) DeepCopyInto

func (in *ClusterAdminStatus) DeepCopyInto(out *ClusterAdminStatus)

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

type CommonComponentStatus

type CommonComponentStatus struct {
	// Conditions containts the conditions of the component.
	// For each component, this is expected to contain at least one condition per top-level node that component has in the ManagedControlPlane's spec.
	// This condition is expected to be named "<node>Healthy" and to describe the general availability of the functionality configured by that top-level node.
	Conditions ComponentConditionList `json:"conditions,omitempty"`

	// ObservedGenerations contains information about the observed generations of a component.
	// This information is required to determine whether a component's controller has already processed some changes or not.
	ObservedGenerations ObservedGenerations `json:"observedGenerations,omitempty"`
}

CommonComponentStatus contains fields which all component resources' statuses must contain.

func (*CommonComponentStatus) DeepCopy

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

func (*CommonComponentStatus) DeepCopyInto

func (in *CommonComponentStatus) DeepCopyInto(out *CommonComponentStatus)

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

type CommonConfig

type CommonConfig struct {
	// DesiredRegion allows customers to specify a desired region proximity.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="RegionSpecification is immutable"
	DesiredRegion *RegionSpecification `json:"desiredRegion,omitempty"`
}

CommonConfig contains configuration that is shared between multiple components. +kubebuilder:validation:XValidation:rule="!has(oldSelf.desiredRegion)|| has(self.desiredRegion)",message="desiredRegion is required once set"

func (*CommonConfig) DeepCopy

func (in *CommonConfig) DeepCopy() *CommonConfig

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

func (*CommonConfig) DeepCopyInto

func (in *CommonConfig) DeepCopyInto(out *CommonConfig)

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

type ComponentCondition

type ComponentCondition struct {
	// Type is the type of the condition.
	// This is a unique identifier and each type of condition is expected to be managed by exactly one component controller.
	Type string `json:"type"`

	// Status is the status of the condition.
	Status ComponentConditionStatus `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 (*ComponentCondition) DeepCopy

func (in *ComponentCondition) DeepCopy() *ComponentCondition

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

func (*ComponentCondition) DeepCopyInto

func (in *ComponentCondition) DeepCopyInto(out *ComponentCondition)

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

func (ComponentCondition) IsFalse

func (cc ComponentCondition) IsFalse() bool

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

func (ComponentCondition) IsTrue

func (cc ComponentCondition) IsTrue() bool

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

func (ComponentCondition) IsUnknown

func (cc ComponentCondition) IsUnknown() bool

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

type ComponentConditionList

type ComponentConditionList []ComponentCondition

ComponentConditionList is a list of ComponentConditions.

func (ComponentConditionList) DeepCopy

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

func (ComponentConditionList) DeepCopyInto

func (in ComponentConditionList) DeepCopyInto(out *ComponentConditionList)

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

type ComponentConditionStatus

type ComponentConditionStatus string
const (
	// ComponentConditionStatusUnknown represents an unknown status for the condition.
	ComponentConditionStatusUnknown ComponentConditionStatus = "Unknown"
	// ComponentConditionStatusTrue marks the condition as true.
	ComponentConditionStatusTrue ComponentConditionStatus = "True"
	// ComponentConditionStatusFalse marks the condition as false.
	ComponentConditionStatusFalse ComponentConditionStatus = "False"
)

func ComponentConditionStatusFromBool

func ComponentConditionStatusFromBool(src bool) ComponentConditionStatus

ComponentConditionStatusFromBool converts a bool into the corresponding ComponentConditionStatus.

func ComponentConditionStatusFromBoolPtr

func ComponentConditionStatusFromBoolPtr(src *bool) ComponentConditionStatus

ComponentConditionStatusFromBoolPtr converts a bool pointer into the corresponding ComponentConditionStatus. If nil, "Unknown" is returned.

type ComponentType

type ComponentType string
const APIServerComponent ComponentType = "APIServer"
const AuthenticationComponent ComponentType = "Authentication"
const AuthorizationComponent ComponentType = "Authorization"
const CloudOrchestratorComponent ComponentType = "CloudOrchestrator"
const (
	ComponentTypeUndefined ComponentType = "Undefined"
)
const LandscaperComponent ComponentType = "Landscaper"

func (ComponentType) DependencyFinalizer

func (ct ComponentType) DependencyFinalizer() string

DependencyFinalizer returns the finalizer this component uses to mark its dependencies.

func (ComponentType) Finalizer

func (ct ComponentType) Finalizer() string

Finalizer returns the finalizer this component sets on its own resources.

func (ComponentType) HealthyCondition

func (ct ComponentType) HealthyCondition() string

HealthyCondition returns the name of the condition that holds the information whether the component is healthy or not. It resolves to "<componentType>Healthy".

func (ComponentType) ReconciliationCondition

func (ct ComponentType) ReconciliationCondition() string

ReconciliationCondition returns the name of the condition that holds the information whether the last reconciliation of the component was successful or not. It resolves to "<componentType>Reconciliation".

type CrossplaneConfig

type CrossplaneConfig struct {
	// The Version of Crossplane to install.
	// +kubebuilder:validation:Required
	Version string `json:"version"`

	Providers []*CrossplaneProviderConfig `json:"providers,omitempty"`
}

CrossplaneConfig defines the configuration of Crossplane

func (*CrossplaneConfig) DeepCopy

func (in *CrossplaneConfig) DeepCopy() *CrossplaneConfig

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

func (*CrossplaneConfig) DeepCopyInto

func (in *CrossplaneConfig) DeepCopyInto(out *CrossplaneConfig)

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

type CrossplaneProviderConfig

type CrossplaneProviderConfig struct {
	// Name of the provider.
	// Using a well-known name will automatically configure the "package" field.
	// +kubebuilder:validation:Required
	Name string `json:"name"`

	// Version of the provider to install.
	// +kubebuilder:validation:Required
	Version string `json:"version"`
}

func (*CrossplaneProviderConfig) DeepCopy

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

func (*CrossplaneProviderConfig) DeepCopyInto

func (in *CrossplaneProviderConfig) DeepCopyInto(out *CrossplaneProviderConfig)

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

type Direction

type Direction string

Direction represents a direction within a region. +kubebuilder:validation:Enum=north;east;south;west;central

const (
	NORTH   Direction = "north"
	EAST    Direction = "east"
	SOUTH   Direction = "south"
	WEST    Direction = "west"
	CENTRAL Direction = "central"
)

type EncryptionConfig

type EncryptionConfig struct {
	// Resources contains the list of resources that shall be encrypted in addition to secrets.
	// Each item is a Kubernetes resource name in plural (resource or resource.group) that should be encrypted.
	// Example: ["configmaps", "statefulsets.apps", "flunders.emxample.com"]
	Resources []string `json:"resources,omitempty"`
}

EncryptionConfig contains customizable encryption configuration of the API server.

func (*EncryptionConfig) DeepCopy

func (in *EncryptionConfig) DeepCopy() *EncryptionConfig

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

func (*EncryptionConfig) DeepCopyInto

func (in *EncryptionConfig) DeepCopyInto(out *EncryptionConfig)

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

type ExternalAPIServerStatus

type ExternalAPIServerStatus struct {
	// Endpoint represents the Kubernetes API server endpoint
	// +optional
	Endpoint string `json:"endpoint,omitempty"`

	// ServiceAccountIssuer represents the OpenIDConnect issuer URL that can be used to verify service account tokens.
	// +optional
	ServiceAccountIssuer string `json:"serviceAccountIssuer,omitempty"`
}

ExternalAPIServerStatus contains the status of the API server / ManagedControlPlane cluster. The Kuberenetes can act as an OIDC compatible provider in a sense that they serve OIDC issuer endpoint URL so that other system can validate tokens that have been issued by the external party.

func (*ExternalAPIServerStatus) DeepCopy

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

func (*ExternalAPIServerStatus) DeepCopyInto

func (in *ExternalAPIServerStatus) DeepCopyInto(out *ExternalAPIServerStatus)

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

type ExternalAuthenticationStatus

type ExternalAuthenticationStatus struct {
	// UserAccess reference the secret containing the kubeconfig
	// for the APIServer which is to be used by the customer.
	// +optional
	UserAccess *SecretReference `json:"access,omitempty"`
}

ExternalAuthenticationStatus contains the status of the authentication component.

func (*ExternalAuthenticationStatus) DeepCopy

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

func (*ExternalAuthenticationStatus) DeepCopyInto

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

type ExternalAuthorizationStatus

type ExternalAuthorizationStatus struct {
}

ExternalAuthorizationStatus contains the status of the external authorization component

func (*ExternalAuthorizationStatus) DeepCopy

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

func (*ExternalAuthorizationStatus) DeepCopyInto

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

type ExternalCloudOrchestratorStatus

type ExternalCloudOrchestratorStatus struct {
}

ExternalCloudOrchestratorStatus contains the status of the CloudOrchestrator component.

func (*ExternalCloudOrchestratorStatus) DeepCopy

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

func (*ExternalCloudOrchestratorStatus) DeepCopyInto

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

type ExternalLandscaperStatus

type ExternalLandscaperStatus struct {
}

ExternalLandscaperStatus contains the status of a LaaS instance.

func (*ExternalLandscaperStatus) DeepCopy

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

func (*ExternalLandscaperStatus) DeepCopyInto

func (in *ExternalLandscaperStatus) DeepCopyInto(out *ExternalLandscaperStatus)

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

type ExternalSecretsOperatorConfig

type ExternalSecretsOperatorConfig struct {
	// The Version of External Secrets Operator to install.
	// +kubebuilder:validation:Required
	Version string `json:"version"`
}

ExternalSecretsOperatorConfig defines the configuration of ExternalSecretsOperator

func (*ExternalSecretsOperatorConfig) DeepCopy

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

func (*ExternalSecretsOperatorConfig) DeepCopyInto

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

type FluxConfig

type FluxConfig struct {
	// The Version of Flux to install.
	// +kubebuilder:validation:Required
	Version string `json:"version"`
}

FluxConfig defines the configuration of Flux

func (*FluxConfig) DeepCopy

func (in *FluxConfig) DeepCopy() *FluxConfig

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

func (*FluxConfig) DeepCopyInto

func (in *FluxConfig) DeepCopyInto(out *FluxConfig)

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

type GardenerConfiguration

type GardenerConfiguration struct {
	// Region is the region to be used for the Shoot cluster.
	// This is usually derived from the ManagedControlPlane's common configuration, but can be overwritten here.
	// +kubebuilder:validation:XValidation:message="region is immutable",rule="self == oldSelf"
	// +kubebuilder:validation:Optional
	Region string `json:"region,omitempty"`

	// HighAvailabilityConfig specifies the HA configuration for the API server.
	// +kubebuilder:validation:XValidation:message="highAvailability is immutable",rule="self == oldSelf"
	// +kubebuilder:validation:Optional
	HighAvailabilityConfig *HighAvailabilityConfig `json:"highAvailability,omitempty"`

	// AuditLogConfig defines the AuditLog configuration for the ManagedControlPlane cluster.
	// +kubebuilder:validation:Optional
	AuditLog *AuditLogConfig `json:"auditLog,omitempty"`

	// EncryptionConfig contains customizable encryption configuration of the API server.
	// +optional
	EncryptionConfig *EncryptionConfig `json:"encryptionConfig,omitempty"`
}

GardenerConfiguration contains the configuration that is required for setting up a Gardener-based APIServer. +kubebuilder:validation:XValidation:rule="has(self.highAvailability) == has(oldSelf.highAvailability) || has(self.highAvailability)",message="highAvailability is required once set"

func (*GardenerConfiguration) DeepCopy

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

func (*GardenerConfiguration) DeepCopyInto

func (in *GardenerConfiguration) DeepCopyInto(out *GardenerConfiguration)

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

func (*GardenerConfiguration) Default

func (gc *GardenerConfiguration) Default()

func (*GardenerConfiguration) Validate

func (gc *GardenerConfiguration) Validate(fldPath *field.Path) field.ErrorList

type GardenerInternalConfiguration

type GardenerInternalConfiguration struct {
	// ShootOverwrite allows to overwrite the shoot to be used. This could be useful for migration tasks.
	// +kubebuilder:validation:Optional
	ShootOverwrite *NamespacedObjectReference `json:"shootOverwrite,omitempty"`

	// K8SVersionOverwrite is the k8s version for the Shoot cluster.
	// Will be defaulted if not specified.
	// +kubebuilder:validation:Optional
	K8SVersionOverwrite string `json:"k8sVersionOverwrite,omitempty"`

	// LandscapeConfiguration is the name of the landscape and the name of the configuration to use.
	// The expected format is "<landscape-name>/<config-name>".
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern="^[a-z0-9-]+/[a-z0-9-]+$"
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	LandscapeConfiguration string `json:"landscapeConfiguration,omitempty"`
}

func (*GardenerInternalConfiguration) DeepCopy

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

func (*GardenerInternalConfiguration) DeepCopyInto

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

type GardenerStatus

type GardenerStatus struct {
	// Shoot contains the shoot manifest generated by the controller.
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	Shoot *runtime.RawExtension `json:"shoot,omitempty"`
}

GardenerStatus contains internal status for 'Gardener' type APIServer.

func (*GardenerStatus) DeepCopy

func (in *GardenerStatus) DeepCopy() *GardenerStatus

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

func (*GardenerStatus) DeepCopyInto

func (in *GardenerStatus) DeepCopyInto(out *GardenerStatus)

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

func (*GardenerStatus) GetShoot

func (gs *GardenerStatus) GetShoot() (*unstructured.Unstructured, error)

GetShoot returns the shoot in the GardenerStatus as unstructured object. Returns nil if no shoot is contained in the GardenerStatus.

type HighAvailabilityConfig

type HighAvailabilityConfig struct {
	// FailureToleranceType specifies failure tolerance mode for the API server.
	// Allowed values are: node, zone
	// node: The API server is tolerant to node failures within a single zone.
	// zone: The API server is tolerant to zone failures.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="failureToleranceType is immutable"
	// +kubebuilder:validation:Enum=node;zone
	FailureToleranceType string `json:"failureToleranceType"`
}

HighAvailabilityConfig specifies the High Availability configuration for the API server.

func (*HighAvailabilityConfig) DeepCopy

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

func (*HighAvailabilityConfig) DeepCopyInto

func (in *HighAvailabilityConfig) DeepCopyInto(out *HighAvailabilityConfig)

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

type IdentityProvider

type IdentityProvider struct {
	// Name is the name of the identity provider.
	// The name must be unique among all identity providers.
	// The name must only contain lowercase letters.
	// The length must not exceed 63 characters.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern=`^[a-z]+$`
	Name string `json:"name"`
	// IssuerURL is the issuer URL of the identity provider.
	// +kubebuilder:validation:Required
	IssuerURL string `json:"issuerURL"`
	// ClientID is the client ID of the identity provider.
	// +kubebuilder:validation:Required
	ClientID string `json:"clientID"`
	// UsernameClaim is the claim that contains the username.
	// +kubebuilder:validation:Required
	UsernameClaim string `json:"usernameClaim"`
	// GroupsClaim is the claim that contains the groups.
	// +kubebuilder:validation:Optional
	GroupsClaim string `json:"groupsClaim"`
	// CABundle: When set, the OpenID server's certificate will be verified by one of the authorities in the bundle.
	// Otherwise, the host's root CA set will be used.
	// +kubebuilder:validation:Optional
	CABundle string `json:"caBundle,omitempty"`
	// SigningAlgs is the list of allowed JOSE asymmetric signing algorithms.
	// +kubebuilder:validation:Optional
	SigningAlgs []string `json:"signingAlgs,omitempty"`
	// RequiredClaims is a map of required claims. If set, the identity provider must provide these claims in the ID token.
	// +kubebuilder:validation:Optional
	RequiredClaims map[string]string `json:"requiredClaims,omitempty"`

	// ClientAuthentication contains configuration for OIDC clients
	// +kubebuilder:validation:Optional
	ClientConfig ClientAuthenticationConfig `json:"clientConfig,omitempty"`
}

IdentityProvider contains the configuration for an OpenID Connect identity provider

func (*IdentityProvider) DeepCopy

func (in *IdentityProvider) DeepCopy() *IdentityProvider

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

func (*IdentityProvider) DeepCopyInto

func (in *IdentityProvider) DeepCopyInto(out *IdentityProvider)

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

type InternalCommonConfig

type InternalCommonConfig struct {
}

InternalCommonConfig contains internal configuration that is shared between multiple components.

func (*InternalCommonConfig) DeepCopy

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

func (*InternalCommonConfig) DeepCopyInto

func (in *InternalCommonConfig) DeepCopyInto(out *InternalCommonConfig)

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

type InternalConfiguration

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

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

InternalConfiguration is the Schema for the InternalConfigurations API +kubebuilder:resource:shortName=icfg

func (*InternalConfiguration) DeepCopy

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

func (*InternalConfiguration) DeepCopyInto

func (in *InternalConfiguration) DeepCopyInto(out *InternalConfiguration)

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

func (*InternalConfiguration) DeepCopyObject

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

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

type InternalConfigurationComponents

type InternalConfigurationComponents struct {
	APIServer *APIServerInternalConfiguration `json:"apiServer,omitempty"`
}

InternalConfigurationComponents defines the components that are part of the internal configuration.

func (*InternalConfigurationComponents) DeepCopy

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

func (*InternalConfigurationComponents) DeepCopyInto

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

type InternalConfigurationList

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

InternalConfigurationList contains a list of InternalConfiguration

func (*InternalConfigurationList) DeepCopy

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

func (*InternalConfigurationList) DeepCopyInto

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

func (*InternalConfigurationList) DeepCopyObject

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

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

type InternalConfigurationSpec

type InternalConfigurationSpec struct {
	*InternalCommonConfig `json:",inline"`

	Components InternalConfigurationComponents `json:"components,omitempty"`
}

InternalConfigurationSpec defines additional configuration for a managedcontrolplane.

func (*InternalConfigurationSpec) DeepCopy

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

func (*InternalConfigurationSpec) DeepCopyInto

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

type KyvernoConfig

type KyvernoConfig struct {
	// The Version of Kyverno to install.
	// +kubebuilder:validation:Required
	Version string `json:"version"`
}

KyvernoConfig defines the configuration of Kyverno

func (*KyvernoConfig) DeepCopy

func (in *KyvernoConfig) DeepCopy() *KyvernoConfig

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

func (*KyvernoConfig) DeepCopyInto

func (in *KyvernoConfig) DeepCopyInto(out *KyvernoConfig)

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

type Landscaper

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

	Spec   LandscaperSpec   `json:"spec,omitempty"`
	Status LandscaperStatus `json:"status,omitempty"`
}

Landscaper is the Schema for the laasinstances API +kubebuilder:resource:shortName=ls +kubebuilder:printcolumn:name="Successfully_Reconciled",type=string,JSONPath=`.status.conditions[?(@.type=="LandscaperReconciliation")].status` +kubebuilder:printcolumn:name="Deleted",type="date",JSONPath=".metadata.deletionTimestamp" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (*Landscaper) DeepCopy

func (in *Landscaper) DeepCopy() *Landscaper

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

func (*Landscaper) DeepCopyInto

func (in *Landscaper) DeepCopyInto(out *Landscaper)

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

func (*Landscaper) DeepCopyObject

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

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

func (*Landscaper) GetCommonStatus

func (ls *Landscaper) GetCommonStatus() CommonComponentStatus

func (*Landscaper) GetExternalStatus

func (ls *Landscaper) GetExternalStatus() any

GetExternalStatus implements Component.

func (*Landscaper) GetRequiredConditions

func (ls *Landscaper) GetRequiredConditions() sets.Set[string]

GetRequiredConditions implements Component.

func (*Landscaper) GetSpec

func (ls *Landscaper) GetSpec() any

GetSpec implements Component.

func (*Landscaper) SetCommonStatus

func (ls *Landscaper) SetCommonStatus(status CommonComponentStatus)

SetCommonStatus implements Component.

func (*Landscaper) SetSpec

func (ls *Landscaper) SetSpec(cfg any) error

SetSpec implements Component.

func (*Landscaper) Type

func (*Landscaper) Type() ComponentType

Type implements Component.

type LandscaperConfiguration

type LandscaperConfiguration struct {
	// Deployers is the list of deployers that should be installed.
	// +optional
	Deployers []string `json:"deployers,omitempty"`
}

LandscaperConfiguration contains the configuration which is required for setting up a LaaS instance.

func (*LandscaperConfiguration) DeepCopy

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

func (*LandscaperConfiguration) DeepCopyInto

func (in *LandscaperConfiguration) DeepCopyInto(out *LandscaperConfiguration)

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

type LandscaperDeploymentInfo

type LandscaperDeploymentInfo struct {
	// Name is the name of the Landscaper deployment.
	Name string `json:"name"`
	// Namespace is the namespace of the Landscaper deployment.
	Namespace string `json:"namespace"`
}

LandscaperDeploymentInfo contains information about the corresponding Landscaper deployment resource.

func (*LandscaperDeploymentInfo) DeepCopy

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

func (*LandscaperDeploymentInfo) DeepCopyInto

func (in *LandscaperDeploymentInfo) DeepCopyInto(out *LandscaperDeploymentInfo)

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

type LandscaperList

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

LandscaperList contains a list of Landscaper

func (*LandscaperList) DeepCopy

func (in *LandscaperList) DeepCopy() *LandscaperList

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

func (*LandscaperList) DeepCopyInto

func (in *LandscaperList) DeepCopyInto(out *LandscaperList)

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

func (*LandscaperList) DeepCopyObject

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

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

type LandscaperSpec

type LandscaperSpec struct {
	LandscaperConfiguration `json:",inline"`
}

LandscaperSpec contains the Landscaper configuration and potentially other fields which should not be exposed to the customer.

func (*LandscaperSpec) DeepCopy

func (in *LandscaperSpec) DeepCopy() *LandscaperSpec

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

func (*LandscaperSpec) DeepCopyInto

func (in *LandscaperSpec) DeepCopyInto(out *LandscaperSpec)

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

func (*LandscaperSpec) Default

func (lss *LandscaperSpec) Default()

Default sets defaults. This modifies the receiver object. Note that only the parts which belong to the configured type are defaulted, everything else is ignored.

func (*LandscaperSpec) Validate

func (lss *LandscaperSpec) Validate(path string, morePaths ...string) error

Validate validates the configuration. Only the configuration that belongs to the configured type is validated, configuration for other types is ignored.

type LandscaperStatus

type LandscaperStatus struct {
	CommonComponentStatus     `json:",inline"`
	*ExternalLandscaperStatus `json:",inline"`

	// LandscaperDeploymentInfo contains information about the corresponding LandscaperDeployment resource.
	// +optional
	LandscaperDeploymentInfo *LandscaperDeploymentInfo `json:"landscaperDeployment,omitempty"`
}

LandscaperStatus contains the landscaper status and potentially other fields which should not be exposed to the customer.

func (*LandscaperStatus) DeepCopy

func (in *LandscaperStatus) DeepCopy() *LandscaperStatus

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

func (*LandscaperStatus) DeepCopyInto

func (in *LandscaperStatus) DeepCopyInto(out *LandscaperStatus)

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

type LocalSecretReference

type LocalSecretReference struct {
	// Name is the secret name.
	Name string `json:"name"`
	// Key is the key inside the secret.
	Key string `json:"key"`
}

LocalSecretReference is a reference to a specific key inside a secret in the same namespace as the object referencing it.

func (*LocalSecretReference) DeepCopy

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

func (*LocalSecretReference) DeepCopyInto

func (in *LocalSecretReference) DeepCopyInto(out *LocalSecretReference)

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

type MCPStatus

type MCPStatus string

MCPStatus is a type for the status of a ManagedControlPlane. Use NewMCPStatus to create a new MCPStatus, or use one of the predefined constants.

const (
	// MCPStatusReady indicates that the ManagedControlPlane is ready.
	MCPStatusReady MCPStatus = "Ready"

	// MCPStatusNotReady indicates that the ManagedControlPlane is not ready.
	MCPStatusNotReady MCPStatus = "Not Ready"

	// MCPStatusDeleting indicates that the ManagedControlPlane is being deleted.
	MCPStatusDeleting MCPStatus = "Deleting"
)

type ManagedComponent

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

	Spec   ManagedComponentSpec   `json:"spec,omitempty"`
	Status ManagedComponentStatus `json:"status,omitempty"`
}

ManagedComponent is the Schema for the managedcomponents API.

func (*ManagedComponent) DeepCopy

func (in *ManagedComponent) DeepCopy() *ManagedComponent

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

func (*ManagedComponent) DeepCopyInto

func (in *ManagedComponent) DeepCopyInto(out *ManagedComponent)

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

func (*ManagedComponent) DeepCopyObject

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

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

type ManagedComponentList

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

ManagedComponentList contains a list of ManagedComponent.

func (*ManagedComponentList) DeepCopy

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

func (*ManagedComponentList) DeepCopyInto

func (in *ManagedComponentList) DeepCopyInto(out *ManagedComponentList)

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

func (*ManagedComponentList) DeepCopyObject

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

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

type ManagedComponentSpec

type ManagedComponentSpec struct{}

ManagedComponentSpec defines the desired state of ManagedComponent.

func (*ManagedComponentSpec) DeepCopy

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

func (*ManagedComponentSpec) DeepCopyInto

func (in *ManagedComponentSpec) DeepCopyInto(out *ManagedComponentSpec)

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

type ManagedComponentStatus

type ManagedComponentStatus struct {
	Versions []string `json:"versions"`
}

ManagedComponentStatus defines the observed state of ManagedComponent.

func (*ManagedComponentStatus) DeepCopy

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

func (*ManagedComponentStatus) DeepCopyInto

func (in *ManagedComponentStatus) DeepCopyInto(out *ManagedComponentStatus)

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

type ManagedControlPlane

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

	Spec   ManagedControlPlaneSpec   `json:"spec,omitempty"`
	Status ManagedControlPlaneStatus `json:"status,omitempty"`
}

ManagedControlPlane is the Schema for the ManagedControlPlane API +kubebuilder:resource:shortName=mcp +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.status` +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:validation:XValidation:rule="size(self.metadata.name) <= 36",message="name must not be longer than 36 characters"

func (*ManagedControlPlane) DeepCopy

func (in *ManagedControlPlane) DeepCopy() *ManagedControlPlane

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

func (*ManagedControlPlane) DeepCopyInto

func (in *ManagedControlPlane) DeepCopyInto(out *ManagedControlPlane)

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

func (*ManagedControlPlane) DeepCopyObject

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

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

func (*ManagedControlPlane) SetupWebhookWithManager

func (r *ManagedControlPlane) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager will setup the manager to manage the webhooks

func (*ManagedControlPlane) ValidateCreate

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*ManagedControlPlane) ValidateDelete

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*ManagedControlPlane) ValidateUpdate

func (r *ManagedControlPlane) ValidateUpdate(_ context.Context, old runtime.Object, newObj runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type ManagedControlPlaneComponentCondition

type ManagedControlPlaneComponentCondition struct {
	ComponentCondition `json:",inline"`

	// ManagedBy contains the information which component manages this condition.
	ManagedBy ComponentType `json:"managedBy"`
}

func (*ManagedControlPlaneComponentCondition) DeepCopy

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

func (*ManagedControlPlaneComponentCondition) DeepCopyInto

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

type ManagedControlPlaneComponents

type ManagedControlPlaneComponents struct {
	// +kubebuilder:default={"type":"GardenerDedicated"}
	APIServer *APIServerConfiguration `json:"apiServer,omitempty"`

	Landscaper *LandscaperConfiguration `json:"landscaper,omitempty"`

	CloudOrchestratorConfiguration `json:",inline"`
}

ManagedControlPlaneComponents contains the configuration for the components of a ManagedControlPlane. +kubebuilder:validation:XValidation:rule="!has(oldSelf.apiServer)|| has(self.apiServer)",message="apiServer is required once set"

func (*ManagedControlPlaneComponents) DeepCopy

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

func (*ManagedControlPlaneComponents) DeepCopyInto

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

type ManagedControlPlaneComponentsStatus

type ManagedControlPlaneComponentsStatus struct {
	APIServer *ExternalAPIServerStatus `json:"apiServer,omitempty"`

	Landscaper *ExternalLandscaperStatus `json:"landscaper,omitempty"`

	CloudOrchestrator *ExternalCloudOrchestratorStatus `json:"cloudOrchestrator,omitempty"`

	Authentication *ExternalAuthenticationStatus `json:"authentication,omitempty"`

	Authorization *ExternalAuthorizationStatus `json:"authorization,omitempty"`
}

ManagedControlPlaneComponentsStatus contains the status of the components of a ManagedControlPlane.

func (*ManagedControlPlaneComponentsStatus) DeepCopy

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

func (*ManagedControlPlaneComponentsStatus) DeepCopyInto

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

type ManagedControlPlaneList

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

ManagedControlPlaneList contains a list of ManagedControlPlane

func (*ManagedControlPlaneList) DeepCopy

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

func (*ManagedControlPlaneList) DeepCopyInto

func (in *ManagedControlPlaneList) DeepCopyInto(out *ManagedControlPlaneList)

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

func (*ManagedControlPlaneList) DeepCopyObject

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

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

type ManagedControlPlaneMetaStatus

type ManagedControlPlaneMetaStatus struct {
	// ObservedGeneration is the last generation of this resource that has successfully been reconciled.
	ObservedGeneration int64 `json:"observedGeneration"`

	// Status is the current status of the ManagedControlPlane.
	// It is "Deleting" if the ManagedControlPlane is being deleted.
	// It is "Ready" if all conditions are true, and "Not Ready" otherwise.
	Status MCPStatus `json:"status"`

	// Message contains an optional message.
	// +optional
	Message string `json:"message,omitempty"`
}

func (*ManagedControlPlaneMetaStatus) DeepCopy

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

func (*ManagedControlPlaneMetaStatus) DeepCopyInto

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

type ManagedControlPlaneSpec

type ManagedControlPlaneSpec struct {
	// DisabledComponents contains a list of component types.
	// The resources for these components will still be generated, but they will get the ignore operation annotation, so they should not be processed by their respective controllers.
	DisabledComponents []ComponentType `json:"disabledComponents,omitempty"`

	// CommonConfig contains configuration that is passed to all component controllers.
	*CommonConfig `json:",inline"`

	// Authentication contains the configuration for the enabled OpenID Connect identity providers
	Authentication *AuthenticationConfiguration `json:"authentication,omitempty"`

	// Authorization contains the configuration of the subjects assigned to control plane roles
	Authorization *AuthorizationConfiguration `json:"authorization,omitempty"`

	// Components contains the configuration for Components like APIServer, Landscaper, CloudOrchestrator.
	Components ManagedControlPlaneComponents `json:"components"`
}

ManagedControlPlaneSpec defines the desired state of ManagedControlPlane.

func (*ManagedControlPlaneSpec) DeepCopy

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

func (*ManagedControlPlaneSpec) DeepCopyInto

func (in *ManagedControlPlaneSpec) DeepCopyInto(out *ManagedControlPlaneSpec)

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

type ManagedControlPlaneStatus

type ManagedControlPlaneStatus struct {
	ManagedControlPlaneMetaStatus `json:",inline"`

	// Conditions collects the conditions of all components.
	Conditions []ManagedControlPlaneComponentCondition `json:"conditions,omitempty"`

	Components ManagedControlPlaneComponentsStatus `json:"components,omitempty"`
}

ManagedControlPlaneStatus defines the observed state of ManagedControlPlane.

func (*ManagedControlPlaneStatus) DeepCopy

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

func (*ManagedControlPlaneStatus) DeepCopyInto

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

type NamespacedObjectReference

type NamespacedObjectReference struct {
	// Name is the object's name.
	Name string `json:"name"`
	// Namespace is the object's namespace.
	Namespace string `json:"namespace"`
}

NamespacedObjectReference is a reference to a namespaced k8s object.

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 ObservedGenerations

type ObservedGenerations struct {
	// Resource contains the last generation of this resource that has been handled by the controller.
	// This refers to metadata.generation of this resource.
	Resource int64 `json:"resource"`

	// ManagedControlPlane contains the last generation of the owning v1alpha1.ManagedControlPlane that has been by the controller.
	// Note that the component's controller does not read the ManagedControlPlane resource itself, but fetches this information from a label which is populated by the v1alpha1.ManagedControlPlane controller.
	// This refers to metadata.generation of the owning v1alpha1.ManagedControlPlane resource.
	// This value is probably identical to the one in 'Resource', unless something else than the v1alpha1.ManagedControlPlane controller touched the spec of this resource.
	ManagedControlPlane int64 `json:"managedControlPlane"`

	// InternalConfiguration contains the last generation of the InternalConfiguration belonging to the owning v1alpha1.ManagedControlPlane that has been seen by the controller.
	// Note that the component's controller does not read the InternalConfiguration itself, but fetches this information from a label which is populated by the v1alpha1.ManagedControlPlane controller.
	// This refers to metadata.generation of the InternalConfiguration belonging to the owning v1alpha1.ManagedControlPlane, if any.
	// If the resource does not have a label containing the generation of the corresponding InternalConfiguration, this means that no InternalConfiguration exists for
	// the owning v1alpha1.ManagedControlPlane. In that case, the value of this field is expected to be -1.
	InternalConfiguration int64 `json:"internalConfiguration"`
}

func (*ObservedGenerations) DeepCopy

func (in *ObservedGenerations) DeepCopy() *ObservedGenerations

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

func (*ObservedGenerations) DeepCopyInto

func (in *ObservedGenerations) DeepCopyInto(out *ObservedGenerations)

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

type Region

type Region string

Region represents a supported region. +kubebuilder:validation:Enum=northamerica;southamerica;europe;asia;africa;australia

const (
	AFRICA       Region = "africa"
	ASIA         Region = "asia"
	AUSTRALIA    Region = "australia"
	EUROPE       Region = "europe"
	NORTHAMERICA Region = "northamerica"
	SOUTHAMERICA Region = "southamerica"
)

type RegionSpecification

type RegionSpecification struct {
	// Name is the name of the region.
	Name Region `json:"name,omitempty"`

	// Direction is the direction within the region.
	Direction Direction `json:"direction,omitempty"`
}

func (*RegionSpecification) DeepCopy

func (in *RegionSpecification) DeepCopy() *RegionSpecification

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

func (*RegionSpecification) DeepCopyInto

func (in *RegionSpecification) DeepCopyInto(out *RegionSpecification)

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

func (RegionSpecification) String

func (r RegionSpecification) String() string

type RoleBinding

type RoleBinding struct {
	// Role is the name of the role
	// +kubebuilder:validation:Enum=admin;view
	Role string `json:"role"`
	// Subjects is a list of subjects assigned to the role
	Subjects []Subject `json:"subjects"`
}

RoleBinding contains the role and the subjects assigned to the role

func (*RoleBinding) DeepCopy

func (in *RoleBinding) DeepCopy() *RoleBinding

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

func (*RoleBinding) DeepCopyInto

func (in *RoleBinding) DeepCopyInto(out *RoleBinding)

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

type SecretReference

type SecretReference struct {
	NamespacedObjectReference `json:",inline"`
	// Key is the key inside the secret.
	Key string `json:"key"`
}

SecretReference is a reference to a specific key inside a secret.

func (*SecretReference) DeepCopy

func (in *SecretReference) DeepCopy() *SecretReference

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

func (*SecretReference) DeepCopyInto

func (in *SecretReference) DeepCopyInto(out *SecretReference)

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

type SingleOrMultiStringValue

type SingleOrMultiStringValue struct {
	// Value is a single string value.
	Value string `json:"value,omitempty"`
	// Values is a list of string values.
	Values []string `json:"values,omitempty"`
}

SingleOrMultiStringValue is a type that can hold either a single string value or a list of string values.

func (*SingleOrMultiStringValue) DeepCopy

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

func (*SingleOrMultiStringValue) DeepCopyInto

func (in *SingleOrMultiStringValue) DeepCopyInto(out *SingleOrMultiStringValue)

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

type Subject

type Subject struct {
	// Kind is the kind of the subject
	// +kubebuilder:validation:Enum=ServiceAccount;User;Group
	Kind string `json:"kind"`
	// APIGroup is the API group of the subject
	// +optional
	APIGroup string `json:"apiGroup,omitempty"`
	// Name is the name of the subject
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`
	// Namespace is the namespace of the subject
	// +optional
	Namespace string `json:"namespace,omitempty"`
}

Subject describes an object that is assigned to a role and which can be used to authenticate against the control plane.

func (*Subject) DeepCopy

func (in *Subject) DeepCopy() *Subject

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

func (*Subject) DeepCopyInto

func (in *Subject) DeepCopyInto(out *Subject)

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

Jump to

Keyboard shortcuts

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