mirror of https://github.com/k3s-io/k3s
Add validation to certificate rotation (#4697)
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>pull/4716/head
parent
8e1b2340c9
commit
3024462196
|
@ -34,6 +34,20 @@ const (
|
||||||
k3sServerService = "-server"
|
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) {
|
func commandSetup(app *cli.Context, cfg *cmds.Server, sc *server.Config) (string, string, error) {
|
||||||
gspt.SetProcTitle(os.Args[0])
|
gspt.SetProcTitle(os.Args[0])
|
||||||
|
|
||||||
|
@ -65,6 +79,10 @@ func rotate(app *cli.Context, cfg *cmds.Server) error {
|
||||||
serverConfig.ControlConfig.Runtime = &config.ControlRuntime{}
|
serverConfig.ControlConfig.Runtime = &config.ControlRuntime{}
|
||||||
deps.CreateRuntimeCertFiles(&serverConfig.ControlConfig, serverConfig.ControlConfig.Runtime)
|
deps.CreateRuntimeCertFiles(&serverConfig.ControlConfig, serverConfig.ControlConfig.Runtime)
|
||||||
|
|
||||||
|
if err := validateCertConfig(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
tlsBackupDir, err := backupCertificates(serverDataDir, agentDataDir)
|
tlsBackupDir, err := backupCertificates(serverDataDir, agentDataDir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -219,3 +237,21 @@ func backupCertificates(serverDataDir, agentDataDir string) (string, error) {
|
||||||
}
|
}
|
||||||
return tlsBackupDir, nil
|
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
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue