v1alpha1

package
v0.4.2 Latest Latest
Warning

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

Go to latest
Published: Mar 12, 2024 License: Apache-2.0 Imports: 16 Imported by: 5

Documentation

Overview

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)
)
View Source
const (
	DatastoreUsedSecretNamespacedNameKey = "secretRef"
)
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 added in v0.3.0

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 added in v0.3.0

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

func (*AdditionalVolumeMounts) DeepCopyInto added in v0.3.0

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 added in v0.1.0

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

AddonSpec defines the spec for every addon.

func (*AddonSpec) DeepCopy added in v0.1.0

func (in *AddonSpec) DeepCopy() *AddonSpec

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

func (*AddonSpec) DeepCopyInto added in v0.1.0

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 added in v0.1.0

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

AddonStatus defines the observed state of an Addon.

func (*AddonStatus) DeepCopy added in v0.1.0

func (in *AddonStatus) DeepCopy() *AddonStatus

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

func (*AddonStatus) DeepCopyInto added in v0.1.0

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 added in v0.1.0

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 added in v0.1.0

func (in *AddonsSpec) DeepCopy() *AddonsSpec

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

func (*AddonsSpec) DeepCopyInto added in v0.1.0

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 added in v0.1.0

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 added in v0.1.0

func (in *AddonsStatus) DeepCopy() *AddonsStatus

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

func (*AddonsStatus) DeepCopyInto added in v0.1.0

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 added in v0.1.0

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 added in v0.1.0

func (in *BasicAuth) DeepCopy() *BasicAuth

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

func (*BasicAuth) DeepCopyInto added in v0.1.0

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 added in v0.1.0

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

func (*CertKeyPair) DeepCopy added in v0.1.0

func (in *CertKeyPair) DeepCopy() *CertKeyPair

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

func (*CertKeyPair) DeepCopyInto added in v0.1.0

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 added in v0.1.0

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

func (*ClientCertificate) DeepCopy added in v0.1.0

func (in *ClientCertificate) DeepCopy() *ClientCertificate

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

func (*ClientCertificate) DeepCopyInto added in v0.1.0

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 added in v0.1.0

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 added in v0.1.0

func (in *ContentRef) DeepCopy() *ContentRef

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

func (*ContentRef) DeepCopyInto added in v0.1.0

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 added in v0.1.0

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 added in v0.1.0

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 added in v0.1.0

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

func (*ControlPlaneComponentsResources) DeepCopyInto added in v0.1.0

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

type ControlPlaneExtraArgs added in v0.1.0

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 added in v0.1.0

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

func (*ControlPlaneExtraArgs) DeepCopyInto added in v0.1.0

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 added in v0.1.0

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 added in v0.1.0

func (in *DataStore) DeepCopy() *DataStore

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

func (*DataStore) DeepCopyInto added in v0.1.0

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 added in v0.1.0

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

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

type DataStoreCertificateStatus added in v0.1.0

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

func (*DataStoreCertificateStatus) DeepCopy added in v0.1.0

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

func (*DataStoreCertificateStatus) DeepCopyInto added in v0.1.0

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

type DataStoreConfigStatus added in v0.1.0

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

func (*DataStoreConfigStatus) DeepCopy added in v0.1.0

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

func (*DataStoreConfigStatus) DeepCopyInto added in v0.1.0

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 added in v0.1.0

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 added in v0.1.0

func (in *DataStoreList) DeepCopy() *DataStoreList

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

func (*DataStoreList) DeepCopyInto added in v0.1.0

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 added in v0.1.0

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

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

type DataStoreSetupStatus added in v0.1.0

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 added in v0.1.0

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

func (*DataStoreSetupStatus) DeepCopyInto added in v0.1.0

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 added in v0.1.0

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.
	TLSConfig TLSConfig `json:"tlsConfig"`
}

DataStoreSpec defines the desired state of DataStore.

func (*DataStoreSpec) DeepCopy added in v0.1.0

func (in *DataStoreSpec) DeepCopy() *DataStoreSpec

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

func (*DataStoreSpec) DeepCopyInto added in v0.1.0

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 added in v0.1.0

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 added in v0.1.0

func (in *DataStoreStatus) DeepCopy() *DataStoreStatus

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

func (*DataStoreStatus) DeepCopyInto added in v0.1.0

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 added in v0.2.0

type DatastoreUsedSecret struct{}

func (*DatastoreUsedSecret) DeepCopy added in v0.3.0

func (in *DatastoreUsedSecret) DeepCopy() *DatastoreUsedSecret

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

func (*DatastoreUsedSecret) DeepCopyInto added in v0.3.0

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 added in v0.2.0

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

func (*DatastoreUsedSecret) Field added in v0.2.0

func (d *DatastoreUsedSecret) Field() string

func (*DatastoreUsedSecret) Object added in v0.2.0

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

func (*DatastoreUsedSecret) SetupWithManager added in v0.2.0

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"`
	// 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"`
}

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 added in v0.1.0

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

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 added in v0.2.0

type Endpoints []string

func (Endpoints) DeepCopy added in v0.2.0

func (in Endpoints) DeepCopy() Endpoints

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

func (Endpoints) DeepCopyInto added in v0.2.0

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 added in v0.1.0

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 added in v0.1.0

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

func (*ExternalKubernetesObjectStatus) DeepCopyInto added in v0.1.0

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

type ExtraArgs added in v0.2.0

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 added in v0.2.0

func (in ExtraArgs) DeepCopy() ExtraArgs

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

func (ExtraArgs) DeepCopyInto added in v0.2.0

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 added in v0.1.0

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 added in v0.1.0

func (in *ImageOverrideTrait) DeepCopy() *ImageOverrideTrait

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

func (*ImageOverrideTrait) DeepCopyInto added in v0.1.0

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 added in v0.2.0

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"`
	ExtraArgs ExtraArgs `json:"extraArgs,omitempty"`
}

func (*KonnectivityAgentSpec) DeepCopy added in v0.2.0

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

func (*KonnectivityAgentSpec) DeepCopyInto added in v0.2.0

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 added in v0.1.0

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

func (*KonnectivityConfigMap) DeepCopy added in v0.1.0

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

func (*KonnectivityConfigMap) DeepCopyInto added in v0.1.0

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 added in v0.2.0

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 added in v0.2.0

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

func (*KonnectivityServerSpec) DeepCopyInto added in v0.2.0

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 added in v0.1.0

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 added in v0.1.0

func (in *KonnectivitySpec) DeepCopy() *KonnectivitySpec

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

func (*KonnectivitySpec) DeepCopyInto added in v0.1.0

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 added in v0.1.0

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 added in v0.1.0

func (in *KonnectivityStatus) DeepCopy() *KonnectivityStatus

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

func (*KonnectivityStatus) DeepCopyInto added in v0.1.0

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 added in v0.1.0

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 added in v0.1.0

func (in KubeadmPhaseStatus) GetChecksum() string

func (*KubeadmPhaseStatus) SetChecksum added in v0.1.0

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 added in v0.2.0

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 added in v0.3.0

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 added in v0.3.0

func (in *RegistrySettings) DeepCopy() *RegistrySettings

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

func (*RegistrySettings) DeepCopyInto added in v0.3.0

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 added in v0.3.0

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

func (*RegistrySettings) KubeControllerManagerImage added in v0.3.0

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

func (*RegistrySettings) KubeSchedulerImage added in v0.3.0

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

type SecretReference added in v0.1.0

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 added in v0.1.0

func (in *SecretReference) DeepCopy() *SecretReference

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

func (*SecretReference) DeepCopyInto added in v0.1.0

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 added in v0.1.0

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"`
}

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

func (*TLSConfig) DeepCopy added in v0.1.0

func (in *TLSConfig) DeepCopy() *TLSConfig

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

func (*TLSConfig) DeepCopyInto added in v0.1.0

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) AssignedControlPlaneAddress added in v0.1.0

func (in *TenantControlPlane) AssignedControlPlaneAddress() (string, int32, error)

AssignedControlPlaneAddress returns the announced address and port of a Tenant Control Plane. In case of non-well formed values, or missing announcement, an error is returned.

func (*TenantControlPlane) DeclaredControlPlaneAddress added in v0.1.0

func (in *TenantControlPlane) DeclaredControlPlaneAddress(ctx context.Context, client client.Client) (string, error)

DeclaredControlPlaneAddress returns the desired Tenant Control Plane address. In case of dynamic allocation, e.g. using a Load Balancer, it queries the API Server looking for the allocated IP. When an IP has not been yet assigned, or it is expected, an error is returned.

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 added in v0.2.0

type TenantControlPlaneStatusDataStore struct{}

func (*TenantControlPlaneStatusDataStore) DeepCopy added in v0.3.0

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

func (*TenantControlPlaneStatusDataStore) DeepCopyInto added in v0.3.0

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

func (*TenantControlPlaneStatusDataStore) ExtractValue added in v0.2.0

func (*TenantControlPlaneStatusDataStore) Field added in v0.2.0

func (*TenantControlPlaneStatusDataStore) Object added in v0.2.0

func (*TenantControlPlaneStatusDataStore) SetupWithManager added in v0.2.0

Jump to

Keyboard shortcuts

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