Running crit up with a control plane configuration perfoms the following steps:

ControlPlanePreCheckValidate configuration
CreateOrDownloadCertsGenerate CAs; if already present, don't overwrite
CreateNodeCertsGenerate certificates for kubernetes components; if already present, dont overwrite
StopKubeletStop the kubelet using systemd
WriteKubeConfigsGenerate control plane kubeconfigs and the admin kubeconfig
WriteKubeletConfigsWrite kubelet settings
StartKubeletStart Kubelet using systemd
WriteKubeManifestsWrite static pod manifests for control plane
WaitClusterAvailableWait for the control plane to be available
WriteBootstrapServerManifest [optional]Write the crit boostrap server pod manifest
DeployCoreDNSDeploy CoreDNS after cluster is available
DeployKubeProxyDeploy KubeProxy
EnableCSRApproverAdd RBAC to allow csrapprover to boostrap nodes
MarkControlPlaneAdd taint to control plane node
UploadInfoUpload crit config map that holds info regarding the cluster