v2alpha1

package
v0.15.1 Latest Latest
Warning

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

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

Documentation

Overview

+kubebuilder:object:generate=true +groupName=core.openmcp.cloud

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            = GroupName + "/mcp-name"
	MCPNamespaceLabel       = GroupName + "/mcp-namespace"
	OIDCProviderLabel       = GroupName + "/oidc-provider"
	TokenProviderLabel      = GroupName + "/token-provider"
	MCPPurposeOverrideLabel = GroupName + "/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 = GroupName + "/mcp"

	// ServiceDependencyFinalizerPrefix is the prefix for the dependency finalizers that are added to MCP resources by associated services.
	ServiceDependencyFinalizerPrefix = "services.openmcp.cloud/"
	// 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.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 = &scheme.Builder{GroupVersion: GroupVersion}

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

Functions

This section is empty.

Types

type DefaultProviderConfig added in v0.15.1

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.1

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

func (*DefaultProviderConfig) DeepCopyInto added in v0.15.1

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 ManagedControlPlaneV2

type ManagedControlPlaneV2 struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ManagedControlPlaneV2Spec   `json:"spec,omitempty"`
	Status            ManagedControlPlaneV2Status `json:"status,omitempty"`
}

func (*ManagedControlPlaneV2) DeepCopy

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

func (*ManagedControlPlaneV2) DeepCopyInto

func (in *ManagedControlPlaneV2) DeepCopyInto(out *ManagedControlPlaneV2)

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

func (*ManagedControlPlaneV2) DeepCopyObject

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

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

type ManagedControlPlaneV2List

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

func (*ManagedControlPlaneV2List) DeepCopy

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

func (*ManagedControlPlaneV2List) DeepCopyInto

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

func (*ManagedControlPlaneV2List) DeepCopyObject

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

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

type ManagedControlPlaneV2Spec

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

func (*ManagedControlPlaneV2Spec) DeepCopy

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

func (*ManagedControlPlaneV2Spec) DeepCopyInto

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

type ManagedControlPlaneV2Status

type ManagedControlPlaneV2Status 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 ManagedControlPlaneV2.
	// 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"`
}

func (*ManagedControlPlaneV2Status) DeepCopy

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

func (*ManagedControlPlaneV2Status) DeepCopyInto

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

type OIDCConfig added in v0.15.1

type OIDCConfig struct {
	// DefaultProvider is the standard OIDC provider that is enabled for all ManagedControlPlaneV2 resources.
	DefaultProvider DefaultProviderConfig `json:"defaultProvider,omitempty"`
	// ExtraProviders is a list of OIDC providers that should be configured for the ManagedControlPlaneV2.
	// 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.1

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.1

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.1

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 ManagedControlPlaneV2.
	// +kubebuilder:validation:minLength=1
	Name                         string `json:"name"`
	clustersv1alpha1.TokenConfig `json:",inline"`
}

func (*TokenConfig) DeepCopy added in v0.15.1

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.1

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