v1alpha1

package
v0.0.0-...-a87ae0c Latest Latest
Warning

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

Go to latest
Published: Feb 26, 2025 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package v1alpha1 contains code that was copied from the upstream Kamaji@v1.0.0 types. This was done to prevent needing to import Kamaji as a library to: 1) Use strong types for Kamaji objects. 2) Avoid adding a large number of dependencies to the go.mod. 3) Allow the DPF operator to keep Kubernetes library versions independent of the Kamaji versions.

Copying the API was done by copying the relevant files and removing all functions from the files. The alternative to this would be to generate our own types with just the fields we care about from Kamaji or to work with unstructured objects and utility methods.

Package v1alpha1 contains API Schema definitions for the kamaji v1alpha1 API group +kubebuilder:object:generate=true +groupName=kamaji.clastix.io nolint

Index

Constants

View Source
const (
	ServiceTypeLoadBalancer       = (ServiceType)(corev1.ServiceTypeLoadBalancer)
	ServiceTypeClusterIP          = (ServiceType)(corev1.ServiceTypeClusterIP)
	ServiceTypeNodePort           = (ServiceType)(corev1.ServiceTypeNodePort)
	KubeconfigSecretKeyAnnotation = "kamaji.clastix.io/kubeconfig-secret-key"
)
View Source
const (
	DatastoreUsedSecretNamespacedNameKey = "secretRef"
)
View Source
const TenantControlPlaneKind = "TenantControlPlane"
View Source
const (
	TenantControlPlaneUsedDataStoreKey = "status.storage.dataStoreName"
)

Variables

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

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

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

Functions

This section is empty.

Types

type APIServerCertificatesStatus

type APIServerCertificatesStatus struct {
	SecretName string      `json:"secretName,omitempty"`
	LastUpdate metav1.Time `json:"lastUpdate,omitempty"`
	Checksum   string      `json:"checksum,omitempty"`
}

APIServerCertificatesStatus defines the observed state of ETCD Certificate for API server.

func (*APIServerCertificatesStatus) DeepCopy

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

func (*APIServerCertificatesStatus) DeepCopyInto

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

type AdditionalMetadata

type AdditionalMetadata struct {
	Labels      map[string]string `json:"labels,omitempty"`
	Annotations map[string]string `json:"annotations,omitempty"`
}

AdditionalMetadata defines which additional metadata, such as labels and annotations, must be attached to the created resource.

func (*AdditionalMetadata) DeepCopy

func (in *AdditionalMetadata) DeepCopy() *AdditionalMetadata

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

func (*AdditionalMetadata) DeepCopyInto

func (in *AdditionalMetadata) DeepCopyInto(out *AdditionalMetadata)

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

type AdditionalVolumeMounts

type AdditionalVolumeMounts struct {
	APIServer         []corev1.VolumeMount `json:"apiServer,omitempty"`
	ControllerManager []corev1.VolumeMount `json:"controllerManager,omitempty"`
	Scheduler         []corev1.VolumeMount `json:"scheduler,omitempty"`
}

AdditionalVolumeMounts allows mounting additional volumes to the Control Plane components.

func (*AdditionalVolumeMounts) DeepCopy

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

func (*AdditionalVolumeMounts) DeepCopyInto

func (in *AdditionalVolumeMounts) DeepCopyInto(out *AdditionalVolumeMounts)

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

type AddonSpec

type AddonSpec struct {
	ImageOverrideTrait `json:",inline"`
}

AddonSpec defines the spec for every addon.

func (*AddonSpec) DeepCopy

func (in *AddonSpec) DeepCopy() *AddonSpec

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

func (*AddonSpec) DeepCopyInto

func (in *AddonSpec) DeepCopyInto(out *AddonSpec)

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

type AddonStatus

type AddonStatus struct {
	Enabled    bool        `json:"enabled"`
	LastUpdate metav1.Time `json:"lastUpdate,omitempty"`
}

AddonStatus defines the observed state of an Addon.

func (*AddonStatus) DeepCopy

func (in *AddonStatus) DeepCopy() *AddonStatus

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

func (*AddonStatus) DeepCopyInto

func (in *AddonStatus) DeepCopyInto(out *AddonStatus)

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

type AddonsSpec

type AddonsSpec struct {
	// Enables the DNS addon in the Tenant Cluster.
	// The registry and the tag are configurable, the image is hard-coded to `coredns`.
	CoreDNS *AddonSpec `json:"coreDNS,omitempty"`
	// Enables the Konnectivity addon in the Tenant Cluster, required if the worker nodes are in a different network.
	Konnectivity *KonnectivitySpec `json:"konnectivity,omitempty"`
	// Enables the kube-proxy addon in the Tenant Cluster.
	// The registry and the tag are configurable, the image is hard-coded to `kube-proxy`.
	KubeProxy *AddonSpec `json:"kubeProxy,omitempty"`
}

AddonsSpec defines the enabled addons and their features.

func (*AddonsSpec) DeepCopy

func (in *AddonsSpec) DeepCopy() *AddonsSpec

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

func (*AddonsSpec) DeepCopyInto

func (in *AddonsSpec) DeepCopyInto(out *AddonsSpec)

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

type AddonsStatus

type AddonsStatus struct {
	CoreDNS      AddonStatus        `json:"coreDNS,omitempty"`
	KubeProxy    AddonStatus        `json:"kubeProxy,omitempty"`
	Konnectivity KonnectivityStatus `json:"konnectivity,omitempty"`
}

AddonsStatus defines the observed state of the different Addons.

func (*AddonsStatus) DeepCopy

func (in *AddonsStatus) DeepCopy() *AddonsStatus

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

func (*AddonsStatus) DeepCopyInto

func (in *AddonsStatus) DeepCopyInto(out *AddonsStatus)

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

type AdmissionController

type AdmissionController string

+kubebuilder:validation:Enum=AlwaysAdmit;AlwaysDeny;AlwaysPullImages;CertificateApproval;CertificateSigning;CertificateSubjectRestriction;DefaultIngressClass;DefaultStorageClass;DefaultTolerationSeconds;DenyEscalatingExec;DenyExecOnPrivileged;DenyServiceExternalIPs;EventRateLimit;ExtendedResourceToleration;ImagePolicyWebhook;LimitPodHardAntiAffinityTopology;LimitRanger;MutatingAdmissionWebhook;NamespaceAutoProvision;NamespaceExists;NamespaceLifecycle;NodeRestriction;OwnerReferencesPermissionEnforcement;PersistentVolumeClaimResize;PersistentVolumeLabel;PodNodeSelector;PodSecurity;PodSecurityPolicy;PodTolerationRestriction;Priority;ResourceQuota;RuntimeClass;SecurityContextDeny;ServiceAccount;StorageObjectInUseProtection;TaintNodesByCondition;ValidatingAdmissionWebhook

type AdmissionControllers

type AdmissionControllers []AdmissionController

func (AdmissionControllers) DeepCopy

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

func (AdmissionControllers) DeepCopyInto

func (in AdmissionControllers) DeepCopyInto(out *AdmissionControllers)

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

func (AdmissionControllers) ToSlice

func (a AdmissionControllers) ToSlice() []string

type BasicAuth

type BasicAuth struct {
	Username ContentRef `json:"username"`
	Password ContentRef `json:"password"`
}

BasicAuth contains the required information to perform the connection using user credentials to the data store.

func (*BasicAuth) DeepCopy

func (in *BasicAuth) DeepCopy() *BasicAuth

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

func (*BasicAuth) DeepCopyInto

func (in *BasicAuth) DeepCopyInto(out *BasicAuth)

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

type CGroupDriver

type CGroupDriver string

+kubebuilder:validation:Enum=systemd;cgroupfs

func (CGroupDriver) String

func (c CGroupDriver) String() string

type CertKeyPair

type CertKeyPair struct {
	Certificate ContentRef  `json:"certificate"`
	PrivateKey  *ContentRef `json:"privateKey,omitempty"`
}

func (*CertKeyPair) DeepCopy

func (in *CertKeyPair) DeepCopy() *CertKeyPair

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

func (*CertKeyPair) DeepCopyInto

func (in *CertKeyPair) DeepCopyInto(out *CertKeyPair)

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

type CertificatePrivateKeyPairStatus

type CertificatePrivateKeyPairStatus struct {
	SecretName string      `json:"secretName,omitempty"`
	LastUpdate metav1.Time `json:"lastUpdate,omitempty"`
	Checksum   string      `json:"checksum,omitempty"`
}

CertificatePrivateKeyPairStatus defines the status.

func (*CertificatePrivateKeyPairStatus) DeepCopy

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

func (*CertificatePrivateKeyPairStatus) DeepCopyInto

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

type CertificatesStatus

type CertificatesStatus struct {
	CA                     CertificatePrivateKeyPairStatus `json:"ca,omitempty"`
	APIServer              CertificatePrivateKeyPairStatus `json:"apiServer,omitempty"`
	APIServerKubeletClient CertificatePrivateKeyPairStatus `json:"apiServerKubeletClient,omitempty"`
	FrontProxyCA           CertificatePrivateKeyPairStatus `json:"frontProxyCA,omitempty"`
	FrontProxyClient       CertificatePrivateKeyPairStatus `json:"frontProxyClient,omitempty"`
	SA                     PublicKeyPrivateKeyPairStatus   `json:"sa,omitempty"`
	ETCD                   *ETCDCertificatesStatus         `json:"etcd,omitempty"`
}

CertificatesStatus defines the observed state of ETCD TLSConfig.

func (*CertificatesStatus) DeepCopy

func (in *CertificatesStatus) DeepCopy() *CertificatesStatus

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

func (*CertificatesStatus) DeepCopyInto

func (in *CertificatesStatus) DeepCopyInto(out *CertificatesStatus)

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

type ClientCertificate

type ClientCertificate struct {
	Certificate ContentRef `json:"certificate"`
	PrivateKey  ContentRef `json:"privateKey"`
}

func (*ClientCertificate) DeepCopy

func (in *ClientCertificate) DeepCopy() *ClientCertificate

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

func (*ClientCertificate) DeepCopyInto

func (in *ClientCertificate) DeepCopyInto(out *ClientCertificate)

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

type ContentRef

type ContentRef struct {
	// Bare content of the file, base64 encoded.
	// It has precedence over the SecretReference value.
	Content   []byte           `json:"content,omitempty"`
	SecretRef *SecretReference `json:"secretReference,omitempty"`
}

func (*ContentRef) DeepCopy

func (in *ContentRef) DeepCopy() *ContentRef

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

func (*ContentRef) DeepCopyInto

func (in *ContentRef) DeepCopyInto(out *ContentRef)

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

func (*ContentRef) GetContent

func (in *ContentRef) GetContent(ctx context.Context, client client.Client) ([]byte, error)

GetContent is the resolver for the container of the Secret. The bare content has priority over the external reference.

type ControlPlane

type ControlPlane struct {
	// Defining the options for the deployed Tenant Control Plane as Deployment resource.
	Deployment DeploymentSpec `json:"deployment,omitempty"`
	// Defining the options for the Tenant Control Plane Service resource.
	Service ServiceSpec `json:"service"`
	// Defining the options for an Optional Ingress which will expose API Server of the Tenant Control Plane
	Ingress *IngressSpec `json:"ingress,omitempty"`
}

ControlPlane defines how the Tenant Control Plane Kubernetes resources must be created in the Admin Cluster, such as the number of Pod replicas, the Service resource, or the Ingress.

func (*ControlPlane) DeepCopy

func (in *ControlPlane) DeepCopy() *ControlPlane

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

func (*ControlPlane) DeepCopyInto

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

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

type ControlPlaneComponentsResources

type ControlPlaneComponentsResources struct {
	APIServer         *corev1.ResourceRequirements `json:"apiServer,omitempty"`
	ControllerManager *corev1.ResourceRequirements `json:"controllerManager,omitempty"`
	Scheduler         *corev1.ResourceRequirements `json:"scheduler,omitempty"`
	// Define the kine container resources.
	// Available only if Kamaji is running using Kine as backing storage.
	Kine *corev1.ResourceRequirements `json:"kine,omitempty"`
}

func (*ControlPlaneComponentsResources) DeepCopy

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

func (*ControlPlaneComponentsResources) DeepCopyInto

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

type ControlPlaneExtraArgs

type ControlPlaneExtraArgs struct {
	APIServer         []string `json:"apiServer,omitempty"`
	ControllerManager []string `json:"controllerManager,omitempty"`
	Scheduler         []string `json:"scheduler,omitempty"`
	// Available only if Kamaji is running using Kine as backing storage.
	Kine []string `json:"kine,omitempty"`
}

ControlPlaneExtraArgs allows specifying additional arguments to the Control Plane components.

func (*ControlPlaneExtraArgs) DeepCopy

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

func (*ControlPlaneExtraArgs) DeepCopyInto

func (in *ControlPlaneExtraArgs) DeepCopyInto(out *ControlPlaneExtraArgs)

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

type DataStore

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

	Spec   DataStoreSpec   `json:"spec,omitempty"`
	Status DataStoreStatus `json:"status,omitempty"`
}

DataStore is the Schema for the datastores API.

func (*DataStore) DeepCopy

func (in *DataStore) DeepCopy() *DataStore

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

func (*DataStore) DeepCopyInto

func (in *DataStore) DeepCopyInto(out *DataStore)

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

func (*DataStore) DeepCopyObject

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

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

type DataStoreCertificateStatus

type DataStoreCertificateStatus struct {
	SecretName string      `json:"secretName,omitempty"`
	Checksum   string      `json:"checksum,omitempty"`
	LastUpdate metav1.Time `json:"lastUpdate,omitempty"`
}

func (*DataStoreCertificateStatus) DeepCopy

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

func (*DataStoreCertificateStatus) DeepCopyInto

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

type DataStoreConfigStatus

type DataStoreConfigStatus struct {
	SecretName string `json:"secretName,omitempty"`
	Checksum   string `json:"checksum,omitempty"`
}

func (*DataStoreConfigStatus) DeepCopy

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

func (*DataStoreConfigStatus) DeepCopyInto

func (in *DataStoreConfigStatus) DeepCopyInto(out *DataStoreConfigStatus)

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

type DataStoreList

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

DataStoreList contains a list of DataStore.

func (*DataStoreList) DeepCopy

func (in *DataStoreList) DeepCopy() *DataStoreList

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

func (*DataStoreList) DeepCopyInto

func (in *DataStoreList) DeepCopyInto(out *DataStoreList)

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

func (*DataStoreList) DeepCopyObject

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

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

type DataStoreSetupStatus

type DataStoreSetupStatus struct {
	Schema     string      `json:"schema,omitempty"`
	User       string      `json:"user,omitempty"`
	LastUpdate metav1.Time `json:"lastUpdate,omitempty"`
	Checksum   string      `json:"checksum,omitempty"`
}

func (*DataStoreSetupStatus) DeepCopy

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

func (*DataStoreSetupStatus) DeepCopyInto

func (in *DataStoreSetupStatus) DeepCopyInto(out *DataStoreSetupStatus)

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

type DataStoreSpec

type DataStoreSpec struct {
	// The driver to use to connect to the shared datastore.
	Driver Driver `json:"driver"`
	// List of the endpoints to connect to the shared datastore.
	// No need for protocol, just bare IP/FQDN and port.
	Endpoints Endpoints `json:"endpoints"`
	// In case of authentication enabled for the given data store, specifies the username and password pair.
	// This value is optional.
	BasicAuth *BasicAuth `json:"basicAuth,omitempty"`
	// Defines the TLS/SSL configuration required to connect to the data store in a secure way.
	// This value is optional.
	TLSConfig *TLSConfig `json:"tlsConfig,omitempty"`
}

DataStoreSpec defines the desired state of DataStore.

func (*DataStoreSpec) DeepCopy

func (in *DataStoreSpec) DeepCopy() *DataStoreSpec

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

func (*DataStoreSpec) DeepCopyInto

func (in *DataStoreSpec) DeepCopyInto(out *DataStoreSpec)

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

type DataStoreStatus

type DataStoreStatus struct {
	// List of the Tenant Control Planes, namespaced named, using this data store.
	UsedBy []string `json:"usedBy,omitempty"`
}

DataStoreStatus defines the observed state of DataStore.

func (*DataStoreStatus) DeepCopy

func (in *DataStoreStatus) DeepCopy() *DataStoreStatus

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

func (*DataStoreStatus) DeepCopyInto

func (in *DataStoreStatus) DeepCopyInto(out *DataStoreStatus)

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

type DatastoreUsedSecret

type DatastoreUsedSecret struct{}

func (*DatastoreUsedSecret) DeepCopy

func (in *DatastoreUsedSecret) DeepCopy() *DatastoreUsedSecret

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

func (*DatastoreUsedSecret) DeepCopyInto

func (in *DatastoreUsedSecret) DeepCopyInto(out *DatastoreUsedSecret)

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

func (*DatastoreUsedSecret) ExtractValue

func (d *DatastoreUsedSecret) ExtractValue() client.IndexerFunc

func (*DatastoreUsedSecret) Field

func (d *DatastoreUsedSecret) Field() string

func (*DatastoreUsedSecret) Object

func (d *DatastoreUsedSecret) Object() client.Object

func (*DatastoreUsedSecret) SetupWithManager

func (d *DatastoreUsedSecret) SetupWithManager(ctx context.Context, mgr controllerruntime.Manager) error

type DeploymentSpec

type DeploymentSpec struct {
	// RegistrySettings allows to override the default images for the given Tenant Control Plane instance.
	// It could be used to point to a different container registry rather than the public one.
	// +kubebuilder:default={registry:"registry.k8s.io",apiServerImage:"kube-apiserver",controllerManagerImage:"kube-controller-manager",schedulerImage:"kube-scheduler"}
	RegistrySettings RegistrySettings `json:"registrySettings,omitempty"`
	// +kubebuilder:default=2
	Replicas *int32 `json:"replicas,omitempty"`
	// NodeSelector is a selector which must be true for the pod to fit on a node.
	// Selector which must match a node's labels for the pod to be scheduled on that node.
	// More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`
	// RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used
	// to run the Tenant Control Plane pod. If no RuntimeClass resource matches the named class, the pod will not be run.
	// If unset or empty, the "legacy" RuntimeClass will be used, which is an implicit class with an
	// empty definition that uses the default runtime handler.
	// More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class
	RuntimeClassName string `json:"runtimeClassName,omitempty"`
	// Strategy describes how to replace existing pods with new ones for the given Tenant Control Plane.
	// Default value is set to Rolling Update, with a blue/green strategy.
	// +kubebuilder:default={type:"RollingUpdate",rollingUpdate:{maxUnavailable:0,maxSurge:"100%"}}
	Strategy appsv1.DeploymentStrategy `json:"strategy,omitempty"`
	// If specified, the Tenant Control Plane pod's tolerations.
	// More info: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
	// If specified, the Tenant Control Plane pod's scheduling constraints.
	// More info: https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/
	Affinity *corev1.Affinity `json:"affinity,omitempty"`
	// TopologySpreadConstraints describes how the Tenant Control Plane pods ought to spread across topology
	// domains. Scheduler will schedule pods in a way which abides by the constraints.
	// In case of nil underlying LabelSelector, the Kamaji one for the given Tenant Control Plane will be used.
	// All topologySpreadConstraints are ANDed.
	TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
	// Resources defines the amount of memory and CPU to allocate to each component of the Control Plane
	// (kube-apiserver, controller-manager, and scheduler).
	Resources *ControlPlaneComponentsResources `json:"resources,omitempty"`
	// ExtraArgs allows adding additional arguments to the Control Plane components,
	// such as kube-apiserver, controller-manager, and scheduler. WARNING - This option
	// can override existing parameters and cause components to misbehave in unxpected ways.
	// Only modify if you know what you are doing.
	ExtraArgs             *ControlPlaneExtraArgs `json:"extraArgs,omitempty"`
	AdditionalMetadata    AdditionalMetadata     `json:"additionalMetadata,omitempty"`
	PodAdditionalMetadata AdditionalMetadata     `json:"podAdditionalMetadata,omitempty"`
	// AdditionalInitContainers allows adding additional init containers to the Control Plane deployment.
	AdditionalInitContainers []corev1.Container `json:"additionalInitContainers,omitempty"`
	// AdditionalContainers allows adding additional containers to the Control Plane deployment.
	AdditionalContainers []corev1.Container `json:"additionalContainers,omitempty"`
	// AdditionalVolumes allows to add additional volumes to the Control Plane deployment.
	AdditionalVolumes []corev1.Volume `json:"additionalVolumes,omitempty"`
	// AdditionalVolumeMounts allows to mount an additional volume into each component of the Control Plane
	// (kube-apiserver, controller-manager, and scheduler).
	AdditionalVolumeMounts *AdditionalVolumeMounts `json:"additionalVolumeMounts,omitempty"`
	// +kubebuilder:default="default"
	// ServiceAccountName allows to specify the service account to be mounted to the pods of the Control plane deployment
	ServiceAccountName string `json:"serviceAccountName,omitempty"`
}

func (*DeploymentSpec) DeepCopy

func (in *DeploymentSpec) DeepCopy() *DeploymentSpec

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

func (*DeploymentSpec) DeepCopyInto

func (in *DeploymentSpec) DeepCopyInto(out *DeploymentSpec)

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

type Driver

type Driver string
var (
	EtcdDriver           Driver = "etcd"
	KineMySQLDriver      Driver = "MySQL"
	KinePostgreSQLDriver Driver = "PostgreSQL"
	KineNatsDriver       Driver = "NATS"
)

type ETCDCertificateStatus

type ETCDCertificateStatus struct {
	SecretName string      `json:"secretName,omitempty"`
	LastUpdate metav1.Time `json:"lastUpdate,omitempty"`
	Checksum   string      `json:"checksum,omitempty"`
}

ETCDCertificateStatus defines the observed state of ETCD Certificate for API server.

func (*ETCDCertificateStatus) DeepCopy

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

func (*ETCDCertificateStatus) DeepCopyInto

func (in *ETCDCertificateStatus) DeepCopyInto(out *ETCDCertificateStatus)

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

type ETCDCertificatesStatus

type ETCDCertificatesStatus struct {
	APIServer APIServerCertificatesStatus `json:"apiServer,omitempty"`
	CA        ETCDCertificateStatus       `json:"ca,omitempty"`
}

ETCDCertificatesStatus defines the observed state of ETCD Certificate for API server.

func (*ETCDCertificatesStatus) DeepCopy

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

func (*ETCDCertificatesStatus) DeepCopyInto

func (in *ETCDCertificatesStatus) DeepCopyInto(out *ETCDCertificatesStatus)

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

type Endpoints

type Endpoints []string

func (Endpoints) DeepCopy

func (in Endpoints) DeepCopy() Endpoints

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

func (Endpoints) DeepCopyInto

func (in Endpoints) DeepCopyInto(out *Endpoints)

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

type ExternalKubernetesObjectStatus

type ExternalKubernetesObjectStatus struct {
	Name      string `json:"name,omitempty"`
	Namespace string `json:"namespace,omitempty"`
	// Last time when k8s object was updated
	LastUpdate metav1.Time `json:"lastUpdate,omitempty"`
}

func (*ExternalKubernetesObjectStatus) DeepCopy

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

func (*ExternalKubernetesObjectStatus) DeepCopyInto

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

type ExtraArgs

type ExtraArgs []string

ExtraArgs allows adding additional arguments to said component. WARNING - This option can override existing konnectivity parameters and cause konnectivity components to misbehave in unxpected ways. Only modify if you know what you are doing.

func (ExtraArgs) DeepCopy

func (in ExtraArgs) DeepCopy() ExtraArgs

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

func (ExtraArgs) DeepCopyInto

func (in ExtraArgs) DeepCopyInto(out *ExtraArgs)

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

type ImageOverrideTrait

type ImageOverrideTrait struct {
	// ImageRepository sets the container registry to pull images from.
	// if not set, the default ImageRepository will be used instead.
	ImageRepository string `json:"imageRepository,omitempty"`
	// ImageTag allows to specify a tag for the image.
	// In case this value is set, kubeadm does not change automatically the version of the above components during upgrades.
	ImageTag string `json:"imageTag,omitempty"`
}

func (*ImageOverrideTrait) DeepCopy

func (in *ImageOverrideTrait) DeepCopy() *ImageOverrideTrait

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

func (*ImageOverrideTrait) DeepCopyInto

func (in *ImageOverrideTrait) DeepCopyInto(out *ImageOverrideTrait)

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

type IngressSpec

type IngressSpec struct {
	AdditionalMetadata AdditionalMetadata `json:"additionalMetadata,omitempty"`
	IngressClassName   string             `json:"ingressClassName,omitempty"`
	// Hostname is an optional field which will be used as Ingress's Host. If it is not defined,
	// Ingress's host will be "<tenant>.<namespace>.<domain>", where domain is specified under NetworkProfileSpec
	Hostname string `json:"hostname,omitempty"`
}

IngressSpec defines the options for the ingress which will expose API Server of the Tenant Control Plane.

func (*IngressSpec) DeepCopy

func (in *IngressSpec) DeepCopy() *IngressSpec

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

func (*IngressSpec) DeepCopyInto

func (in *IngressSpec) DeepCopyInto(out *IngressSpec)

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

type KonnectivityAgentSpec

type KonnectivityAgentSpec struct {
	// AgentImage defines the container image for Konnectivity's agent.
	// +kubebuilder:default=registry.k8s.io/kas-network-proxy/proxy-agent
	Image string `json:"image,omitempty"`
	// Version for Konnectivity agent.
	// +kubebuilder:default=v0.0.32
	Version string `json:"version,omitempty"`
	// Tolerations for the deployed agent.
	// Can be customized to start the konnectivity-agent even if the nodes are not ready or tainted.
	// +kubebuilder:default={{key: "CriticalAddonsOnly", operator: "Exists"}}
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
	ExtraArgs   ExtraArgs           `json:"extraArgs,omitempty"`
}

func (*KonnectivityAgentSpec) DeepCopy

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

func (*KonnectivityAgentSpec) DeepCopyInto

func (in *KonnectivityAgentSpec) DeepCopyInto(out *KonnectivityAgentSpec)

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

type KonnectivityConfigMap

type KonnectivityConfigMap struct {
	Name     string `json:"name,omitempty"`
	Checksum string `json:"checksum,omitempty"`
}

func (*KonnectivityConfigMap) DeepCopy

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

func (*KonnectivityConfigMap) DeepCopyInto

func (in *KonnectivityConfigMap) DeepCopyInto(out *KonnectivityConfigMap)

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

type KonnectivityServerSpec

type KonnectivityServerSpec struct {
	// The port which Konnectivity server is listening to.
	Port int32 `json:"port"`
	// Container image version of the Konnectivity server.
	// +kubebuilder:default=v0.0.32
	Version string `json:"version,omitempty"`
	// Container image used by the Konnectivity server.
	// +kubebuilder:default=registry.k8s.io/kas-network-proxy/proxy-server
	Image string `json:"image,omitempty"`
	// Resources define the amount of CPU and memory to allocate to the Konnectivity server.
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
	ExtraArgs ExtraArgs                    `json:"extraArgs,omitempty"`
}

func (*KonnectivityServerSpec) DeepCopy

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

func (*KonnectivityServerSpec) DeepCopyInto

func (in *KonnectivityServerSpec) DeepCopyInto(out *KonnectivityServerSpec)

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

type KonnectivitySpec

type KonnectivitySpec struct {
	// +kubebuilder:default={version:"v0.0.32",image:"registry.k8s.io/kas-network-proxy/proxy-server",port:8132}
	KonnectivityServerSpec KonnectivityServerSpec `json:"server,omitempty"`
	// +kubebuilder:default={version:"v0.0.32",image:"registry.k8s.io/kas-network-proxy/proxy-agent"}
	KonnectivityAgentSpec KonnectivityAgentSpec `json:"agent,omitempty"`
}

KonnectivitySpec defines the spec for Konnectivity.

func (*KonnectivitySpec) DeepCopy

func (in *KonnectivitySpec) DeepCopy() *KonnectivitySpec

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

func (*KonnectivitySpec) DeepCopyInto

func (in *KonnectivitySpec) DeepCopyInto(out *KonnectivitySpec)

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

type KonnectivityStatus

type KonnectivityStatus struct {
	Enabled            bool                            `json:"enabled"`
	ConfigMap          KonnectivityConfigMap           `json:"configMap,omitempty"`
	Certificate        CertificatePrivateKeyPairStatus `json:"certificate,omitempty"`
	Kubeconfig         KubeconfigStatus                `json:"kubeconfig,omitempty"`
	ServiceAccount     ExternalKubernetesObjectStatus  `json:"sa,omitempty"`
	ClusterRoleBinding ExternalKubernetesObjectStatus  `json:"clusterrolebinding,omitempty"`
	Agent              ExternalKubernetesObjectStatus  `json:"agent,omitempty"`
	Service            KubernetesServiceStatus         `json:"service,omitempty"`
}

KonnectivityStatus defines the status of Konnectivity as Addon.

func (*KonnectivityStatus) DeepCopy

func (in *KonnectivityStatus) DeepCopy() *KonnectivityStatus

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

func (*KonnectivityStatus) DeepCopyInto

func (in *KonnectivityStatus) DeepCopyInto(out *KonnectivityStatus)

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

type KubeadmConfigChecksumDependant

type KubeadmConfigChecksumDependant interface {
	GetChecksum() string
	SetChecksum(string)
}

KubeadmConfigChecksumDependant is the interface used to retrieve the checksum of the kubeadm phases and addons configuration, required to validate the changes and, upon from that, perform the required reconciliation. +kubebuilder:object:generate=false

type KubeadmConfigStatus

type KubeadmConfigStatus struct {
	ConfigmapName string      `json:"configmapName,omitempty"`
	LastUpdate    metav1.Time `json:"lastUpdate,omitempty"`
	// Checksum of the kubeadm configuration to detect changes
	Checksum string `json:"checksum,omitempty"`
}

KubeadmConfigStatus contains the status of the configuration required by kubeadm.

func (*KubeadmConfigStatus) DeepCopy

func (in *KubeadmConfigStatus) DeepCopy() *KubeadmConfigStatus

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

func (*KubeadmConfigStatus) DeepCopyInto

func (in *KubeadmConfigStatus) DeepCopyInto(out *KubeadmConfigStatus)

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

type KubeadmPhaseStatus

type KubeadmPhaseStatus struct {
	Checksum   string      `json:"checksum,omitempty"`
	LastUpdate metav1.Time `json:"lastUpdate,omitempty"`
}

KubeadmPhaseStatus contains the status of a kubeadm phase action.

func (*KubeadmPhaseStatus) DeepCopy

func (in *KubeadmPhaseStatus) DeepCopy() *KubeadmPhaseStatus

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

func (*KubeadmPhaseStatus) DeepCopyInto

func (in *KubeadmPhaseStatus) DeepCopyInto(out *KubeadmPhaseStatus)

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

func (KubeadmPhaseStatus) GetChecksum

func (in KubeadmPhaseStatus) GetChecksum() string

func (*KubeadmPhaseStatus) SetChecksum

func (in *KubeadmPhaseStatus) SetChecksum(checksum string)

type KubeadmPhasesStatus

type KubeadmPhasesStatus struct {
	BootstrapToken KubeadmPhaseStatus `json:"bootstrapToken"`
}

KubeadmPhasesStatus contains the status of the different kubeadm phases action.

func (*KubeadmPhasesStatus) DeepCopy

func (in *KubeadmPhasesStatus) DeepCopy() *KubeadmPhasesStatus

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

func (*KubeadmPhasesStatus) DeepCopyInto

func (in *KubeadmPhasesStatus) DeepCopyInto(out *KubeadmPhasesStatus)

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

type KubeconfigStatus

type KubeconfigStatus struct {
	SecretName string      `json:"secretName,omitempty"`
	LastUpdate metav1.Time `json:"lastUpdate,omitempty"`
	Checksum   string      `json:"checksum,omitempty"`
}

KubeconfigStatus contains information about the generated kubeconfig.

func (*KubeconfigStatus) DeepCopy

func (in *KubeconfigStatus) DeepCopy() *KubeconfigStatus

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

func (*KubeconfigStatus) DeepCopyInto

func (in *KubeconfigStatus) DeepCopyInto(out *KubeconfigStatus)

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

type KubeconfigsStatus

type KubeconfigsStatus struct {
	Admin             KubeconfigStatus `json:"admin,omitempty"`
	ControllerManager KubeconfigStatus `json:"controllerManager,omitempty"`
	Scheduler         KubeconfigStatus `json:"scheduler,omitempty"`
}

KubeconfigsStatus stores information about all the generated kubeconfig resources.

func (*KubeconfigsStatus) DeepCopy

func (in *KubeconfigsStatus) DeepCopy() *KubeconfigsStatus

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

func (*KubeconfigsStatus) DeepCopyInto

func (in *KubeconfigsStatus) DeepCopyInto(out *KubeconfigsStatus)

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

type KubeletPreferredAddressType

type KubeletPreferredAddressType string

+kubebuilder:validation:Enum=Hostname;InternalIP;ExternalIP;InternalDNS;ExternalDNS

const (
	NodeHostName    KubeletPreferredAddressType = "Hostname"
	NodeInternalIP  KubeletPreferredAddressType = "InternalIP"
	NodeExternalIP  KubeletPreferredAddressType = "ExternalIP"
	NodeInternalDNS KubeletPreferredAddressType = "InternalDNS"
	NodeExternalDNS KubeletPreferredAddressType = "ExternalDNS"
)

type KubeletSpec

type KubeletSpec struct {
	// Ordered list of the preferred NodeAddressTypes to use for kubelet connections.
	// Default to Hostname, InternalIP, ExternalIP.
	// +kubebuilder:default={"Hostname","InternalIP","ExternalIP"}
	// +kubebuilder:validation:MinItems=1
	PreferredAddressTypes []KubeletPreferredAddressType `json:"preferredAddressTypes,omitempty"`
	// CGroupFS defines the  cgroup driver for Kubelet
	// https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver/
	CGroupFS CGroupDriver `json:"cgroupfs,omitempty"`
}

func (*KubeletSpec) DeepCopy

func (in *KubeletSpec) DeepCopy() *KubeletSpec

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

func (*KubeletSpec) DeepCopyInto

func (in *KubeletSpec) DeepCopyInto(out *KubeletSpec)

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

type KubernetesDeploymentStatus

type KubernetesDeploymentStatus struct {
	appsv1.DeploymentStatus `json:",inline"`
	// Selector is the label selector used to group the Tenant Control Plane Pods used by the scale subresource.
	Selector string `json:"selector"`
	// The name of the Deployment for the given cluster.
	Name string `json:"name"`
	// The namespace which the Deployment for the given cluster is deployed.
	Namespace string `json:"namespace"`
	// Last time when deployment was updated
	LastUpdate metav1.Time `json:"lastUpdate,omitempty"`
}

KubernetesDeploymentStatus defines the status for the Tenant Control Plane Deployment in the management cluster.

func (*KubernetesDeploymentStatus) DeepCopy

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

func (*KubernetesDeploymentStatus) DeepCopyInto

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

type KubernetesIngressStatus

type KubernetesIngressStatus struct {
	networkingv1.IngressStatus `json:",inline"`
	// The name of the Ingress for the given cluster.
	Name string `json:"name"`
	// The namespace which the Ingress for the given cluster is deployed.
	Namespace string `json:"namespace"`
}

KubernetesIngressStatus defines the status for the Tenant Control Plane Ingress in the management cluster.

func (*KubernetesIngressStatus) DeepCopy

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

func (*KubernetesIngressStatus) DeepCopyInto

func (in *KubernetesIngressStatus) DeepCopyInto(out *KubernetesIngressStatus)

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

type KubernetesServiceStatus

type KubernetesServiceStatus struct {
	corev1.ServiceStatus `json:",inline"`
	// The name of the Service for the given cluster.
	Name string `json:"name"`
	// The namespace which the Service for the given cluster is deployed.
	Namespace string `json:"namespace"`
	// The port where the service is running
	Port int32 `json:"port"`
}

KubernetesServiceStatus defines the status for the Tenant Control Plane Service in the management cluster.

func (*KubernetesServiceStatus) DeepCopy

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

func (*KubernetesServiceStatus) DeepCopyInto

func (in *KubernetesServiceStatus) DeepCopyInto(out *KubernetesServiceStatus)

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

type KubernetesSpec

type KubernetesSpec struct {
	// Kubernetes Version for the tenant control plane
	Version string      `json:"version"`
	Kubelet KubeletSpec `json:"kubelet"`

	// List of enabled Admission Controllers for the Tenant cluster.
	// Full reference available here: https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers
	// +kubebuilder:default=CertificateApproval;CertificateSigning;CertificateSubjectRestriction;DefaultIngressClass;DefaultStorageClass;DefaultTolerationSeconds;LimitRanger;MutatingAdmissionWebhook;NamespaceLifecycle;PersistentVolumeClaimResize;Priority;ResourceQuota;RuntimeClass;ServiceAccount;StorageObjectInUseProtection;TaintNodesByCondition;ValidatingAdmissionWebhook
	AdmissionControllers AdmissionControllers `json:"admissionControllers,omitempty"`
}

KubernetesSpec defines the desired state of Kubernetes.

func (*KubernetesSpec) DeepCopy

func (in *KubernetesSpec) DeepCopy() *KubernetesSpec

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

func (*KubernetesSpec) DeepCopyInto

func (in *KubernetesSpec) DeepCopyInto(out *KubernetesSpec)

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

type KubernetesStatus

type KubernetesStatus struct {
	// KubernetesVersion contains the information regarding the running Kubernetes version, and its upgrade status.
	Version    KubernetesVersion          `json:"version,omitempty"`
	Deployment KubernetesDeploymentStatus `json:"deployment,omitempty"`
	Service    KubernetesServiceStatus    `json:"service,omitempty"`
	Ingress    *KubernetesIngressStatus   `json:"ingress,omitempty"`
}

KubernetesStatus defines the status of the resources deployed in the management cluster, such as Deployment and Service.

func (*KubernetesStatus) DeepCopy

func (in *KubernetesStatus) DeepCopy() *KubernetesStatus

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

func (*KubernetesStatus) DeepCopyInto

func (in *KubernetesStatus) DeepCopyInto(out *KubernetesStatus)

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

type KubernetesVersion

type KubernetesVersion struct {
	// Version is the running Kubernetes version of the Tenant Control Plane.
	Version string `json:"version,omitempty"`
	// +kubebuilder:default=Provisioning
	// Status returns the current status of the Kubernetes version, such as its provisioning state, or completed upgrade.
	Status *KubernetesVersionStatus `json:"status,omitempty"`
}

func (*KubernetesVersion) DeepCopy

func (in *KubernetesVersion) DeepCopy() *KubernetesVersion

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

func (*KubernetesVersion) DeepCopyInto

func (in *KubernetesVersion) DeepCopyInto(out *KubernetesVersion)

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

type KubernetesVersionStatus

type KubernetesVersionStatus string

+kubebuilder:validation:Enum=Provisioning;CertificateAuthorityRotating;Upgrading;Migrating;Ready;NotReady

var (
	VersionProvisioning KubernetesVersionStatus = "Provisioning"
	VersionCARotating   KubernetesVersionStatus = "CertificateAuthorityRotating"
	VersionUpgrading    KubernetesVersionStatus = "Upgrading"
	VersionMigrating    KubernetesVersionStatus = "Migrating"
	VersionReady        KubernetesVersionStatus = "Ready"
	VersionNotReady     KubernetesVersionStatus = "NotReady"
)

type NetworkProfileSpec

type NetworkProfileSpec struct {
	// Address where API server of will be exposed.
	// In case of LoadBalancer Service, this can be empty in order to use the exposed IP provided by the cloud controller manager.
	Address string `json:"address,omitempty"`
	// AllowAddressAsExternalIP will include tenantControlPlane.Spec.NetworkProfile.Address in the section of
	// ExternalIPs of the Kubernetes Service (only ClusterIP or NodePort)
	AllowAddressAsExternalIP bool `json:"allowAddressAsExternalIP,omitempty"`
	// Port where API server of will be exposed
	// +kubebuilder:default=6443
	Port int32 `json:"port,omitempty"`
	// CertSANs sets extra Subject Alternative Names (SANs) for the API Server signing certificate.
	// Use this field to add additional hostnames when exposing the Tenant Control Plane with third solutions.
	CertSANs []string `json:"certSANs,omitempty"`
	// Kubernetes Service
	// +kubebuilder:default="10.96.0.0/16"
	ServiceCIDR string `json:"serviceCidr,omitempty"`
	// CIDR for Kubernetes Pods
	// +kubebuilder:default="10.244.0.0/16"
	PodCIDR string `json:"podCidr,omitempty"`
	// +kubebuilder:default={"10.96.0.10"}
	DNSServiceIPs []string `json:"dnsServiceIPs,omitempty"`
}

NetworkProfileSpec defines the desired state of NetworkProfile.

func (*NetworkProfileSpec) DeepCopy

func (in *NetworkProfileSpec) DeepCopy() *NetworkProfileSpec

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

func (*NetworkProfileSpec) DeepCopyInto

func (in *NetworkProfileSpec) DeepCopyInto(out *NetworkProfileSpec)

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

type PublicKeyPrivateKeyPairStatus

type PublicKeyPrivateKeyPairStatus struct {
	SecretName string      `json:"secretName,omitempty"`
	LastUpdate metav1.Time `json:"lastUpdate,omitempty"`
	Checksum   string      `json:"checksum,omitempty"`
}

PublicKeyPrivateKeyPairStatus defines the status.

func (*PublicKeyPrivateKeyPairStatus) DeepCopy

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

func (*PublicKeyPrivateKeyPairStatus) DeepCopyInto

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

type RegistrySettings

type RegistrySettings struct {
	// +kubebuilder:default="registry.k8s.io"
	Registry string `json:"registry,omitempty"`
	// The tag to append to all the Control Plane container images.
	// Optional.
	TagSuffix string `json:"tagSuffix,omitempty"`
	// +kubebuilder:default="kube-apiserver"
	APIServerImage string `json:"apiServerImage,omitempty"`
	// +kubebuilder:default="kube-controller-manager"
	ControllerManagerImage string `json:"controllerManagerImage,omitempty"`
	// +kubebuilder:default="kube-scheduler"
	SchedulerImage string `json:"schedulerImage,omitempty"`
}

func (*RegistrySettings) DeepCopy

func (in *RegistrySettings) DeepCopy() *RegistrySettings

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

func (*RegistrySettings) DeepCopyInto

func (in *RegistrySettings) DeepCopyInto(out *RegistrySettings)

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

func (*RegistrySettings) KubeAPIServerImage

func (r *RegistrySettings) KubeAPIServerImage(version string) string

func (*RegistrySettings) KubeControllerManagerImage

func (r *RegistrySettings) KubeControllerManagerImage(version string) string

func (*RegistrySettings) KubeSchedulerImage

func (r *RegistrySettings) KubeSchedulerImage(version string) string

type SecretReference

type SecretReference struct {
	corev1.SecretReference `json:",inline"`
	// Name of the key for the given Secret reference where the content is stored.
	// This value is mandatory.
	KeyPath secretReferKeyPath `json:"keyPath"`
}

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 ServiceSpec

type ServiceSpec struct {
	AdditionalMetadata AdditionalMetadata `json:"additionalMetadata,omitempty"`
	// ServiceType allows specifying how to expose the Tenant Control Plane.
	ServiceType ServiceType `json:"serviceType"`
}

func (*ServiceSpec) DeepCopy

func (in *ServiceSpec) DeepCopy() *ServiceSpec

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

func (*ServiceSpec) DeepCopyInto

func (in *ServiceSpec) DeepCopyInto(out *ServiceSpec)

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

type ServiceType

type ServiceType corev1.ServiceType

+kubebuilder:validation:Enum=ClusterIP;NodePort;LoadBalancer

type StorageStatus

type StorageStatus struct {
	Driver        string                     `json:"driver,omitempty"`
	DataStoreName string                     `json:"dataStoreName,omitempty"`
	Config        DataStoreConfigStatus      `json:"config,omitempty"`
	Setup         DataStoreSetupStatus       `json:"setup,omitempty"`
	Certificate   DataStoreCertificateStatus `json:"certificate,omitempty"`
}

StorageStatus defines the observed state of StorageStatus.

func (*StorageStatus) DeepCopy

func (in *StorageStatus) DeepCopy() *StorageStatus

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

func (*StorageStatus) DeepCopyInto

func (in *StorageStatus) DeepCopyInto(out *StorageStatus)

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

type TLSConfig

type TLSConfig struct {
	// Retrieve the Certificate Authority certificate and private key, such as bare content of the file, or a SecretReference.
	// The key reference is required since etcd authentication is based on certificates, and Kamaji is responsible in creating this.
	CertificateAuthority CertKeyPair `json:"certificateAuthority"`
	// Specifies the SSL/TLS key and private key pair used to connect to the data store.
	ClientCertificate *ClientCertificate `json:"clientCertificate,omitempty"`
}

TLSConfig contains the information used to connect to the data store using a secured connection.

func (*TLSConfig) DeepCopy

func (in *TLSConfig) DeepCopy() *TLSConfig

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

func (*TLSConfig) DeepCopyInto

func (in *TLSConfig) DeepCopyInto(out *TLSConfig)

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

type TenantControlPlane

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

	Spec   TenantControlPlaneSpec   `json:"spec,omitempty"`
	Status TenantControlPlaneStatus `json:"status,omitempty"`
}

TenantControlPlane is the Schema for the tenantcontrolplanes API.

func (*TenantControlPlane) DeepCopy

func (in *TenantControlPlane) DeepCopy() *TenantControlPlane

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

func (*TenantControlPlane) DeepCopyInto

func (in *TenantControlPlane) DeepCopyInto(out *TenantControlPlane)

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

func (*TenantControlPlane) DeepCopyObject

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

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

type TenantControlPlaneList

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

TenantControlPlaneList contains a list of TenantControlPlane.

func (*TenantControlPlaneList) DeepCopy

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

func (*TenantControlPlaneList) DeepCopyInto

func (in *TenantControlPlaneList) DeepCopyInto(out *TenantControlPlaneList)

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

func (*TenantControlPlaneList) DeepCopyObject

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

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

type TenantControlPlaneSpec

type TenantControlPlaneSpec struct {
	// DataStore allows to specify a DataStore that should be used to store the Kubernetes data for the given Tenant Control Plane.
	// This parameter is optional and acts as an override over the default one which is used by the Kamaji Operator.
	// Migration from a different DataStore to another one is not yet supported and the reconciliation will be blocked.
	DataStore    string       `json:"dataStore,omitempty"`
	ControlPlane ControlPlane `json:"controlPlane"`
	// Kubernetes specification for tenant control plane
	Kubernetes KubernetesSpec `json:"kubernetes"`
	// NetworkProfile specifies how the network is
	NetworkProfile NetworkProfileSpec `json:"networkProfile,omitempty"`
	// Addons contain which addons are enabled
	Addons AddonsSpec `json:"addons,omitempty"`
}

TenantControlPlaneSpec defines the desired state of TenantControlPlane.

func (*TenantControlPlaneSpec) DeepCopy

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

func (*TenantControlPlaneSpec) DeepCopyInto

func (in *TenantControlPlaneSpec) DeepCopyInto(out *TenantControlPlaneSpec)

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

type TenantControlPlaneStatus

type TenantControlPlaneStatus struct {
	// Storage Status contains information about Kubernetes storage system
	Storage StorageStatus `json:"storage,omitempty"`
	// Certificates contains information about the different certificates
	// that are necessary to run a kubernetes control plane
	Certificates CertificatesStatus `json:"certificates,omitempty"`
	// KubeConfig contains information about the kubenconfigs that control plane pieces need
	KubeConfig KubeconfigsStatus `json:"kubeconfig,omitempty"`
	// Kubernetes contains information about the reconciliation of the required Kubernetes resources deployed in the admin cluster
	Kubernetes KubernetesStatus `json:"kubernetesResources,omitempty"`
	// KubeadmConfig contains the status of the configuration required by kubeadm
	KubeadmConfig KubeadmConfigStatus `json:"kubeadmconfig,omitempty"`
	// KubeadmPhase contains the status of the kubeadm phases action
	KubeadmPhase KubeadmPhasesStatus `json:"kubeadmPhase,omitempty"`
	// ControlPlaneEndpoint contains the status of the kubernetes control plane
	ControlPlaneEndpoint string `json:"controlPlaneEndpoint,omitempty"`
	// Addons contains the status of the different Addons
	Addons AddonsStatus `json:"addons,omitempty"`
}

TenantControlPlaneStatus defines the observed state of TenantControlPlane.

func (*TenantControlPlaneStatus) DeepCopy

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

func (*TenantControlPlaneStatus) DeepCopyInto

func (in *TenantControlPlaneStatus) DeepCopyInto(out *TenantControlPlaneStatus)

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

type TenantControlPlaneStatusDataStore

type TenantControlPlaneStatusDataStore struct{}

func (*TenantControlPlaneStatusDataStore) DeepCopy

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

func (*TenantControlPlaneStatusDataStore) DeepCopyInto

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

func (*TenantControlPlaneStatusDataStore) ExtractValue

func (*TenantControlPlaneStatusDataStore) Field

func (*TenantControlPlaneStatusDataStore) Object

func (*TenantControlPlaneStatusDataStore) SetupWithManager

Jump to

Keyboard shortcuts

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