v1alpha1

package
v0.1.0-rc0 Latest Latest
Warning

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

Go to latest
Published: Jul 21, 2022 License: Apache-2.0 Imports: 16 Imported by: 10

Documentation

Overview

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

Index

Constants

View Source
const (
	ServiceTypeLoadBalancer = (ServiceType)(corev1.ServiceTypeLoadBalancer)
	ServiceTypeClusterIP    = (ServiceType)(corev1.ServiceTypeClusterIP)
	ServiceTypeNodePort     = (ServiceType)(corev1.ServiceTypeNodePort)
)

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

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{}

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"`
	Checksum   string      `json:"checksum,omitempty"`
	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.

func (AddonStatus) GetChecksum added in v0.1.0

func (in AddonStatus) GetChecksum() string

func (*AddonStatus) SetChecksum added in v0.1.0

func (in *AddonStatus) SetChecksum(checksum string)

type AddonsSpec added in v0.1.0

type AddonsSpec struct {
	CoreDNS      *AddonSpec        `json:"coreDNS,omitempty"`
	Konnectivity *KonnectivitySpec `json:"konnectivity,omitempty"`
	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 CGroupDriver

type CGroupDriver string

+kubebuilder:validation:Enum=systemd;cgroupfs

func (CGroupDriver) String

func (c CGroupDriver) String() string

type CertificatePrivateKeyPairStatus

type CertificatePrivateKeyPairStatus struct {
	SecretName      string      `json:"secretName,omitempty"`
	LastUpdate      metav1.Time `json:"lastUpdate,omitempty"`
	ResourceVersion string      `json:"resourceVersion,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 Certificates.

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

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 DeploymentSpec

type DeploymentSpec struct {
	// +kubebuilder:default=2
	Replicas int32 `json:"replicas,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 ETCDCertificateStatus

type ETCDCertificateStatus struct {
	SecretName string      `json:"secretName,omitempty"`
	LastUpdate metav1.Time `json:"lastUpdate,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 ETCDCertificateStatus `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 ETCDStatus

type ETCDStatus struct {
	Role etcd.Role `json:"role,omitempty"`
	User etcd.User `json:"user,omitempty"`
}

ETCDStatus defines the observed state of ETCDStatus.

func (*ETCDStatus) DeepCopy

func (in *ETCDStatus) DeepCopy() *ETCDStatus

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

func (*ETCDStatus) DeepCopyInto

func (in *ETCDStatus) DeepCopyInto(out *ETCDStatus)

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"`
	// Resource version of k8s object
	RV string `json:"resourceVersion,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 IngressSpec

type IngressSpec struct {
	AdditionalMetadata AdditionalMetadata `json:"additionalMetadata,omitempty"`
	Enabled            bool               `json:"enabled"`
	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 KineMySQLStatus

type KineMySQLStatus struct {
	Config      SQLConfigStatus      `json:"config,omitempty"`
	Setup       SQLSetupStatus       `json:"setup,omitempty"`
	Certificate SQLCertificateStatus `json:"certificate,omitempty"`
}

func (*KineMySQLStatus) DeepCopy

func (in *KineMySQLStatus) DeepCopy() *KineMySQLStatus

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

func (*KineMySQLStatus) DeepCopyInto

func (in *KineMySQLStatus) DeepCopyInto(out *KineMySQLStatus)

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 {
	// Port of Konnectivity proxy server.
	ProxyPort int32 `json:"proxyPort"`
	// Version for Konnectivity server and agent.
	// +kubebuilder:default=v0.0.31
	Version string `json:"version,omitempty"`
	// ServerImage defines the container image for Konnectivity's server.
	// +kubebuilder:default=us.gcr.io/k8s-artifacts-prod/kas-network-proxy/proxy-server
	ServerImage string `json:"serverImage,omitempty"`
	// AgentImage defines the container image for Konnectivity's agent.
	// +kubebuilder:default=us.gcr.io/k8s-artifacts-prod/kas-network-proxy/proxy-agent
	AgentImage string `json:"agentImage,omitempty"`
	// Resources define the amount of CPU and memory to allocate to the Konnectivity server.
	Resources *corev1.ResourceRequirements `json:"resources,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"`
	EgressSelectorConfiguration string                          `json:"egressSelectorConfiguration,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 {
	UploadConfigKubeadm KubeadmPhaseStatus `json:"uploadConfigKubeadm"`
	UploadConfigKubelet KubeadmPhaseStatus `json:"uploadConfigKubelet"`
	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 KubeletSpec

type KubeletSpec struct {
	// 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"`
	// 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"`
}

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;Upgrading;Ready;NotReady

var (
	VersionProvisioning KubernetesVersionStatus = "Provisioning"
	VersionUpgrading    KubernetesVersionStatus = "Upgrading"
	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"`
}

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 SQLCertificateStatus

type SQLCertificateStatus struct {
	SecretName      string      `json:"secretName,omitempty"`
	ResourceVersion string      `json:"resourceVersion,omitempty"`
	LastUpdate      metav1.Time `json:"lastUpdate,omitempty"`
}

func (*SQLCertificateStatus) DeepCopy

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

func (*SQLCertificateStatus) DeepCopyInto

func (in *SQLCertificateStatus) DeepCopyInto(out *SQLCertificateStatus)

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

type SQLConfigStatus

type SQLConfigStatus struct {
	SecretName      string `json:"secretName,omitempty"`
	ResourceVersion string `json:"resourceVersion,omitempty"`
}

func (*SQLConfigStatus) DeepCopy

func (in *SQLConfigStatus) DeepCopy() *SQLConfigStatus

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

func (*SQLConfigStatus) DeepCopyInto

func (in *SQLConfigStatus) DeepCopyInto(out *SQLConfigStatus)

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

type SQLSetupStatus

type SQLSetupStatus struct {
	Schema                   string      `json:"schema,omitempty"`
	User                     string      `json:"user,omitempty"`
	LastUpdate               metav1.Time `json:"lastUpdate,omitempty"`
	SQLConfigResourceVersion string      `json:"sqlConfigResourceVersion,omitempty"`
}

func (*SQLSetupStatus) DeepCopy

func (in *SQLSetupStatus) DeepCopy() *SQLSetupStatus

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

func (*SQLSetupStatus) DeepCopyInto

func (in *SQLSetupStatus) DeepCopyInto(out *SQLSetupStatus)

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 {
	ETCD      *ETCDStatus      `json:"etcd,omitempty"`
	KineMySQL *KineMySQLStatus `json:"kineMySQL,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 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 {
	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.

Jump to

Keyboard shortcuts

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