# Packages
Package controllers implements the Kubeadm controllers.
Package etcd provides a connection to an etcd member.
Package proxy implements kubeadm proxy functionality.
Package webhooks provides the validating webhook for KubeadmControlPlane scale subresource.
# Functions
ControlPlaneMachineLabelsForCluster returns a set of labels to add to a control plane machine for this specific cluster.
DefaultFeatureGates defaults the feature gates field.
ImageRepositoryFromClusterConfig returns the image repository to use.
NewControlPlane returns an instantiated ControlPlane.
NewEtcdClientGenerator returns a new etcdClientGenerator instance.
UpToDate checks if a Machine is up to date with the control plane's configuration.
# Constants
ClusterAdminsGroupAndClusterRoleBinding is the name of the Group used for kubeadm generated cluster admin credentials and the name of the ClusterRoleBinding that binds the same Group to the "cluster-admin" built-in ClusterRole.
ControlPlaneKubeletLocalMode is a feature gate of kubeadm that ensures kubelets only communicate with the local apiserver.
GetNodesClusterRoleName defines the name of the ClusterRole and ClusterRoleBinding to get nodes.
KubeadmControlPlaneControllerName defines the controller used when creating clients.
KubeletConfigMapName defines base kubelet configuration ConfigMap name for kubeadm < 1.24.
KubeletConfigMapRolePrefix defines base kubelet configuration ConfigMap role prefix.
NodeBootstrapTokenAuthGroup specifies which group a Node Bootstrap Token should be authenticated in.
NodesGroup defines the well-known group for all nodes.
UnversionedKubeletConfigMapName defines base kubelet configuration ConfigMap for kubeadm >= 1.24.
# Variables
ErrControlPlaneMinNodes signals that a cluster doesn't meet the minimum required nodes to remove an etcd member.
# Structs
ClusterStatus holds stats information about the cluster.
ControlPlane holds business logic around control planes.
CoreDNSMigrator is a shim that can be used to migrate CoreDNS files from one version to another.
EtcdClientGenerator generates etcd clients that connect to specific etcd members on particular control plane nodes.
EtcdMemberStatus contains status information for a single etcd member.
Management holds operations on the management cluster.
PreflightCheckResults contains description about pre flight check results blocking machines creation or deletion.
RemoteClusterConnectionError represents a failure to connect to a remote cluster.
Workload defines operations on workload clusters.
# Interfaces
ManagementCluster defines all behaviors necessary for something to function as a management cluster.
WorkloadCluster defines all behaviors necessary to upgrade kubernetes on a workload cluster
TODO: Add a detailed description to each of these method definitions.