From 8e83cf11d03d26952643fa3e8c857be364219a44 Mon Sep 17 00:00:00 2001 From: erik Date: Tue, 6 Sep 2022 13:16:26 +0200 Subject: [PATCH 1/2] Refactor reprovisioning options Moved config reprovision check to provisionK3s as it does not influence the provisionNetwork() function. Reprovisioning from CLI now overrides reprovisioning from config. --- .../provs/server/domain/k3s/K3sService.kt | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/src/main/kotlin/org/domaindrivenarchitecture/provs/server/domain/k3s/K3sService.kt b/src/main/kotlin/org/domaindrivenarchitecture/provs/server/domain/k3s/K3sService.kt index 46c44df..f84d87c 100644 --- a/src/main/kotlin/org/domaindrivenarchitecture/provs/server/domain/k3s/K3sService.kt +++ b/src/main/kotlin/org/domaindrivenarchitecture/provs/server/domain/k3s/K3sService.kt @@ -11,17 +11,22 @@ fun Prov.provisionK3s(cli: K3sCliCommand) = task { val grafanaConfigResolved: GrafanaAgentConfigResolved? = findK8sGrafanaConfig(cli.configFileName)?.resolveSecret() - if (cli.submodules == null && !cli.reprovision) { - // full k3s + if (cli.submodules == null ) { val k3sConfig: K3sConfig = getK3sConfig(cli.configFileName) - provisionK3sWorker(k3sConfig, grafanaConfigResolved, cli.applicationFileName) - } - else if (cli.reprovision) { - deprovisionK3sInfra() - val k3sConfig: K3sConfig = getK3sConfig(cli.configFileName) - provisionK3sWorker(k3sConfig, grafanaConfigResolved, cli.applicationFileName) - } - else { + + if (!cli.reprovision && !k3sConfig.reprovision) { + // full k3s + provisionK3sWorker(k3sConfig, grafanaConfigResolved, cli.applicationFileName) + } + if (cli.reprovision && testConfigExists()) { + deprovisionK3sInfra() + provisionK3sWorker(k3sConfig, grafanaConfigResolved, cli.applicationFileName) + } + if (k3sConfig.reprovision && testConfigExists()) { + deprovisionK3sInfra() + provisionK3sWorker(k3sConfig, grafanaConfigResolved, cli.applicationFileName) + } + } else { // submodules only provisionGrafanaSanitized(cli.submodules, grafanaConfigResolved) } @@ -37,10 +42,6 @@ fun Prov.provisionK3sWorker( provisionNetwork(k3sConfig) - if (k3sConfig.reprovision && testConfigExists()) { - deprovisionK3sInfra() - } - installK3s(k3sConfig) if (k3sConfig.certmanager != null) { From 4f78ddbc00dc8e110d85a27b487bc1297c6dfe54 Mon Sep 17 00:00:00 2001 From: erik Date: Tue, 6 Sep 2022 13:49:23 +0200 Subject: [PATCH 2/2] Update Files --- .../provs/server/application/CliArgumentsParser.kt | 4 ++-- .../provs/server/domain/k3s/K3sCliCommand.kt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/org/domaindrivenarchitecture/provs/server/application/CliArgumentsParser.kt b/src/main/kotlin/org/domaindrivenarchitecture/provs/server/application/CliArgumentsParser.kt index 0b2d4a3..bfce840 100644 --- a/src/main/kotlin/org/domaindrivenarchitecture/provs/server/application/CliArgumentsParser.kt +++ b/src/main/kotlin/org/domaindrivenarchitecture/provs/server/application/CliArgumentsParser.kt @@ -35,7 +35,7 @@ class CliArgumentsParser(name: String) : CliTargetParser(name) { module.configFileName, module.applicationFileName, module.submodules, - module.reprovision + module.reprovision, ) else -> return ServerCliCommand( ServerType.valueOf(module.name.uppercase()), @@ -79,7 +79,7 @@ class CliArgumentsParser(name: String) : CliTargetParser(name) { ArgType.Boolean, "reprovision", "r", - "redo provisioning, deletes old config first" + "redo provisioning, deletes old config first", ) override fun execute() { super.configFileName = cliConfigFileName?.let { ConfigFileName(it) } diff --git a/src/main/kotlin/org/domaindrivenarchitecture/provs/server/domain/k3s/K3sCliCommand.kt b/src/main/kotlin/org/domaindrivenarchitecture/provs/server/domain/k3s/K3sCliCommand.kt index 1cca7f6..b74ee11 100644 --- a/src/main/kotlin/org/domaindrivenarchitecture/provs/server/domain/k3s/K3sCliCommand.kt +++ b/src/main/kotlin/org/domaindrivenarchitecture/provs/server/domain/k3s/K3sCliCommand.kt @@ -11,7 +11,7 @@ class K3sCliCommand( configFileName: ConfigFileName?, val applicationFileName: ApplicationFileName?, val submodules: List? = null, - val reprovision: Reprovision = false + val reprovision: Reprovision = false, ) : ServerCliCommand( serverType, target, configFileName