v1beta1

package
v3.1.0-rc.0-20240516-1 Latest Latest
Warning

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

Go to latest
Published: May 17, 2024 License: Apache-2.0 Imports: 22 Imported by: 15

Documentation

Overview

Package v1beta1 contains the v1beta1 API implementation.

Package v1beta1 contains API Schema definitions for the infrastructure v1beta1 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io

Index

Constants

View Source
const (
	// ExternalLoadBalancerReadyCondition reports on whether a control plane load balancer was successfully reconciled.
	ExternalLoadBalancerReadyCondition clusterv1.ConditionType = "ExternalLoadBalancerReady"

	// WaitForDNSNameResolveReason used while waiting for DNS name to resolve.
	WaitForDNSNameResolveReason = "WaitForDNSNameResolve"
)
View Source
const (
	// CallKKInstanceInPlaceUpgradeCondition reports whether set up the InPlaceUpgradeVersionAnnotation annotation on all the KKInstance conditions.
	CallKKInstanceInPlaceUpgradeCondition clusterv1.ConditionType = "CallKKInstanceInPlaceUpgrade"

	// KKInstanceObjectNotUpdatedReason used when the KKInstance is not updated.
	KKInstanceObjectNotUpdatedReason = "KKInstanceObjectNotUpdated"

	// AllKKInstancesUpgradeCompletedCondition reports whether all the KKInstances are upgraded.
	AllKKInstancesUpgradeCompletedCondition clusterv1.ConditionType = "AllKKInstancesUpgradeCompleted"

	// WaitingForKKInstancesUpgradeReason used when the KKCluster is waiting for all KKInstance to be upgrading completed.
	WaitingForKKInstancesUpgradeReason = "WaitingForKKInstancesUpgrade"
)
View Source
const (
	// InstanceReadyCondition reports on current status of the SSH instance. Ready indicates the instance is in a Running state.
	InstanceReadyCondition clusterv1.ConditionType = "InstanceReady"

	// InstanceNotFoundReason used when the instance couldn't be retrieved.
	InstanceNotFoundReason = "InstanceNotFound"
	// InstanceCleanedReason instance is in a Cleared state.
	InstanceCleanedReason = "InstanceCleaned"
	// InstanceNotReadyReason used when the instance is in a pending state.
	InstanceNotReadyReason = "InstanceNotReady"
	// InstanceInPlaceUpgradingReason used when the instance is in a InstanceStateInPlaceUpgrading state.
	InstanceInPlaceUpgradingReason = "InstanceInPlaceUpgrading"
	// InstanceBootstrapStartedReason set when the provisioning of an instance started.
	InstanceBootstrapStartedReason = "InstanceBootstrapStarted"
	// InstanceBootstrapFailedReason used for failures during instance provisioning.
	InstanceBootstrapFailedReason = "InstanceBootstrapFailed"
	// WaitingForClusterInfrastructureReason used when machine is waiting for cluster infrastructure to be ready before proceeding.
	WaitingForClusterInfrastructureReason = "WaitingForClusterInfrastructure"
	// WaitingForBootstrapDataReason used when machine is waiting for bootstrap data to be ready before proceeding.
	WaitingForBootstrapDataReason = "WaitingForBootstrapData"
)

KKMachine condition

View Source
const (
	// KKInstanceBootstrappedCondition reports on current status of the instance. Ready indicates the instance is in a init Bootstrapped state.
	KKInstanceBootstrappedCondition clusterv1.ConditionType = "InstanceBootstrapped"
	// KKInstanceInitOSFailedReason used when the instance couldn't initialize os environment.
	KKInstanceInitOSFailedReason = "InitOSFailed"
)

KKInstance condition

View Source
const (
	// KKInstanceRepositoryReadyCondition reports on whether successful to use repository to install packages.
	KKInstanceRepositoryReadyCondition clusterv1.ConditionType = "InstanceRepositoryReady"
	// KKInstanceRepositoryFailedReason used when the instance couldn't use repository to install packages.
	KKInstanceRepositoryFailedReason = "InstanceRepositoryFailed"
)
View Source
const (
	// KKInstanceBinariesReadyCondition reports on whether successful to download binaries.
	KKInstanceBinariesReadyCondition clusterv1.ConditionType = "InstanceBinariesReady"
	// KKInstanceGetBinaryFailedReason used when the instance couldn't download binaries (or check existed binaries).
	KKInstanceGetBinaryFailedReason = "GetBinaryFailed"
)
View Source
const (
	// KKInstanceCRIReadyCondition reports on whether successful to download and install CRI.
	KKInstanceCRIReadyCondition clusterv1.ConditionType = "InstanceCRIReady"
	// KKInstanceInstallCRIFailedReason used when the instance couldn't download and install CRI.
	KKInstanceInstallCRIFailedReason = "InstallCRIFailed"
)
View Source
const (
	// KKInstanceProvisionedCondition reports on whether the instance is provisioned by cloud-init.
	KKInstanceProvisionedCondition clusterv1.ConditionType = "InstanceProvisioned"
	// KKInstanceRunCloudConfigFailedReason used when the instance couldn't be provisioned.
	KKInstanceRunCloudConfigFailedReason = "RunCloudConfigFailed"
)
View Source
const (
	// KKInstanceDeletingBootstrapCondition reports on whether the instance is deleting bootstrap data.
	KKInstanceDeletingBootstrapCondition clusterv1.ConditionType = "InstanceDeletingBootstrapped"
	// KKInstanceClearEnvironmentFailedReason used when the instance couldn't be deleting bootstrap data.
	KKInstanceClearEnvironmentFailedReason = "ClearEnvironmentFailed"

	// CleaningReason (Severity=Info) documents a machine node being cleaned.
	CleaningReason = "Cleaning"
)
View Source
const (
	// KKInstanceInPlaceUpgradeBinariesCondition reports on whether the instance is in place upgrade download binaries succeed.
	KKInstanceInPlaceUpgradeBinariesCondition clusterv1.ConditionType = "KKInstanceInPlaceUpgradeBinaries"
	// KKInstanceInPlaceGetBinaryFailedReason used when the instance couldn't download binaries (or check existed binaries).
	KKInstanceInPlaceGetBinaryFailedReason = "KKInstanceInPlaceUpgradeGetBinaryFailed"
)
View Source
const (
	DockerType               = "docker"
	DefaultDockerVersion     = "20.10.8"
	DefaultCRIDockerdVersion = "0.2.6"
	DefaultDockerCRISocket   = "unix:///run/cri-dockerd.sock"

	ContainerdType             = "containerd"
	DefaultContainerdVersion   = "1.6.4"
	DefaultContainerdCRISocket = "unix:///var/run/containerd/containerd.sock"

	DefaultCrictlVersion = "v1.24.0"
)

Default values.

View Source
const (
	// ClusterFinalizer allows ReconcileKKCluster to clean up KK resources associated with KKCluster before
	// removing it from the apiserver.
	ClusterFinalizer = "kkcluster.infrastructure.cluster.x-k8s.io"

	// KUBERNETES the Kubernetes distributions
	KUBERNETES = "kubernetes"
	// K3S the K3S distributions
	K3S = "k3s"

	// InPlaceUpgradeVersionAnnotation is the annotation that stores the version of the cluster used for in-place upgrade.
	InPlaceUpgradeVersionAnnotation = "kkcluster.infrastructure.cluster.x-k8s.io/in-place-upgrade-version"
)
View Source
const (
	NONE = "none"
	AUTO = "auto"
)

ISO type

View Source
const (
	// HostReadyCondition reports whether the host is ready to be used.
	HostReadyCondition clusterv1.ConditionType = "HostReadyCondition"
)
View Source
const (
	// InstanceFinalizer allows ReconcileKKInstance to clean up KubeKey resources associated with KKInstance before
	// removing it from the apiserver.
	InstanceFinalizer = "kkinstance.infrastructure.cluster.x-k8s.io"
)
View Source
const (
	// KKClusterLabelName is the label set on KKMachines and KKInstances linked to a kkCluster.
	KKClusterLabelName = "kkcluster.infrastructure.cluster.x-k8s.io/cluster-name"
)
View Source
const (
	// KKInstanceInPlaceUpgradedCondition reports on whether the instance is in place upgrade succeed.
	KKInstanceInPlaceUpgradedCondition clusterv1.ConditionType = "KKInstanceInPlaceUpgraded"
)
View Source
const (
	// MachineFinalizer allows ReconcileKKMachine to clean up KubeKey resources associated with KKMachine before
	// removing it from the apiserver.
	MachineFinalizer = "kkmachine.infrastructure.cluster.x-k8s.io"
)
View Source
const (
	// PrincipalPreparedCondition reports whether the principal is prepared.
	PrincipalPreparedCondition clusterv1.ConditionType = "PrincipalPrepared"
)

KKCluster condition

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "infrastructure.cluster.x-k8s.io", Version: "v1beta1"}

	// 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
)
View Source
var (
	// InstanceStatePending is the string representing an instance in a pending state.
	InstanceStatePending = InstanceState("pending")

	// InstanceStateBootstrapping is the string representing an instance in a bootstrapping state.
	InstanceStateBootstrapping = InstanceState("bootstrapping")

	// InstanceStateRunning is the string representing an instance in a running state.
	InstanceStateRunning = InstanceState("running")

	// InstanceStateInPlaceUpgrading is the string representing an instance in an in-place-upgrading state.
	InstanceStateInPlaceUpgrading = InstanceState("InPlaceUpgrading")

	// InstanceStateCleaning is the string representing an instance in a cleaning state.
	InstanceStateCleaning = InstanceState("cleaning")

	// InstanceStateCleaned is the string representing an instance in a cleared state.
	InstanceStateCleaned = InstanceState("cleaned")

	// InstanceRunningStates defines the set of states in which an SSH instance is
	// running or going to be running soon.
	InstanceRunningStates = sets.NewString(
		string(InstanceStatePending),
		string(InstanceStateRunning),
	)

	// InstanceKnownStates represents all known KKInstance states.
	InstanceKnownStates = InstanceRunningStates.Union(
		sets.NewString(
			string(InstanceStateBootstrapping),
			string(InstanceStateCleaning),
			string(InstanceStateCleaned),
			string(InstanceStateInPlaceUpgrading),
		),
	)
)

Functions

This section is empty.

Types

type Auth

type Auth struct {
	// User is the username for SSH authentication.
	// +optional
	User string `yaml:"user,omitempty" json:"user,omitempty"`

	// Password is the password for SSH authentication.
	// +optional
	Password string `yaml:"password,omitempty" json:"password,omitempty"`

	// Port is the port for SSH authentication.
	// +optional
	Port *int `yaml:"port,omitempty" json:"port,omitempty"`

	// PrivateKey is the value of the private key for SSH authentication.
	// +optional
	PrivateKey string `yaml:"privateKey,omitempty" json:"privateKey,omitempty"`

	// PrivateKeyFile is the path to the private key for SSH authentication.
	// +optional
	PrivateKeyPath string `yaml:"privateKeyPath,omitempty" json:"privateKeyPath,omitempty"`

	// Secret is the secret of the PrivateKey or Password for SSH authentication.It should in the same namespace as capkk.
	// When Password is empty, replace it with data.password.
	// When PrivateKey is empty, replace it with data.privateKey
	// +optional
	Secret string `yaml:"secret,omitempty" json:"secret,omitempty"`

	// Timeout is the timeout for establish an SSH connection.
	// +optional
	Timeout *time.Duration `yaml:"timeout,omitempty" json:"timeout,omitempty"`
}

Auth contains the SSH authentication configuration for machines.

func (*Auth) DeepCopy

func (in *Auth) DeepCopy() *Auth

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

func (*Auth) DeepCopyInto

func (in *Auth) DeepCopyInto(out *Auth)

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

type Checksum

type Checksum struct {
	// Value is the checksum string value.
	// +optional
	Value string `json:"value,omitempty"`

	// Path defines the URL path, which is the path of the checksum file.
	// +optional
	Path string `json:"path,omitempty"`
}

Checksum is the SHA256 checksum of the binary.

func (*Checksum) DeepCopy

func (in *Checksum) DeepCopy() *Checksum

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

func (*Checksum) DeepCopyInto

func (in *Checksum) DeepCopyInto(out *Checksum)

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

type Component

type Component struct {
	// ZONE is the zone of the KKCluster where can get the binaries.
	// If you have problem to access https://storage.googleapis.com, you can set "zone: cn".
	// +optional
	ZONE string `json:"zone,omitempty"`

	// Host is the host to download the binaries.
	// +optional
	Host string `json:"host,omitempty"`

	// Overrides is a list of components download information that need to be overridden.
	// +optional
	Overrides []Override `json:"overrides,omitempty"`
}

Component is optional configuration for modifying the FTP server.

func (*Component) DeepCopy

func (in *Component) DeepCopy() *Component

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

func (*Component) DeepCopyInto

func (in *Component) DeepCopyInto(out *Component)

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

type ContainerManager

type ContainerManager struct {
	// CRISocket is used to connect an existing CRIClient.
	// +optional
	CRISocket string `json:"criSocket,omitempty"`

	// Type defines the type of ContainerManager.
	// "docker", "containerd"
	Type string `json:"type,omitempty"`

	// Version defines the version of ContainerManager.
	Version string `json:"version,omitempty"`

	// CRICTLVersion defines the version of CRICTL.
	CRICTLVersion string `json:"crictlVersion,omitempty"`

	// CRIDockerdVersion defines the version of cri-dockerd, available only when Type is docker.
	// https://github.com/Mirantis/cri-dockerd
	// +optional
	CRIDockerdVersion string `json:"criDockerdVersion,omitempty"`
}

ContainerManager defines the desired state of ContainerManager

func (*ContainerManager) DeepCopy

func (in *ContainerManager) DeepCopy() *ContainerManager

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

func (*ContainerManager) DeepCopyInto

func (in *ContainerManager) DeepCopyInto(out *ContainerManager)

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

type InstanceInfo

type InstanceInfo struct {
	// Name is the host name of the machine.
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name,omitempty"`

	// Address is the IP address of the machine.
	Address string `json:"address,omitempty"`

	// InternalAddress is the internal IP address of the machine.
	InternalAddress string `json:"internalAddress,omitempty"`

	// Roles is the role of the machine.
	// +optional
	Roles []Role `json:"roles,omitempty"`

	// Arch is the architecture of the machine. e.g. "amd64", "arm64".
	// +optional
	Arch string `json:"arch,omitempty"`

	// Auth is the SSH authentication information of this machine. It will override the global auth configuration.
	// +optional
	Auth Auth `json:"auth,omitempty"`
}

InstanceInfo defines the information about the instance.

func (*InstanceInfo) DeepCopy

func (in *InstanceInfo) DeepCopy() *InstanceInfo

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

func (*InstanceInfo) DeepCopyInto

func (in *InstanceInfo) DeepCopyInto(out *InstanceInfo)

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

type InstanceState

type InstanceState string

InstanceState describes the state of an KK instance.

type KKCluster

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

	Spec   KKClusterSpec   `json:"spec,omitempty"`
	Status KKClusterStatus `json:"status,omitempty"`
}

KKCluster is the Schema for the kkclusters API

func (*KKCluster) DeepCopy

func (in *KKCluster) DeepCopy() *KKCluster

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

func (*KKCluster) DeepCopyInto

func (in *KKCluster) DeepCopyInto(out *KKCluster)

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

func (*KKCluster) DeepCopyObject

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

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

func (*KKCluster) Default

func (k *KKCluster) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*KKCluster) GetConditions

func (k *KKCluster) GetConditions() clusterv1.Conditions

GetConditions returns the observations of the operational state of the KKCluster resource.

func (*KKCluster) SetConditions

func (k *KKCluster) SetConditions(conditions clusterv1.Conditions)

SetConditions sets the underlying service state of the KKCluster to the predescribed clusterv1.Conditions.

func (*KKCluster) SetupWebhookWithManager

func (k *KKCluster) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*KKCluster) ValidateCreate

func (k *KKCluster) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*KKCluster) ValidateDelete

func (k *KKCluster) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*KKCluster) ValidateUpdate

func (k *KKCluster) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type KKClusterList

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

KKClusterList contains a list of KKCluster

func (*KKClusterList) DeepCopy

func (in *KKClusterList) DeepCopy() *KKClusterList

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

func (*KKClusterList) DeepCopyInto

func (in *KKClusterList) DeepCopyInto(out *KKClusterList)

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

func (*KKClusterList) DeepCopyObject

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

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

type KKClusterSpec

type KKClusterSpec struct {
	// Distribution represents the Kubernetes distribution type of the cluster.
	Distribution string `json:"distribution,omitempty"`

	// Nodes represents the information about the nodes available to the cluster
	Nodes Nodes `json:"nodes"`

	// ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.
	// +optional
	ControlPlaneEndpoint clusterv1.APIEndpoint `json:"controlPlaneEndpoint"`

	// ControlPlaneLoadBalancer is optional configuration for customizing control plane behavior.
	ControlPlaneLoadBalancer *KKLoadBalancerSpec `json:"controlPlaneLoadBalancer,omitempty"`

	// Component is optional configuration for modifying the FTP server
	// that gets the necessary components for the cluster.
	// +optional
	Component *Component `json:"component,omitempty"`

	// Registry represents the cluster image registry used to pull the images.
	// +optional
	Registry Registry `json:"registry,omitempty"`
}

KKClusterSpec defines the desired state of KKCluster

func (*KKClusterSpec) DeepCopy

func (in *KKClusterSpec) DeepCopy() *KKClusterSpec

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

func (*KKClusterSpec) DeepCopyInto

func (in *KKClusterSpec) DeepCopyInto(out *KKClusterSpec)

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

type KKClusterStatus

type KKClusterStatus struct {
	// +kubebuilder:default=false
	Ready bool `json:"ready"`
	// FailureReason will be set in the event that there is a terminal problem
	// reconciling the Machine and will contain a succinct value suitable
	// for machine interpretation.
	//
	// This field should not be set for transitive errors that a controller
	// faces that are expected to be fixed automatically over
	// time (like service outages), but instead indicate that something is
	// fundamentally wrong with the Machine's spec or the configuration of
	// the controller, and that manual intervention is required. Examples
	// of terminal errors would be invalid combinations of settings in the
	// spec, values that are unsupported by the controller, or the
	// responsible controller itself being critically misconfigured.
	//
	// Any transient errors that occur during the reconciliation of Machines
	// can be added as events to the Machine object and/or logged in the
	// controller's output.
	// +optional
	FailureReason *errors.MachineStatusError `json:"failureReason,omitempty"`

	// FailureMessage will be set in the event that there is a terminal problem
	// reconciling the Machine and will contain a more verbose string suitable
	// for logging and human consumption.
	//
	// This field should not be set for transitive errors that a controller
	// faces that are expected to be fixed automatically over
	// time (like service outages), but instead indicate that something is
	// fundamentally wrong with the Machine's spec or the configuration of
	// the controller, and that manual intervention is required. Examples
	// of terminal errors would be invalid combinations of settings in the
	// spec, values that are unsupported by the controller, or the
	// responsible controller itself being critically misconfigured.
	//
	// Any transient errors that occur during the reconciliation of Machines
	// can be added as events to the Machine object and/or logged in the
	// controller's output.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`

	// Conditions defines current service state of the KKMachine.
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}

KKClusterStatus defines the observed state of KKCluster

func (*KKClusterStatus) DeepCopy

func (in *KKClusterStatus) DeepCopy() *KKClusterStatus

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

func (*KKClusterStatus) DeepCopyInto

func (in *KKClusterStatus) DeepCopyInto(out *KKClusterStatus)

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

type KKClusterTemplate

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

	Spec KKClusterTemplateSpec `json:"spec,omitempty"`
}

KKClusterTemplate is the Schema for the kkclustertemplates API

func (*KKClusterTemplate) DeepCopy

func (in *KKClusterTemplate) DeepCopy() *KKClusterTemplate

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

func (*KKClusterTemplate) DeepCopyInto

func (in *KKClusterTemplate) DeepCopyInto(out *KKClusterTemplate)

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

func (*KKClusterTemplate) DeepCopyObject

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

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

func (*KKClusterTemplate) Default

func (r *KKClusterTemplate) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*KKClusterTemplate) SetupWebhookWithManager

func (r *KKClusterTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager sets up and registers the webhook with the manager.

func (*KKClusterTemplate) ValidateCreate

func (r *KKClusterTemplate) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*KKClusterTemplate) ValidateDelete

func (r *KKClusterTemplate) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*KKClusterTemplate) ValidateUpdate

func (r *KKClusterTemplate) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type KKClusterTemplateList

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

KKClusterTemplateList contains a list of KKClusterTemplate

func (*KKClusterTemplateList) DeepCopy

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

func (*KKClusterTemplateList) DeepCopyInto

func (in *KKClusterTemplateList) DeepCopyInto(out *KKClusterTemplateList)

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

func (*KKClusterTemplateList) DeepCopyObject

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

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

type KKClusterTemplateResource

type KKClusterTemplateResource struct {
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	ObjectMeta clusterv1.ObjectMeta `json:"metadata,omitempty"`
	Spec       KKClusterSpec        `json:"spec"`
}

KKClusterTemplateResource Standard object's metadata

func (*KKClusterTemplateResource) DeepCopy

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

func (*KKClusterTemplateResource) DeepCopyInto

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

type KKClusterTemplateSpec

type KKClusterTemplateSpec struct {
	Template KKClusterTemplateResource `json:"template"`
}

KKClusterTemplateSpec defines the desired state of KKClusterTemplate

func (*KKClusterTemplateSpec) DeepCopy

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

func (*KKClusterTemplateSpec) DeepCopyInto

func (in *KKClusterTemplateSpec) DeepCopyInto(out *KKClusterTemplateSpec)

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

type KKInstance

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

	Spec   KKInstanceSpec   `json:"spec,omitempty"`
	Status KKInstanceStatus `json:"status,omitempty"`
}

KKInstance is the Schema for the kkinstances API

func (*KKInstance) DeepCopy

func (in *KKInstance) DeepCopy() *KKInstance

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

func (*KKInstance) DeepCopyInto

func (in *KKInstance) DeepCopyInto(out *KKInstance)

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

func (*KKInstance) DeepCopyObject

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

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

func (*KKInstance) Default

func (k *KKInstance) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*KKInstance) GetConditions

func (k *KKInstance) GetConditions() clusterv1.Conditions

GetConditions returns the observations of the operational state of the KKMachine resource.

func (*KKInstance) SetConditions

func (k *KKInstance) SetConditions(conditions clusterv1.Conditions)

SetConditions sets the underlying service state of the KKInstance to the predescribed clusterv1.Conditions.

func (*KKInstance) SetupWebhookWithManager

func (k *KKInstance) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*KKInstance) ValidateCreate

func (k *KKInstance) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*KKInstance) ValidateDelete

func (k *KKInstance) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*KKInstance) ValidateUpdate

func (k *KKInstance) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type KKInstanceList

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

KKInstanceList contains a list of KKInstance

func (*KKInstanceList) DeepCopy

func (in *KKInstanceList) DeepCopy() *KKInstanceList

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

func (*KKInstanceList) DeepCopyInto

func (in *KKInstanceList) DeepCopyInto(out *KKInstanceList)

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

func (*KKInstanceList) DeepCopyObject

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

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

type KKInstanceSpec

type KKInstanceSpec struct {
	// Name is the host name of the machine.
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name,omitempty"`

	// Address is the IP address of the machine.
	Address string `json:"address,omitempty"`

	// InternalAddress is the internal IP address of the machine.
	InternalAddress string `json:"internalAddress,omitempty"`

	// Roles is the role of the machine.
	// +optional
	Roles []Role `json:"roles,omitempty"`

	// Arch is the architecture of the machine. e.g. "amd64", "arm64".
	// +optional
	Arch string `json:"arch,omitempty"`

	// Auth is the SSH authentication information of this machine. It will override the global auth configuration.
	// +optional
	Auth Auth `json:"auth,omitempty"`

	// ContainerManager is the container manager config of this machine.
	// +optional
	ContainerManager ContainerManager `json:"containerManager,omitempty"`

	// Repository is the repository config of this machine.
	// +optional
	Repository *Repository `json:"repository,omitempty"`
}

KKInstanceSpec defines the desired state of KKInstance

func (*KKInstanceSpec) DeepCopy

func (in *KKInstanceSpec) DeepCopy() *KKInstanceSpec

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

func (*KKInstanceSpec) DeepCopyInto

func (in *KKInstanceSpec) DeepCopyInto(out *KKInstanceSpec)

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

type KKInstanceStatus

type KKInstanceStatus struct {
	// The current state of the instance.
	State InstanceState `json:"instanceState,omitempty"`

	// NodeRef will point to the corresponding Node if it exists.
	// +optional
	NodeRef *corev1.ObjectReference `json:"nodeRef,omitempty"`

	// NodeInfo is a set of ids/uuids to uniquely identify the node.
	// More info: https://kubernetes.io/docs/concepts/nodes/node/#info
	// +optional
	NodeInfo *corev1.NodeSystemInfo `json:"nodeInfo,omitempty"`

	// FailureReason will be set in the event that there is a terminal problem
	// reconciling the Machine and will contain a succinct value suitable
	// for machine interpretation.
	//
	// This field should not be set for transitive errors that a controller
	// faces that are expected to be fixed automatically over
	// time (like service outages), but instead indicate that something is
	// fundamentally wrong with the Machine's spec or the configuration of
	// the controller, and that manual intervention is required. Examples
	// of terminal errors would be invalid combinations of settings in the
	// spec, values that are unsupported by the controller, or the
	// responsible controller itself being critically misconfigured.
	//
	// Any transient errors that occur during the reconciliation of Machines
	// can be added as events to the Machine object and/or logged in the
	// controller's output.
	// +optional
	FailureReason *errors.MachineStatusError `json:"failureReason,omitempty"`

	// FailureMessage will be set in the event that there is a terminal problem
	// reconciling the Machine and will contain a more verbose string suitable
	// for logging and human consumption.
	//
	// This field should not be set for transitive errors that a controller
	// faces that are expected to be fixed automatically over
	// time (like service outages), but instead indicate that something is
	// fundamentally wrong with the Machine's spec or the configuration of
	// the controller, and that manual intervention is required. Examples
	// of terminal errors would be invalid combinations of settings in the
	// spec, values that are unsupported by the controller, or the
	// responsible controller itself being critically misconfigured.
	//
	// Any transient errors that occur during the reconciliation of Machines
	// can be added as events to the Machine object and/or logged in the
	// controller's output.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`

	// Conditions defines current service state of the KKMachine.
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}

KKInstanceStatus defines the observed state of KKInstance

func (*KKInstanceStatus) DeepCopy

func (in *KKInstanceStatus) DeepCopy() *KKInstanceStatus

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

func (*KKInstanceStatus) DeepCopyInto

func (in *KKInstanceStatus) DeepCopyInto(out *KKInstanceStatus)

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

type KKLoadBalancerSpec

type KKLoadBalancerSpec struct {
	// The hostname on which the API server is serving.
	Host string `json:"host,omitempty"`
}

KKLoadBalancerSpec defines the desired state of an KK load balancer.

func (*KKLoadBalancerSpec) DeepCopy

func (in *KKLoadBalancerSpec) DeepCopy() *KKLoadBalancerSpec

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

func (*KKLoadBalancerSpec) DeepCopyInto

func (in *KKLoadBalancerSpec) DeepCopyInto(out *KKLoadBalancerSpec)

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

type KKMachine

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

	Spec   KKMachineSpec   `json:"spec,omitempty"`
	Status KKMachineStatus `json:"status,omitempty"`
}

KKMachine is the Schema for the kkmachines API

func (*KKMachine) DeepCopy

func (in *KKMachine) DeepCopy() *KKMachine

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

func (*KKMachine) DeepCopyInto

func (in *KKMachine) DeepCopyInto(out *KKMachine)

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

func (*KKMachine) DeepCopyObject

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

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

func (*KKMachine) Default

func (k *KKMachine) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*KKMachine) GetConditions

func (k *KKMachine) GetConditions() clusterv1.Conditions

GetConditions returns the observations of the operational state of the KKMachine resource.

func (*KKMachine) SetConditions

func (k *KKMachine) SetConditions(conditions clusterv1.Conditions)

SetConditions sets the underlying service state of the KKMachine to the predescribed clusterv1.Conditions.

func (*KKMachine) SetupWebhookWithManager

func (k *KKMachine) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*KKMachine) ValidateCreate

func (k *KKMachine) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*KKMachine) ValidateDelete

func (k *KKMachine) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*KKMachine) ValidateUpdate

func (k *KKMachine) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type KKMachineList

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

KKMachineList contains a list of KKMachine

func (*KKMachineList) DeepCopy

func (in *KKMachineList) DeepCopy() *KKMachineList

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

func (*KKMachineList) DeepCopyInto

func (in *KKMachineList) DeepCopyInto(out *KKMachineList)

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

func (*KKMachineList) DeepCopyObject

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

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

type KKMachineSpec

type KKMachineSpec struct {
	// ProviderID is the unique identifier as specified by the kubekey provider.
	ProviderID *string `json:"providerID,omitempty"`

	// InstanceID is the name of the KKInstance.
	InstanceID *string `json:"instanceID,omitempty"`

	// Roles is the role of the machine.
	// +optional
	Roles []Role `json:"roles"`

	// ContainerManager is the container manager config of this machine.
	// +optional
	ContainerManager ContainerManager `json:"containerManager"`

	// Repository is the repository config of this machine.
	// +optional
	Repository *Repository `json:"repository,omitempty"`
}

KKMachineSpec defines the desired state of KKMachine

func (*KKMachineSpec) DeepCopy

func (in *KKMachineSpec) DeepCopy() *KKMachineSpec

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

func (*KKMachineSpec) DeepCopyInto

func (in *KKMachineSpec) DeepCopyInto(out *KKMachineSpec)

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

type KKMachineStatus

type KKMachineStatus struct {
	// Ready is true when the provider resource is ready.
	// +optional
	Ready bool `json:"ready"`

	// Addresses contains the KK instance associated addresses.
	Addresses []clusterv1.MachineAddress `json:"addresses,omitempty"`

	// InstanceState is the state of the KK instance for this machine.
	// +optional
	InstanceState *InstanceState `json:"instanceState,omitempty"`

	// FailureReason will be set in the event that there is a terminal problem
	// reconciling the Machine and will contain a succinct value suitable
	// for machine interpretation.
	//
	// This field should not be set for transitive errors that a controller
	// faces that are expected to be fixed automatically over
	// time (like service outages), but instead indicate that something is
	// fundamentally wrong with the Machine's spec or the configuration of
	// the controller, and that manual intervention is required. Examples
	// of terminal errors would be invalid combinations of settings in the
	// spec, values that are unsupported by the controller, or the
	// responsible controller itself being critically misconfigured.
	//
	// Any transient errors that occur during the reconciliation of Machines
	// can be added as events to the Machine object and/or logged in the
	// controller's output.
	// +optional
	FailureReason *errors.MachineStatusError `json:"failureReason,omitempty"`

	// FailureMessage will be set in the event that there is a terminal problem
	// reconciling the Machine and will contain a more verbose string suitable
	// for logging and human consumption.
	//
	// This field should not be set for transitive errors that a controller
	// faces that are expected to be fixed automatically over
	// time (like service outages), but instead indicate that something is
	// fundamentally wrong with the Machine's spec or the configuration of
	// the controller, and that manual intervention is required. Examples
	// of terminal errors would be invalid combinations of settings in the
	// spec, values that are unsupported by the controller, or the
	// responsible controller itself being critically misconfigured.
	//
	// Any transient errors that occur during the reconciliation of Machines
	// can be added as events to the Machine object and/or logged in the
	// controller's output.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`

	// Conditions defines current service state of the KKMachine.
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}

KKMachineStatus defines the observed state of KKMachine

func (*KKMachineStatus) DeepCopy

func (in *KKMachineStatus) DeepCopy() *KKMachineStatus

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

func (*KKMachineStatus) DeepCopyInto

func (in *KKMachineStatus) DeepCopyInto(out *KKMachineStatus)

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

type KKMachineTemplate

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

	Spec   KKMachineTemplateSpec   `json:"spec,omitempty"`
	Status KKMachineTemplateStatus `json:"status,omitempty"`
}

KKMachineTemplate is the Schema for the kkmachinetemplates API

func (*KKMachineTemplate) DeepCopy

func (in *KKMachineTemplate) DeepCopy() *KKMachineTemplate

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

func (*KKMachineTemplate) DeepCopyInto

func (in *KKMachineTemplate) DeepCopyInto(out *KKMachineTemplate)

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

func (*KKMachineTemplate) DeepCopyObject

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

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

func (*KKMachineTemplate) Default

func (k *KKMachineTemplate) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*KKMachineTemplate) SetupWebhookWithManager

func (k *KKMachineTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*KKMachineTemplate) ValidateCreate

func (k *KKMachineTemplate) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*KKMachineTemplate) ValidateDelete

func (k *KKMachineTemplate) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*KKMachineTemplate) ValidateUpdate

func (k *KKMachineTemplate) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type KKMachineTemplateList

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

KKMachineTemplateList contains a list of KKMachineTemplate

func (*KKMachineTemplateList) DeepCopy

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

func (*KKMachineTemplateList) DeepCopyInto

func (in *KKMachineTemplateList) DeepCopyInto(out *KKMachineTemplateList)

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

func (*KKMachineTemplateList) DeepCopyObject

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

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

type KKMachineTemplateResource

type KKMachineTemplateResource struct {
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	ObjectMeta clusterv1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the specification of the desired behavior of the machine.
	Spec KKMachineSpec `json:"spec"`
}

KKMachineTemplateResource describes the data needed to create am KKMachine from a template.

func (*KKMachineTemplateResource) DeepCopy

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

func (*KKMachineTemplateResource) DeepCopyInto

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

type KKMachineTemplateSpec

type KKMachineTemplateSpec struct {
	Template KKMachineTemplateResource `json:"template"`
}

KKMachineTemplateSpec defines the desired state of KKMachineTemplate

func (*KKMachineTemplateSpec) DeepCopy

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

func (*KKMachineTemplateSpec) DeepCopyInto

func (in *KKMachineTemplateSpec) DeepCopyInto(out *KKMachineTemplateSpec)

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

type KKMachineTemplateStatus added in v3.0.6

type KKMachineTemplateStatus struct {
	// Capacity defines the resource capacity for this machine.
	// This value is used for autoscaling from zero operations as defined in:
	// https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20210310-opt-in-autoscaling-from-zero.md
	// +optional
	Capacity corev1.ResourceList `json:"capacity,omitempty"`
}

KKMachineTemplateStatus defines a status for an KKMachineTemplate.

func (*KKMachineTemplateStatus) DeepCopy added in v3.0.6

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

func (*KKMachineTemplateStatus) DeepCopyInto added in v3.0.6

func (in *KKMachineTemplateStatus) DeepCopyInto(out *KKMachineTemplateStatus)

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

type Nodes

type Nodes struct {
	// Auth is the SSH authentication information of all instance. It is a global auth configuration.
	// +optional
	Auth Auth `json:"auth"`

	// Instances defines all instance contained in kkcluster.
	Instances []InstanceInfo `json:"instances"`
}

Nodes represents the information about the nodes available to the cluster

func (*Nodes) DeepCopy

func (in *Nodes) DeepCopy() *Nodes

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

func (*Nodes) DeepCopyInto

func (in *Nodes) DeepCopyInto(out *Nodes)

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

type Override

type Override struct {
	// ID is the component id name. e.g. kubeadm, kubelet, containerd, etc.
	ID string `json:"id,omitempty"`

	// Arch is the component arch. e.g. amd64, arm64, etc.
	Arch string `json:"arch,omitempty"`

	// Version is the component version. e.g. v1.21.1, v1.22.0, etc.
	Version string `json:"version,omitempty"`

	// URL is the download url of the binaries.
	URL string `json:"url,omitempty"`

	// Path defines the URL path, which is the string of information that comes after the top level domain name.
	Path string `json:"path,omitempty"`

	// Checksum is the SHA256 checksum of the binary.
	// +optional
	Checksum Checksum `json:"checksum,omitempty"`
}

Override is a component download information that need to be overridden.

func (*Override) DeepCopy

func (in *Override) DeepCopy() *Override

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

func (*Override) DeepCopyInto

func (in *Override) DeepCopyInto(out *Override)

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

type Registry

type Registry struct {
	metav1.TypeMeta `json:",inline"`

	// PrivateRegistry defines the private registry address of ContainerManager.
	PrivateRegistry string `json:"privateRegistry"`

	// InsecureRegistries defines the insecure registries of ContainerManager.
	InsecureRegistries []string `json:"insecureRegistries,omitempty"`

	// RegistryMirrors defines the registry mirrors of this PrivateRegistry.
	RegistryMirrors []string `json:"registryMirrors,omitempty"`

	// NamespaceOverride defines the namespace override of this PrivateRegistry.
	NamespaceOverride string `json:"namespaceOverride"`

	// Auth defines the auth of this PrivateRegistry.
	Auth RegistryAuth `json:"auth"`
}

Registry is the configuration for a cluster registry

func (*Registry) DeepCopy

func (in *Registry) DeepCopy() *Registry

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

func (*Registry) DeepCopyInto

func (in *Registry) DeepCopyInto(out *Registry)

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

func (*Registry) DeepCopyObject

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

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

type RegistryAuth

type RegistryAuth struct {
	// Username defines the username of this PrivateRegistry.
	Username string `json:"username"`

	// Password defines the password of this PrivateRegistry.
	Password string `json:"password"`

	// InsecureSkipVerify allow contacting this PrivateRegistry over HTTPS with failed TLS verification.
	InsecureSkipVerify bool `json:"insecureSkipVerify"`

	// PlainHTTP allow contacting this PrivateRegistry over HTTP.
	PlainHTTP bool `json:"plainHTTP"`

	// CertsPath defines the path of the certs files of this PrivateRegistry.
	CertsPath string `json:"certsPath"`

	// CAFile is an SSL Certificate Authority file used to secure etcd communication.
	CAFile string `yaml:"caFile" json:"caFile,omitempty"`
	// CertFile is an SSL certification file used to secure etcd communication.
	CertFile string `yaml:"certFile" json:"certFile,omitempty"`
	// KeyFile is an SSL key file used to secure etcd communication.
	KeyFile string `yaml:"keyFile" json:"keyFile,omitempty"`
}

RegistryAuth defines the auth of a registry

func (*RegistryAuth) DeepCopy

func (in *RegistryAuth) DeepCopy() *RegistryAuth

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

func (*RegistryAuth) DeepCopyInto

func (in *RegistryAuth) DeepCopyInto(out *RegistryAuth)

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

type Repository

type Repository struct {
	// ISO specifies the ISO file name. There are 3 options:
	// "": empty string means will not install the packages.
	// "none": no ISO file will be used. And capkk will use the default repository to install the required packages.
	// "auto": capkk will detect the ISO file automatically. Only support Ubuntu/Debian/CentOS.
	// "xxx-20.04-debs-amd64.iso": use the specified name to get the ISO file name.
	// +optional
	ISO string `json:"iso,omitempty"`

	// Update will update the repository packages list and cache if it is true.
	// +optional
	Update bool `json:"update,omitempty"`

	// Packages is a list of packages to be installed.
	// +optional
	Packages []string `json:"packages,omitempty"`
}

Repository defines the repository of the instance.

func (*Repository) DeepCopy

func (in *Repository) DeepCopy() *Repository

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

func (*Repository) DeepCopyInto

func (in *Repository) DeepCopyInto(out *Repository)

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

type Role

type Role string

Role represents a role of a node.

const (
	ControlPlane Role = "control-plane"
	Master       Role = "master"
	Worker       Role = "worker"
)

Internal roles.

Jump to

Keyboard shortcuts

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