# Functions

ControlPlaneLabelsForCluster returns a set of labels to add to a control plane machine for this specific cluster.
GenerateInitControlPlaneConfig generates the rke2 server and agent config for the init control plane node.
GenerateJoinControlPlaneConfig generates the rke2 agent config for joining a control plane node.
GenerateRegistries generates the registries.yaml file and the corresponding files for the TLS certificates.
GenerateWorkerConfig generates the rke2 agent config and files.
NewControlPlane returns an instantiated ControlPlane.

# Constants

CISNodePreparationScript is the script that is used to prepare a node for CIS compliance.
DefaultRKE2CloudProviderConfigLocation is the default location for the RKE2 cloud provider config file.
DefaultRKE2ConfigLocation is the default location for the RKE2 config file.
DefaultRKE2JoinPort is the default port used for joining nodes to the cluster.
DefaultRKE2RegistriesLocation is the default location for the registries.yaml file.
DefaultWorkloadTimeout is the default timeout for the management cluster.
RKE2ControlPlaneControllerName defines the controller used when creating clients.

# Variables

ErrControlPlaneMinNodes is returned when the control plane has fewer than 2 nodes.

# Structs

AgentConfigOpts is a struct that holds the information needed to generate the rke2 server config.
AuthConfig contains the config related to authentication to a specific registry.
ClusterStatus holds stats information about the cluster.
ControlPlane holds business logic around control planes.
EtcdMemberStatus contains status information for a single etcd member.
Management holds operations on the management cluster.
Mirror contains the config related to the registry mirror.
Registry is registry settings including mirrors, TLS, and credentials.
RegistryConfig contains configuration used to communicate with the registry.
RegistryScope is a wrapper around the Registry struct to provide the client, context and a logger to the Registry struct.
RemoteClusterConnectionError represents a failure to connect to a remote cluster.
ServerConfig is a struct that contains the information needed to generate a RKE2 server config.
ServerConfigOpts is a struct that contains the information needed to generate a RKE2 server config.
TLSConfig contains the CA/Cert/Key used for a registry.
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.