Added some ctl boilerplate
This commit is contained in:
64
clitools/pkg/bootstrap/registry.go
Normal file
64
clitools/pkg/bootstrap/registry.go
Normal file
@@ -0,0 +1,64 @@
|
||||
package bootstrap
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"undecided.project/monok8s/pkg/node"
|
||||
)
|
||||
|
||||
type Registry struct {
|
||||
steps map[string]node.Step
|
||||
}
|
||||
|
||||
func NewRegistry(ctx *node.NodeContext) *Registry {
|
||||
netCfg := node.NetworkConfig{
|
||||
MgmtIface: ctx.Config.Spec.Network.ManagementIface,
|
||||
MgmtAddress: ctx.Config.Spec.Network.ManagementCIDR,
|
||||
MgmtGateway: ctx.Config.Spec.Network.ManagementGW,
|
||||
}
|
||||
|
||||
return &Registry{
|
||||
steps: map[string]node.Step{
|
||||
"check_prereqs": node.CheckPrereqs,
|
||||
"validate_network_requirements": node.ValidateNetworkRequirements,
|
||||
"install_cni_if_requested": node.InstallCNIIfRequested,
|
||||
"start_crio": node.StartCRIO,
|
||||
"check_crio_running": node.CheckCRIORunning,
|
||||
"wait_for_existing_cluster_if_needed": node.WaitForExistingClusterIfNeeded,
|
||||
"decide_bootstrap_action": node.DecideBootstrapAction,
|
||||
"check_required_images": node.CheckRequiredImages,
|
||||
"generate_kubeadm_config": node.GenerateKubeadmConfig,
|
||||
"run_kubeadm_init": node.RunKubeadmInit,
|
||||
"restart_kubelet": node.RestartKubelet,
|
||||
"apply_local_node_metadata_if_possible": node.ApplyLocalNodeMetadataIfPossible,
|
||||
"allow_single_node_scheduling": node.AllowSingleNodeScheduling,
|
||||
"ensure_ip_forward": node.EnsureIPForward,
|
||||
"configure_mgmt_interface": node.ConfigureMgmtInterface(netCfg),
|
||||
"configure_dns": node.ConfigureDNS,
|
||||
"set_hostname_if_needed": node.SetHostnameIfNeeded,
|
||||
"print_summary": node.PrintSummary,
|
||||
"reconcile_control_plane": node.ReconcileControlPlane,
|
||||
"check_upgrade_prereqs": node.CheckUpgradePrereqs,
|
||||
"run_kubeadm_upgrade_apply": node.RunKubeadmUpgradeApply,
|
||||
"run_kubeadm_join": node.RunKubeadmJoin,
|
||||
"reconcile_node": node.ReconcileNode,
|
||||
"run_kubeadm_upgrade_node": node.RunKubeadmUpgradeNode,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func (r *Registry) MustGet(name string) node.Step {
|
||||
step, ok := r.steps[name]
|
||||
if !ok {
|
||||
panic(fmt.Sprintf("unknown step %q", name))
|
||||
}
|
||||
return step
|
||||
}
|
||||
|
||||
func (r *Registry) Get(name string) (node.Step, error) {
|
||||
step, ok := r.steps[name]
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("unknown step %q", name)
|
||||
}
|
||||
return step, nil
|
||||
}
|
||||
Reference in New Issue
Block a user