v1alpha1

package
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Mar 27, 2023 License: Apache-2.0 Imports: 23 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 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 ComponentResourceRequirements added in v0.2.0

type ComponentResourceRequirements struct {
	// Limits describes the maximum amount of compute resources allowed.
	// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
	Limits corev1.ResourceList `json:"limits,omitempty" protobuf:"bytes,1,rep,name=limits,casttype=ResourceList,castkey=ResourceName"`
	// Requests describes the minimum amount of compute resources required.
	// If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
	// otherwise to an implementation-defined value.
	// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
	Requests corev1.ResourceList `json:"requests,omitempty" protobuf:"bytes,2,rep,name=requests,casttype=ResourceList,castkey=ResourceName"`
}

ComponentResourceRequirements describes the compute resource requirements.

func (*ComponentResourceRequirements) DeepCopy added in v0.2.0

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

func (*ComponentResourceRequirements) DeepCopyInto added in v0.2.0

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         *ComponentResourceRequirements `json:"apiServer,omitempty"`
	ControllerManager *ComponentResourceRequirements `json:"controllerManager,omitempty"`
	Scheduler         *ComponentResourceRequirements `json:"scheduler,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.

func (*DataStore) SetupWebhookWithManager added in v0.2.0

func (in *DataStore) SetupWebhookWithManager(mgr ctrl.Manager) error

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) 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 {
	// +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.
	ExtraArgs          *ControlPlaneExtraArgs `json:"extraArgs,omitempty"`
	AdditionalMetadata AdditionalMetadata     `json:"additionalMetadata,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.

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 *ComponentResourceRequirements `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 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.

func (*TenantControlPlane) SetupWebhookWithManager added in v0.2.0

func (in *TenantControlPlane) SetupWebhookWithManager(mgr ctrl.Manager, datastore string) error

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) 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