Unverified Commit 1e1fb73e authored by Hussein Galal's avatar Hussein Galal Committed by GitHub

Add validation to certificate rotation (#4698)

parent 03f7af01
......@@ -33,6 +33,20 @@ const (
k3sServerService = "-server"
)
var services = []string{
adminService,
apiServerService,
controllerManagerService,
schedulerService,
etcdService,
version.Program + programControllerService,
authProxyService,
cloudControllerService,
kubeletService,
kubeProxyService,
version.Program + k3sServerService,
}
func commandSetup(app *cli.Context, cfg *cmds.Server, sc *server.Config) (string, string, error) {
gspt.SetProcTitle(os.Args[0])
......@@ -115,6 +129,10 @@ func rotate(app *cli.Context, cfg *cmds.Server) error {
serverConfig.ControlConfig.Runtime.ClientETCDCert = filepath.Join(serverConfig.ControlConfig.DataDir, "tls", "etcd", "client.crt")
serverConfig.ControlConfig.Runtime.ClientETCDKey = filepath.Join(serverConfig.ControlConfig.DataDir, "tls", "etcd", "client.key")
if err := validateCertConfig(); err != nil {
return err
}
tlsBackupDir, err := backupCertificates(serverDataDir, agentDataDir)
if err != nil {
return err
......@@ -269,3 +287,21 @@ func backupCertificates(serverDataDir, agentDataDir string) (string, error) {
}
return tlsBackupDir, nil
}
func validService(svc string) bool {
for _, service := range services {
if svc == service {
return true
}
}
return false
}
func validateCertConfig() error {
for _, s := range cmds.ServicesList {
if !validService(s) {
return errors.New("Service " + s + " is not recognized")
}
}
return nil
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment