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) {