upstreamv1beta1

package
v1.9.1 Latest Latest
Warning

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

Go to latest
Published: Dec 17, 2024 License: Apache-2.0 Imports: 14 Imported by: 2

Documentation

Overview

Package upstreamv1beta1 contains a mirror of kubeadm API v1beta1 API, required because it is not possible to import k/K.

IMPORTANT: Do not change these files! IMPORTANT: only for KubeadmConfig serialization/deserialization, and should not be used for other purposes.

+k8s:conversion-gen=sigs.k8s.io/cluster-api/bootstrap/kubeadm/api/v1beta1 +k8s:deepcopy-gen=package

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "kubeadm.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
)

Functions

func Convert_upstreamv1beta1_APIEndpoint_To_v1beta1_APIEndpoint

func Convert_upstreamv1beta1_APIEndpoint_To_v1beta1_APIEndpoint(in *APIEndpoint, out *v1beta1.APIEndpoint, s conversion.Scope) error

Convert_upstreamv1beta1_APIEndpoint_To_v1beta1_APIEndpoint is an autogenerated conversion function.

func Convert_upstreamv1beta1_APIServer_To_v1beta1_APIServer

func Convert_upstreamv1beta1_APIServer_To_v1beta1_APIServer(in *APIServer, out *v1beta1.APIServer, s conversion.Scope) error

Convert_upstreamv1beta1_APIServer_To_v1beta1_APIServer is an autogenerated conversion function.

func Convert_upstreamv1beta1_BootstrapTokenDiscovery_To_v1beta1_BootstrapTokenDiscovery

func Convert_upstreamv1beta1_BootstrapTokenDiscovery_To_v1beta1_BootstrapTokenDiscovery(in *BootstrapTokenDiscovery, out *v1beta1.BootstrapTokenDiscovery, s conversion.Scope) error

Convert_upstreamv1beta1_BootstrapTokenDiscovery_To_v1beta1_BootstrapTokenDiscovery is an autogenerated conversion function.

func Convert_upstreamv1beta1_BootstrapTokenString_To_v1beta1_BootstrapTokenString

func Convert_upstreamv1beta1_BootstrapTokenString_To_v1beta1_BootstrapTokenString(in *BootstrapTokenString, out *v1beta1.BootstrapTokenString, s conversion.Scope) error

Convert_upstreamv1beta1_BootstrapTokenString_To_v1beta1_BootstrapTokenString is an autogenerated conversion function.

func Convert_upstreamv1beta1_BootstrapToken_To_v1beta1_BootstrapToken

func Convert_upstreamv1beta1_BootstrapToken_To_v1beta1_BootstrapToken(in *BootstrapToken, out *v1beta1.BootstrapToken, s conversion.Scope) error

Convert_upstreamv1beta1_BootstrapToken_To_v1beta1_BootstrapToken is an autogenerated conversion function.

func Convert_upstreamv1beta1_ClusterConfiguration_To_v1beta1_ClusterConfiguration

func Convert_upstreamv1beta1_ClusterConfiguration_To_v1beta1_ClusterConfiguration(in *ClusterConfiguration, out *bootstrapv1.ClusterConfiguration, s apimachineryconversion.Scope) error

func Convert_upstreamv1beta1_ClusterStatus_To_v1beta1_ClusterStatus

func Convert_upstreamv1beta1_ClusterStatus_To_v1beta1_ClusterStatus(in *ClusterStatus, out *v1beta1.ClusterStatus, s conversion.Scope) error

Convert_upstreamv1beta1_ClusterStatus_To_v1beta1_ClusterStatus is an autogenerated conversion function.

func Convert_upstreamv1beta1_ControlPlaneComponent_To_v1beta1_ControlPlaneComponent

func Convert_upstreamv1beta1_ControlPlaneComponent_To_v1beta1_ControlPlaneComponent(in *ControlPlaneComponent, out *v1beta1.ControlPlaneComponent, s conversion.Scope) error

Convert_upstreamv1beta1_ControlPlaneComponent_To_v1beta1_ControlPlaneComponent is an autogenerated conversion function.

func Convert_upstreamv1beta1_DNS_To_v1beta1_DNS

func Convert_upstreamv1beta1_DNS_To_v1beta1_DNS(in *DNS, out *bootstrapv1.DNS, s apimachineryconversion.Scope) error

func Convert_upstreamv1beta1_Discovery_To_v1beta1_Discovery

func Convert_upstreamv1beta1_Discovery_To_v1beta1_Discovery(in *Discovery, out *v1beta1.Discovery, s conversion.Scope) error

Convert_upstreamv1beta1_Discovery_To_v1beta1_Discovery is an autogenerated conversion function.

func Convert_upstreamv1beta1_Etcd_To_v1beta1_Etcd

func Convert_upstreamv1beta1_Etcd_To_v1beta1_Etcd(in *Etcd, out *v1beta1.Etcd, s conversion.Scope) error

Convert_upstreamv1beta1_Etcd_To_v1beta1_Etcd is an autogenerated conversion function.

func Convert_upstreamv1beta1_ExternalEtcd_To_v1beta1_ExternalEtcd

func Convert_upstreamv1beta1_ExternalEtcd_To_v1beta1_ExternalEtcd(in *ExternalEtcd, out *v1beta1.ExternalEtcd, s conversion.Scope) error

Convert_upstreamv1beta1_ExternalEtcd_To_v1beta1_ExternalEtcd is an autogenerated conversion function.

func Convert_upstreamv1beta1_FileDiscovery_To_v1beta1_FileDiscovery

func Convert_upstreamv1beta1_FileDiscovery_To_v1beta1_FileDiscovery(in *FileDiscovery, out *v1beta1.FileDiscovery, s conversion.Scope) error

Convert_upstreamv1beta1_FileDiscovery_To_v1beta1_FileDiscovery is an autogenerated conversion function.

func Convert_upstreamv1beta1_HostPathMount_To_v1beta1_HostPathMount

func Convert_upstreamv1beta1_HostPathMount_To_v1beta1_HostPathMount(in *HostPathMount, out *v1beta1.HostPathMount, s conversion.Scope) error

Convert_upstreamv1beta1_HostPathMount_To_v1beta1_HostPathMount is an autogenerated conversion function.

func Convert_upstreamv1beta1_ImageMeta_To_v1beta1_ImageMeta

func Convert_upstreamv1beta1_ImageMeta_To_v1beta1_ImageMeta(in *ImageMeta, out *v1beta1.ImageMeta, s conversion.Scope) error

Convert_upstreamv1beta1_ImageMeta_To_v1beta1_ImageMeta is an autogenerated conversion function.

func Convert_upstreamv1beta1_InitConfiguration_To_v1beta1_InitConfiguration

func Convert_upstreamv1beta1_InitConfiguration_To_v1beta1_InitConfiguration(in *InitConfiguration, out *v1beta1.InitConfiguration, s conversion.Scope) error

Convert_upstreamv1beta1_InitConfiguration_To_v1beta1_InitConfiguration is an autogenerated conversion function.

func Convert_upstreamv1beta1_JoinConfiguration_To_v1beta1_JoinConfiguration

func Convert_upstreamv1beta1_JoinConfiguration_To_v1beta1_JoinConfiguration(in *JoinConfiguration, out *v1beta1.JoinConfiguration, s conversion.Scope) error

Convert_upstreamv1beta1_JoinConfiguration_To_v1beta1_JoinConfiguration is an autogenerated conversion function.

func Convert_upstreamv1beta1_JoinControlPlane_To_v1beta1_JoinControlPlane

func Convert_upstreamv1beta1_JoinControlPlane_To_v1beta1_JoinControlPlane(in *JoinControlPlane, out *v1beta1.JoinControlPlane, s conversion.Scope) error

Convert_upstreamv1beta1_JoinControlPlane_To_v1beta1_JoinControlPlane is an autogenerated conversion function.

func Convert_upstreamv1beta1_LocalEtcd_To_v1beta1_LocalEtcd

func Convert_upstreamv1beta1_LocalEtcd_To_v1beta1_LocalEtcd(in *LocalEtcd, out *v1beta1.LocalEtcd, s conversion.Scope) error

Convert_upstreamv1beta1_LocalEtcd_To_v1beta1_LocalEtcd is an autogenerated conversion function.

func Convert_upstreamv1beta1_Networking_To_v1beta1_Networking

func Convert_upstreamv1beta1_Networking_To_v1beta1_Networking(in *Networking, out *v1beta1.Networking, s conversion.Scope) error

Convert_upstreamv1beta1_Networking_To_v1beta1_Networking is an autogenerated conversion function.

func Convert_upstreamv1beta1_NodeRegistrationOptions_To_v1beta1_NodeRegistrationOptions

func Convert_upstreamv1beta1_NodeRegistrationOptions_To_v1beta1_NodeRegistrationOptions(in *NodeRegistrationOptions, out *v1beta1.NodeRegistrationOptions, s conversion.Scope) error

Convert_upstreamv1beta1_NodeRegistrationOptions_To_v1beta1_NodeRegistrationOptions is an autogenerated conversion function.

func Convert_v1beta1_APIEndpoint_To_upstreamv1beta1_APIEndpoint

func Convert_v1beta1_APIEndpoint_To_upstreamv1beta1_APIEndpoint(in *v1beta1.APIEndpoint, out *APIEndpoint, s conversion.Scope) error

Convert_v1beta1_APIEndpoint_To_upstreamv1beta1_APIEndpoint is an autogenerated conversion function.

func Convert_v1beta1_APIServer_To_upstreamv1beta1_APIServer

func Convert_v1beta1_APIServer_To_upstreamv1beta1_APIServer(in *v1beta1.APIServer, out *APIServer, s conversion.Scope) error

Convert_v1beta1_APIServer_To_upstreamv1beta1_APIServer is an autogenerated conversion function.

func Convert_v1beta1_BootstrapTokenDiscovery_To_upstreamv1beta1_BootstrapTokenDiscovery

func Convert_v1beta1_BootstrapTokenDiscovery_To_upstreamv1beta1_BootstrapTokenDiscovery(in *v1beta1.BootstrapTokenDiscovery, out *BootstrapTokenDiscovery, s conversion.Scope) error

Convert_v1beta1_BootstrapTokenDiscovery_To_upstreamv1beta1_BootstrapTokenDiscovery is an autogenerated conversion function.

func Convert_v1beta1_BootstrapTokenString_To_upstreamv1beta1_BootstrapTokenString

func Convert_v1beta1_BootstrapTokenString_To_upstreamv1beta1_BootstrapTokenString(in *v1beta1.BootstrapTokenString, out *BootstrapTokenString, s conversion.Scope) error

Convert_v1beta1_BootstrapTokenString_To_upstreamv1beta1_BootstrapTokenString is an autogenerated conversion function.

func Convert_v1beta1_BootstrapToken_To_upstreamv1beta1_BootstrapToken

func Convert_v1beta1_BootstrapToken_To_upstreamv1beta1_BootstrapToken(in *v1beta1.BootstrapToken, out *BootstrapToken, s conversion.Scope) error

Convert_v1beta1_BootstrapToken_To_upstreamv1beta1_BootstrapToken is an autogenerated conversion function.

func Convert_v1beta1_ClusterConfiguration_To_upstreamv1beta1_ClusterConfiguration

func Convert_v1beta1_ClusterConfiguration_To_upstreamv1beta1_ClusterConfiguration(in *v1beta1.ClusterConfiguration, out *ClusterConfiguration, s conversion.Scope) error

Convert_v1beta1_ClusterConfiguration_To_upstreamv1beta1_ClusterConfiguration is an autogenerated conversion function.

func Convert_v1beta1_ClusterStatus_To_upstreamv1beta1_ClusterStatus

func Convert_v1beta1_ClusterStatus_To_upstreamv1beta1_ClusterStatus(in *v1beta1.ClusterStatus, out *ClusterStatus, s conversion.Scope) error

Convert_v1beta1_ClusterStatus_To_upstreamv1beta1_ClusterStatus is an autogenerated conversion function.

func Convert_v1beta1_ControlPlaneComponent_To_upstreamv1beta1_ControlPlaneComponent

func Convert_v1beta1_ControlPlaneComponent_To_upstreamv1beta1_ControlPlaneComponent(in *bootstrapv1.ControlPlaneComponent, out *ControlPlaneComponent, s apimachineryconversion.Scope) error

func Convert_v1beta1_DNS_To_upstreamv1beta1_DNS

func Convert_v1beta1_DNS_To_upstreamv1beta1_DNS(in *v1beta1.DNS, out *DNS, s conversion.Scope) error

Convert_v1beta1_DNS_To_upstreamv1beta1_DNS is an autogenerated conversion function.

func Convert_v1beta1_Discovery_To_upstreamv1beta1_Discovery

func Convert_v1beta1_Discovery_To_upstreamv1beta1_Discovery(in *v1beta1.Discovery, out *Discovery, s conversion.Scope) error

Convert_v1beta1_Discovery_To_upstreamv1beta1_Discovery is an autogenerated conversion function.

func Convert_v1beta1_Etcd_To_upstreamv1beta1_Etcd

func Convert_v1beta1_Etcd_To_upstreamv1beta1_Etcd(in *v1beta1.Etcd, out *Etcd, s conversion.Scope) error

Convert_v1beta1_Etcd_To_upstreamv1beta1_Etcd is an autogenerated conversion function.

func Convert_v1beta1_ExternalEtcd_To_upstreamv1beta1_ExternalEtcd

func Convert_v1beta1_ExternalEtcd_To_upstreamv1beta1_ExternalEtcd(in *v1beta1.ExternalEtcd, out *ExternalEtcd, s conversion.Scope) error

Convert_v1beta1_ExternalEtcd_To_upstreamv1beta1_ExternalEtcd is an autogenerated conversion function.

func Convert_v1beta1_FileDiscovery_To_upstreamv1beta1_FileDiscovery

func Convert_v1beta1_FileDiscovery_To_upstreamv1beta1_FileDiscovery(in *bootstrapv1.FileDiscovery, out *FileDiscovery, s apimachineryconversion.Scope) error

func Convert_v1beta1_HostPathMount_To_upstreamv1beta1_HostPathMount

func Convert_v1beta1_HostPathMount_To_upstreamv1beta1_HostPathMount(in *v1beta1.HostPathMount, out *HostPathMount, s conversion.Scope) error

Convert_v1beta1_HostPathMount_To_upstreamv1beta1_HostPathMount is an autogenerated conversion function.

func Convert_v1beta1_ImageMeta_To_upstreamv1beta1_ImageMeta

func Convert_v1beta1_ImageMeta_To_upstreamv1beta1_ImageMeta(in *v1beta1.ImageMeta, out *ImageMeta, s conversion.Scope) error

Convert_v1beta1_ImageMeta_To_upstreamv1beta1_ImageMeta is an autogenerated conversion function.

func Convert_v1beta1_InitConfiguration_To_upstreamv1beta1_InitConfiguration

func Convert_v1beta1_InitConfiguration_To_upstreamv1beta1_InitConfiguration(in *bootstrapv1.InitConfiguration, out *InitConfiguration, s apimachineryconversion.Scope) error

func Convert_v1beta1_JoinConfiguration_To_upstreamv1beta1_JoinConfiguration

func Convert_v1beta1_JoinConfiguration_To_upstreamv1beta1_JoinConfiguration(in *bootstrapv1.JoinConfiguration, out *JoinConfiguration, s apimachineryconversion.Scope) error

func Convert_v1beta1_JoinControlPlane_To_upstreamv1beta1_JoinControlPlane

func Convert_v1beta1_JoinControlPlane_To_upstreamv1beta1_JoinControlPlane(in *v1beta1.JoinControlPlane, out *JoinControlPlane, s conversion.Scope) error

Convert_v1beta1_JoinControlPlane_To_upstreamv1beta1_JoinControlPlane is an autogenerated conversion function.

func Convert_v1beta1_LocalEtcd_To_upstreamv1beta1_LocalEtcd

func Convert_v1beta1_LocalEtcd_To_upstreamv1beta1_LocalEtcd(in *bootstrapv1.LocalEtcd, out *LocalEtcd, s apimachineryconversion.Scope) error

func Convert_v1beta1_Networking_To_upstreamv1beta1_Networking

func Convert_v1beta1_Networking_To_upstreamv1beta1_Networking(in *v1beta1.Networking, out *Networking, s conversion.Scope) error

Convert_v1beta1_Networking_To_upstreamv1beta1_Networking is an autogenerated conversion function.

func Convert_v1beta1_NodeRegistrationOptions_To_upstreamv1beta1_NodeRegistrationOptions

func Convert_v1beta1_NodeRegistrationOptions_To_upstreamv1beta1_NodeRegistrationOptions(in *bootstrapv1.NodeRegistrationOptions, out *NodeRegistrationOptions, s apimachineryconversion.Scope) error

func RegisterConversions

func RegisterConversions(s *runtime.Scheme) error

RegisterConversions adds conversion functions to the given scheme. Public to allow building arbitrary schemes.

Types

type APIEndpoint

type APIEndpoint struct {
	// AdvertiseAddress sets the IP address for the API server to advertise.
	AdvertiseAddress string `json:"advertiseAddress"`

	// BindPort sets the secure port for the API Server to bind to.
	// Defaults to 6443.
	BindPort int32 `json:"bindPort"`
}

APIEndpoint struct contains elements of API server instance deployed on a node.

func (*APIEndpoint) DeepCopy

func (in *APIEndpoint) DeepCopy() *APIEndpoint

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

func (*APIEndpoint) DeepCopyInto

func (in *APIEndpoint) DeepCopyInto(out *APIEndpoint)

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

type APIServer

type APIServer struct {
	ControlPlaneComponent `json:",inline"`

	// CertSANs sets extra Subject Alternative Names for the API Server signing cert.
	CertSANs []string `json:"certSANs,omitempty"`

	// TimeoutForControlPlane controls the timeout that we use for API server to appear
	TimeoutForControlPlane *metav1.Duration `json:"timeoutForControlPlane,omitempty"`
}

APIServer holds settings necessary for API server deployments in the cluster.

func (*APIServer) DeepCopy

func (in *APIServer) DeepCopy() *APIServer

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

func (*APIServer) DeepCopyInto

func (in *APIServer) DeepCopyInto(out *APIServer)

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

type BootstrapToken

type BootstrapToken struct {
	// Token is used for establishing bidirectional trust between nodes and control-planes.
	// Used for joining nodes in the cluster.
	Token *BootstrapTokenString `json:"token"`
	// Description sets a human-friendly message why this token exists and what it's used
	// for, so other administrators can know its purpose.
	Description string `json:"description,omitempty"`
	// TTL defines the time to live for this token. Defaults to 24h.
	// Expires and TTL are mutually exclusive.
	TTL *metav1.Duration `json:"ttl,omitempty"`
	// Expires specifies the timestamp when this token expires. Defaults to being set
	// dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive.
	Expires *metav1.Time `json:"expires,omitempty"`
	// Usages describes the ways in which this token can be used. Can by default be used
	// for establishing bidirectional trust, but that can be changed here.
	Usages []string `json:"usages,omitempty"`
	// Groups specifies the extra groups that this token will authenticate as when/if
	// used for authentication
	Groups []string `json:"groups,omitempty"`
}

BootstrapToken describes one bootstrap token, stored as a Secret in the cluster.

func (*BootstrapToken) DeepCopy

func (in *BootstrapToken) DeepCopy() *BootstrapToken

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

func (*BootstrapToken) DeepCopyInto

func (in *BootstrapToken) DeepCopyInto(out *BootstrapToken)

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

type BootstrapTokenDiscovery

type BootstrapTokenDiscovery struct {
	// Token is a token used to validate cluster information
	// fetched from the control-plane.
	Token string `json:"token"`

	// APIServerEndpoint is an IP or domain name to the API server from which info will be fetched.
	APIServerEndpoint string `json:"apiServerEndpoint,omitempty"`

	// CACertHashes specifies a set of public key pins to verify
	// when token-based discovery is used. The root CA found during discovery
	// must match one of these values. Specifying an empty set disables root CA
	// pinning, which can be unsafe. Each hash is specified as "<type>:<value>",
	// where the only currently supported type is "sha256". This is a hex-encoded
	// SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded
	// ASN.1. These hashes can be calculated using, for example, OpenSSL:
	// openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex
	CACertHashes []string `json:"caCertHashes,omitempty"`

	// UnsafeSkipCAVerification allows token-based discovery
	// without CA verification via CACertHashes. This can weaken
	// the security of kubeadm since other nodes can impersonate the control-plane.
	UnsafeSkipCAVerification bool `json:"unsafeSkipCAVerification"`
}

BootstrapTokenDiscovery is used to set the options for bootstrap token based discovery.

func (*BootstrapTokenDiscovery) DeepCopy

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

func (*BootstrapTokenDiscovery) DeepCopyInto

func (in *BootstrapTokenDiscovery) DeepCopyInto(out *BootstrapTokenDiscovery)

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

type BootstrapTokenString

type BootstrapTokenString struct {
	ID     string `json:"-"`
	Secret string `json:"-"`
}

BootstrapTokenString is a token of the format abcdef.abcdef0123456789 that is used for both validation of the practically of the API server from a joining node's point of view and as an authentication method for the node in the bootstrap phase of "kubeadm join". This token is and should be short-lived.

+kubebuilder:validation:Type=string

func NewBootstrapTokenString

func NewBootstrapTokenString(token string) (*BootstrapTokenString, error)

NewBootstrapTokenString converts the given Bootstrap Token as a string to the BootstrapTokenString object used for serialization/deserialization and internal usage. It also automatically validates that the given token is of the right format.

func NewBootstrapTokenStringFromIDAndSecret

func NewBootstrapTokenStringFromIDAndSecret(id, secret string) (*BootstrapTokenString, error)

NewBootstrapTokenStringFromIDAndSecret is a wrapper around NewBootstrapTokenString that allows the caller to specify the ID and Secret separately.

func (*BootstrapTokenString) DeepCopy

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

func (*BootstrapTokenString) DeepCopyInto

func (in *BootstrapTokenString) DeepCopyInto(out *BootstrapTokenString)

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

func (BootstrapTokenString) MarshalJSON

func (bts BootstrapTokenString) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface.

func (BootstrapTokenString) String

func (bts BootstrapTokenString) String() string

String returns the string representation of the BootstrapTokenString.

func (*BootstrapTokenString) UnmarshalJSON

func (bts *BootstrapTokenString) UnmarshalJSON(b []byte) error

UnmarshalJSON implements the json.Unmarshaller interface.

type ClusterConfiguration

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

	// Etcd holds configuration for etcd.
	// NB: This value defaults to a Local (stacked) etcd
	// +optional
	Etcd Etcd `json:"etcd,omitempty"`

	// Networking holds configuration for the networking topology of the cluster.
	// NB: This value defaults to the Cluster object spec.clusterNetwork.
	// +optional
	Networking Networking `json:"networking,omitempty"`

	// KubernetesVersion is the target version of the control plane.
	// NB: This value defaults to the Machine object spec.version
	// +optional
	KubernetesVersion string `json:"kubernetesVersion,omitempty"`

	// ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it
	// can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port.
	// In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort
	// are used; in case the ControlPlaneEndpoint is specified but without a TCP port,
	// the BindPort is used.
	// Possible usages are:
	// e.g. In a cluster with more than one control plane instances, this field should be
	// assigned the address of the external load balancer in front of the
	// control plane instances.
	// e.g.  in environments with enforced node recycling, the ControlPlaneEndpoint
	// could be used for assigning a stable DNS to the control plane.
	// NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.
	// +optional
	ControlPlaneEndpoint string `json:"controlPlaneEndpoint,omitempty"`

	// APIServer contains extra settings for the API server control plane component
	// +optional
	APIServer APIServer `json:"apiServer,omitempty"`

	// ControllerManager contains extra settings for the controller manager control plane component
	// +optional
	ControllerManager ControlPlaneComponent `json:"controllerManager,omitempty"`

	// Scheduler contains extra settings for the scheduler control plane component
	// +optional
	Scheduler ControlPlaneComponent `json:"scheduler,omitempty"`

	// DNS defines the options for the DNS add-on installed in the cluster.
	// +optional
	DNS DNS `json:"dns,omitempty"`

	// CertificatesDir specifies where to store or look for all required certificates.
	// NB: if not provided, this will default to `/etc/kubernetes/pki`
	// +optional
	CertificatesDir string `json:"certificatesDir,omitempty"`

	// ImageRepository sets the container registry to pull images from.
	// If empty, `k8s.gcr.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`)
	// `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `k8s.gcr.io`
	// will be used for all the other images.
	// +optional
	ImageRepository string `json:"imageRepository,omitempty"`

	// UseHyperKubeImage controls if hyperkube should be used for Kubernetes components instead of their respective separate images
	// +optional
	UseHyperKubeImage bool `json:"useHyperKubeImage,omitempty"`

	// FeatureGates enabled by the user.
	// +optional
	FeatureGates map[string]bool `json:"featureGates,omitempty"`

	// The cluster name
	// +optional
	ClusterName string `json:"clusterName,omitempty"`
}

ClusterConfiguration contains cluster-wide configuration for a kubeadm cluster.

func (*ClusterConfiguration) ConvertFrom

func (dst *ClusterConfiguration) ConvertFrom(srcRaw conversion.Hub) error

func (*ClusterConfiguration) ConvertTo

func (src *ClusterConfiguration) ConvertTo(dstRaw conversion.Hub) error

func (*ClusterConfiguration) DeepCopy

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

func (*ClusterConfiguration) DeepCopyInto

func (in *ClusterConfiguration) DeepCopyInto(out *ClusterConfiguration)

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

func (*ClusterConfiguration) DeepCopyObject

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

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

type ClusterStatus

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

	// APIEndpoints currently available in the cluster, one for each control plane/api server instance.
	// The key of the map is the IP of the host's default interface
	APIEndpoints map[string]APIEndpoint `json:"apiEndpoints"`
}

ClusterStatus contains the cluster status. The ClusterStatus will be stored in the kubeadm-config ConfigMap in the cluster, and then updated by kubeadm when additional control plane instance joins or leaves the cluster.

func (*ClusterStatus) ConvertFrom

func (dst *ClusterStatus) ConvertFrom(srcRaw conversion.Hub) error

func (*ClusterStatus) ConvertTo

func (src *ClusterStatus) ConvertTo(dstRaw conversion.Hub) error

func (*ClusterStatus) DeepCopy

func (in *ClusterStatus) DeepCopy() *ClusterStatus

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

func (*ClusterStatus) DeepCopyInto

func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)

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

func (*ClusterStatus) DeepCopyObject

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

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

type ControlPlaneComponent

type ControlPlaneComponent struct {
	// ExtraArgs is an extra set of flags to pass to the control plane component.
	// TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.
	ExtraArgs map[string]string `json:"extraArgs,omitempty"`

	// ExtraVolumes is an extra set of host volumes, mounted to the control plane component.
	ExtraVolumes []HostPathMount `json:"extraVolumes,omitempty"`
}

ControlPlaneComponent holds settings common to control plane component of the cluster.

func (*ControlPlaneComponent) DeepCopy

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

func (*ControlPlaneComponent) DeepCopyInto

func (in *ControlPlaneComponent) DeepCopyInto(out *ControlPlaneComponent)

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

type DNS

type DNS struct {
	// Type defines the DNS add-on to be used
	// +optional
	Type DNSAddOnType `json:"type,omitempty"`

	// ImageMeta allows to customize the image used for the DNS component
	ImageMeta `json:",inline"`
}

DNS defines the DNS addon that should be used in the cluster.

func (*DNS) DeepCopy

func (in *DNS) DeepCopy() *DNS

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

func (*DNS) DeepCopyInto

func (in *DNS) DeepCopyInto(out *DNS)

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

type DNSAddOnType

type DNSAddOnType string

DNSAddOnType defines string identifying DNS add-on types.

const (
	// CoreDNS add-on type.
	CoreDNS DNSAddOnType = "CoreDNS"

	// KubeDNS add-on type.
	KubeDNS DNSAddOnType = "kube-dns"
)

type Discovery

type Discovery struct {
	// BootstrapToken is used to set the options for bootstrap token based discovery
	// BootstrapToken and File are mutually exclusive
	BootstrapToken *BootstrapTokenDiscovery `json:"bootstrapToken,omitempty"`

	// File is used to specify a file or URL to a kubeconfig file from which to load cluster information
	// BootstrapToken and File are mutually exclusive
	File *FileDiscovery `json:"file,omitempty"`

	// TLSBootstrapToken is a token used for TLS bootstrapping.
	// If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden.
	// If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information
	// +optional
	// TODO: revisit when there is defaulting from k/k
	TLSBootstrapToken string `json:"tlsBootstrapToken,omitempty"`

	// Timeout modifies the discovery timeout
	Timeout *metav1.Duration `json:"timeout,omitempty"`
}

Discovery specifies the options for the kubelet to use during the TLS Bootstrap process.

func (*Discovery) DeepCopy

func (in *Discovery) DeepCopy() *Discovery

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

func (*Discovery) DeepCopyInto

func (in *Discovery) DeepCopyInto(out *Discovery)

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

type Etcd

type Etcd struct {

	// Local provides configuration knobs for configuring the local etcd instance
	// Local and External are mutually exclusive
	Local *LocalEtcd `json:"local,omitempty"`

	// External describes how to connect to an external etcd cluster
	// Local and External are mutually exclusive
	External *ExternalEtcd `json:"external,omitempty"`
}

Etcd contains elements describing Etcd configuration.

func (*Etcd) DeepCopy

func (in *Etcd) DeepCopy() *Etcd

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

func (*Etcd) DeepCopyInto

func (in *Etcd) DeepCopyInto(out *Etcd)

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

type ExternalEtcd

type ExternalEtcd struct {
	// Endpoints of etcd members. Required for ExternalEtcd.
	Endpoints []string `json:"endpoints"`

	// CAFile is an SSL Certificate Authority file used to secure etcd communication.
	// Required if using a TLS connection.
	CAFile string `json:"caFile"`

	// CertFile is an SSL certification file used to secure etcd communication.
	// Required if using a TLS connection.
	CertFile string `json:"certFile"`

	// KeyFile is an SSL key file used to secure etcd communication.
	// Required if using a TLS connection.
	KeyFile string `json:"keyFile"`
}

ExternalEtcd describes an external etcd cluster. Kubeadm has no knowledge of where certificate files live and they must be supplied.

func (*ExternalEtcd) DeepCopy

func (in *ExternalEtcd) DeepCopy() *ExternalEtcd

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

func (*ExternalEtcd) DeepCopyInto

func (in *ExternalEtcd) DeepCopyInto(out *ExternalEtcd)

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

type FileDiscovery

type FileDiscovery struct {
	// KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information
	KubeConfigPath string `json:"kubeConfigPath"`
}

FileDiscovery is used to specify a file or URL to a kubeconfig file from which to load cluster information.

func (*FileDiscovery) DeepCopy

func (in *FileDiscovery) DeepCopy() *FileDiscovery

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

func (*FileDiscovery) DeepCopyInto

func (in *FileDiscovery) DeepCopyInto(out *FileDiscovery)

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

type HostPathMount

type HostPathMount struct {
	// Name of the volume inside the pod template.
	Name string `json:"name"`
	// HostPath is the path in the host that will be mounted inside
	// the pod.
	HostPath string `json:"hostPath"`
	// MountPath is the path inside the pod where hostPath will be mounted.
	MountPath string `json:"mountPath"`
	// ReadOnly controls write access to the volume
	ReadOnly bool `json:"readOnly,omitempty"`
	// PathType is the type of the HostPath.
	PathType corev1.HostPathType `json:"pathType,omitempty"`
}

HostPathMount contains elements describing volumes that are mounted from the host.

func (*HostPathMount) DeepCopy

func (in *HostPathMount) DeepCopy() *HostPathMount

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

func (*HostPathMount) DeepCopyInto

func (in *HostPathMount) DeepCopyInto(out *HostPathMount)

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

type ImageMeta

type ImageMeta struct {
	// ImageRepository sets the container registry to pull images from.
	// if not set, the ImageRepository defined in ClusterConfiguration will be used instead.
	ImageRepository string `json:"imageRepository,omitempty"`

	// ImageTag allows to specify a tag for the image.
	// In case this value is set, kubeadm does not change automatically the version of the above components during upgrades.
	ImageTag string `json:"imageTag,omitempty"`
}

ImageMeta allows to customize the image used for components that are not originated from the Kubernetes/Kubernetes release process.

func (*ImageMeta) DeepCopy

func (in *ImageMeta) DeepCopy() *ImageMeta

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

func (*ImageMeta) DeepCopyInto

func (in *ImageMeta) DeepCopyInto(out *ImageMeta)

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

type InitConfiguration

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

	// BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create.
	// This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature
	// +optional
	BootstrapTokens []BootstrapToken `json:"bootstrapTokens,omitempty"`

	// NodeRegistration holds fields that relate to registering the new control-plane node to the cluster.
	// When used in the context of control plane nodes, NodeRegistration should remain consistent
	// across both InitConfiguration and JoinConfiguration
	// +optional
	NodeRegistration NodeRegistrationOptions `json:"nodeRegistration,omitempty"`

	// LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node
	// In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint
	// is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This
	// configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible
	// on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process
	// fails you may set the desired value here.
	// +optional
	LocalAPIEndpoint APIEndpoint `json:"localAPIEndpoint,omitempty"`
}

InitConfiguration contains a list of elements that is specific "kubeadm init"-only runtime information.

func (*InitConfiguration) ConvertFrom

func (dst *InitConfiguration) ConvertFrom(srcRaw conversion.Hub) error

func (*InitConfiguration) ConvertTo

func (src *InitConfiguration) ConvertTo(dstRaw conversion.Hub) error

func (*InitConfiguration) DeepCopy

func (in *InitConfiguration) DeepCopy() *InitConfiguration

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

func (*InitConfiguration) DeepCopyInto

func (in *InitConfiguration) DeepCopyInto(out *InitConfiguration)

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

func (*InitConfiguration) DeepCopyObject

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

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

type JoinConfiguration

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

	// NodeRegistration holds fields that relate to registering the new control-plane node to the cluster.
	// When used in the context of control plane nodes, NodeRegistration should remain consistent
	// across both InitConfiguration and JoinConfiguration
	// +optional
	NodeRegistration NodeRegistrationOptions `json:"nodeRegistration,omitempty"`

	// CACertPath is the path to the SSL certificate authority used to
	// secure comunications between node and control-plane.
	// Defaults to "/etc/kubernetes/pki/ca.crt".
	// +optional
	// TODO: revisit when there is defaulting from k/k
	CACertPath string `json:"caCertPath,omitempty"`

	// Discovery specifies the options for the kubelet to use during the TLS Bootstrap process
	// +optional
	// TODO: revisit when there is defaulting from k/k
	Discovery Discovery `json:"discovery,omitempty"`

	// ControlPlane defines the additional control plane instance to be deployed on the joining node.
	// If nil, no additional control plane instance will be deployed.
	// +optional
	ControlPlane *JoinControlPlane `json:"controlPlane,omitempty"`
}

JoinConfiguration contains elements describing a particular node.

func (*JoinConfiguration) ConvertFrom

func (dst *JoinConfiguration) ConvertFrom(srcRaw conversion.Hub) error

func (*JoinConfiguration) ConvertTo

func (src *JoinConfiguration) ConvertTo(dstRaw conversion.Hub) error

func (*JoinConfiguration) DeepCopy

func (in *JoinConfiguration) DeepCopy() *JoinConfiguration

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

func (*JoinConfiguration) DeepCopyInto

func (in *JoinConfiguration) DeepCopyInto(out *JoinConfiguration)

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

func (*JoinConfiguration) DeepCopyObject

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

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

type JoinControlPlane

type JoinControlPlane struct {
	// LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node.
	LocalAPIEndpoint APIEndpoint `json:"localAPIEndpoint,omitempty"`
}

JoinControlPlane contains elements describing an additional control plane instance to be deployed on the joining node.

func (*JoinControlPlane) DeepCopy

func (in *JoinControlPlane) DeepCopy() *JoinControlPlane

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

func (*JoinControlPlane) DeepCopyInto

func (in *JoinControlPlane) DeepCopyInto(out *JoinControlPlane)

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

type LocalEtcd

type LocalEtcd struct {
	// ImageMeta allows to customize the container used for etcd
	ImageMeta `json:",inline"`

	// DataDir is the directory etcd will place its data.
	// Defaults to "/var/lib/etcd".
	// +optional
	DataDir string `json:"dataDir,omitempty"`

	// ExtraArgs are extra arguments provided to the etcd binary
	// when run inside a static pod.
	ExtraArgs map[string]string `json:"extraArgs,omitempty"`

	// ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert.
	ServerCertSANs []string `json:"serverCertSANs,omitempty"`
	// PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert.
	PeerCertSANs []string `json:"peerCertSANs,omitempty"`
}

LocalEtcd describes that kubeadm should run an etcd cluster locally.

func (*LocalEtcd) DeepCopy

func (in *LocalEtcd) DeepCopy() *LocalEtcd

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

func (*LocalEtcd) DeepCopyInto

func (in *LocalEtcd) DeepCopyInto(out *LocalEtcd)

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

type Networking

type Networking struct {
	// ServiceSubnet is the subnet used by k8s services.
	// Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or
	// to "10.96.0.0/12" if that's unset.
	// +optional
	ServiceSubnet string `json:"serviceSubnet,omitempty"`
	// PodSubnet is the subnet used by pods.
	// If unset, the API server will not allocate CIDR ranges for every node.
	// Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set
	// +optional
	PodSubnet string `json:"podSubnet,omitempty"`
	// DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local".
	// +optional
	DNSDomain string `json:"dnsDomain,omitempty"`
}

Networking contains elements describing cluster's networking configuration.

func (*Networking) DeepCopy

func (in *Networking) DeepCopy() *Networking

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

func (*Networking) DeepCopyInto

func (in *Networking) DeepCopyInto(out *Networking)

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

type NodeRegistrationOptions

type NodeRegistrationOptions struct {

	// Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation.
	// This field is also used in the CommonName field of the kubelet's client certificate to the API server.
	// Defaults to the hostname of the node if not provided.
	// +optional
	Name string `json:"name,omitempty"`

	// CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use
	// +optional
	CRISocket string `json:"criSocket,omitempty"`

	// Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process
	// it will be defaulted to []v1.Taint{'node-role.kubernetes.io/master=""'}. If you don't want to taint your control-plane node, set this field to an
	// empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.
	// +optional
	Taints []corev1.Taint `json:"taints,omitempty"`

	// KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file
	// kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap
	// Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on.
	// +optional
	KubeletExtraArgs map[string]string `json:"kubeletExtraArgs,omitempty"`
}

NodeRegistrationOptions holds fields that relate to registering a new control-plane or node to the cluster, either via "kubeadm init" or "kubeadm join".

func (*NodeRegistrationOptions) DeepCopy

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

func (*NodeRegistrationOptions) DeepCopyInto

func (in *NodeRegistrationOptions) DeepCopyInto(out *NodeRegistrationOptions)

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