v2alpha1

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Jun 17, 2026 License: Apache-2.0 Imports: 5 Imported by: 1

Documentation

Overview

+kubebuilder:object:generate=true +groupName=core.open-control-plane.io

Index

Constants

View Source
const (
	// DefaultOIDCProviderName is the identifier for the default OIDC provider.
	DefaultOIDCProviderName = "openmcp"
	// DefaultMCPClusterPurpose is the default purpose for ManagedControlPlane clusters.
	DefaultMCPClusterPurpose = "mcp"
)
View Source
const (
	MCPNameLabel            = OldGroupName + "/mcp-name"
	MCPNamespaceLabel       = OldGroupName + "/mcp-namespace"
	OIDCProviderLabel       = OldGroupName + "/oidc-provider"
	TokenProviderLabel      = OldGroupName + "/token-provider"
	MCPPurposeOverrideLabel = OldGroupName + "/purpose"

	// ManagedPurposeMCPPurposeOverride is used as value for the managed purpose label. It must not be modified.
	ManagedPurposeMCPPurposeOverride = "mcp-purpose-override"
	// ManagedPurposeOIDCProviderNameUniqueness is used as value for the managed purpose label. It must not be modified.
	ManagedPurposeOIDCProviderNameUniqueness = "oidc-provider-name-uniqueness"

	MCPFinalizer = OldGroupName + "/mcp"

	// ClusterRequestFinalizerPrefix is the prefix for the finalizers that are added to MCP resources for cluster requests.
	ClusterRequestFinalizerPrefix = "request.clusters.openmcp.cloud/"
)
View Source
const (
	ConditionMeta = "Meta"

	ConditionClusterRequestReady       = "ClusterRequestReady"
	ConditionClusterConditionsSynced   = "ClusterConditionsSynced"
	ConditionPrefixClusterCondition    = "Cluster."
	ConditionPrefixAccessReady         = "AccessReady."
	ConditionAllAccessReady            = "AllAccessReady"
	ConditionAllServicesDeleted        = "AllServicesDeleted"
	ConditionAllClusterRequestsDeleted = "AllClusterRequestsDeleted"
)
View Source
const (
	OIDCNamePrefix  = "oidc_"
	TokenNamePrefix = "token_"
)
View Source
const GroupName = "core.open-control-plane.io"
View Source
const OldGroupName = "core.openmcp.cloud"

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v2alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = runtime.NewSchemeBuilder(func(scheme *runtime.Scheme) error {
		metav1.AddToGroupVersion(scheme, GroupVersion)
		return nil
	})

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func RegisterToSchemeBuilder added in v0.20.0

func RegisterToSchemeBuilder(types ...runtime.Object)

Types

type ControlPlane added in v1.0.0

type ControlPlane struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ControlPlaneSpec   `json:"spec,omitempty"`
	Status            ControlPlaneStatus `json:"status,omitempty"`
}

func (*ControlPlane) DeepCopy added in v1.0.0

func (in *ControlPlane) DeepCopy() *ControlPlane

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

func (*ControlPlane) DeepCopyInto added in v1.0.0

func (in *ControlPlane) DeepCopyInto(out *ControlPlane)

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

func (*ControlPlane) DeepCopyObject added in v1.0.0

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

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

type ControlPlaneList added in v1.0.0

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

func (*ControlPlaneList) DeepCopy added in v1.0.0

func (in *ControlPlaneList) DeepCopy() *ControlPlaneList

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

func (*ControlPlaneList) DeepCopyInto added in v1.0.0

func (in *ControlPlaneList) DeepCopyInto(out *ControlPlaneList)

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

func (*ControlPlaneList) DeepCopyObject added in v1.0.0

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

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

type ControlPlaneSpec added in v1.0.0

type ControlPlaneSpec struct {
	// IAM contains the access management configuration for the ControlPlane.
	IAM IAMConfig `json:"iam"`
}

func (*ControlPlaneSpec) DeepCopy added in v1.0.0

func (in *ControlPlaneSpec) DeepCopy() *ControlPlaneSpec

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

func (*ControlPlaneSpec) DeepCopyInto added in v1.0.0

func (in *ControlPlaneSpec) DeepCopyInto(out *ControlPlaneSpec)

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

type ControlPlaneStatus added in v1.0.0

type ControlPlaneStatus struct {
	commonapi.Status `json:",inline"`

	// Access is a mapping from OIDC provider names to secret references.
	// Each referenced secret is expected to contain a 'kubeconfig' key with the kubeconfig that was generated for the respective OIDC provider for the ControlPlane.
	// The default OIDC provider, if configured, uses the name "default" in this mapping.
	// The "default" key is also used if the ClusterProvider does not support OIDC-based access and created a serviceaccount with a token instead.
	// +optional
	Access map[string]commonapi.LocalObjectReference `json:"access,omitempty"`

	// Endpoints is a list of exposed Cluster endpoints.
	// +optional
	Endpoints clustersv1alpha1.Endpoints `json:"endpoints,omitempty"`
}

func (*ControlPlaneStatus) DeepCopy added in v1.0.0

func (in *ControlPlaneStatus) DeepCopy() *ControlPlaneStatus

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

func (*ControlPlaneStatus) DeepCopyInto added in v1.0.0

func (in *ControlPlaneStatus) DeepCopyInto(out *ControlPlaneStatus)

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

type DefaultProviderConfig added in v0.15.0

type DefaultProviderConfig struct {
	// RoleBindings is a list of subjects with (cluster) role bindings that should be created for them.
	// These bindings refer to the standard OIDC provider. If empty, the standard OIDC provider is disabled.
	// Note that the username prefix is added automatically to the subjects' names, it must not be explicitly specified here.
	// +optional
	RoleBindings []commonapi.RoleBindings `json:"roleBindings,omitempty"`
}

func (*DefaultProviderConfig) DeepCopy added in v0.15.0

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

func (*DefaultProviderConfig) DeepCopyInto added in v0.15.0

func (in *DefaultProviderConfig) DeepCopyInto(out *DefaultProviderConfig)

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

type IAMConfig

type IAMConfig struct {
	// Tokens is a list of token-based access configurations.
	// +optional
	Tokens []TokenConfig `json:"tokens,omitempty"`
	// OIDC is the OIDC-based access configuration.
	OIDC *OIDCConfig `json:"oidc,omitempty"`
}

func (*IAMConfig) DeepCopy

func (in *IAMConfig) DeepCopy() *IAMConfig

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

func (*IAMConfig) DeepCopyInto

func (in *IAMConfig) DeepCopyInto(out *IAMConfig)

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

type OIDCConfig added in v0.15.0

type OIDCConfig struct {
	// DefaultProvider is the standard OIDC provider that is enabled for all ControlPlane resources.
	DefaultProvider DefaultProviderConfig `json:"defaultProvider,omitempty"`
	// ExtraProviders is a list of OIDC providers that should be configured for the ControlPlane.
	// They are independent of the standard OIDC provider and in addition to it, unless it has been disabled by not specifying any role bindings.
	// +optional
	ExtraProviders []commonapi.OIDCProviderConfig `json:"extraProviders,omitempty"`
}

func (*OIDCConfig) DeepCopy added in v0.15.0

func (in *OIDCConfig) DeepCopy() *OIDCConfig

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

func (*OIDCConfig) DeepCopyInto added in v0.15.0

func (in *OIDCConfig) DeepCopyInto(out *OIDCConfig)

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

type TokenConfig added in v0.15.0

type TokenConfig struct {
	// Name is the name of this token configuration.
	// It is used to generate a secret name and must be unique among all token configurations in the same ControlPlane.
	// +kubebuilder:validation:minLength=1
	Name                         string `json:"name"`
	clustersv1alpha1.TokenConfig `json:",inline"`
}

func (*TokenConfig) DeepCopy added in v0.15.0

func (in *TokenConfig) DeepCopy() *TokenConfig

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

func (*TokenConfig) DeepCopyInto added in v0.15.0

func (in *TokenConfig) DeepCopyInto(out *TokenConfig)

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