From 7d1c40800aed57852587a837da9c924f9813e5f3 Mon Sep 17 00:00:00 2001 From: az Date: Fri, 25 Nov 2022 16:14:28 +0100 Subject: [PATCH 1/5] fix missing reprovion in method provisionK3s --- .../provs/server/domain/k3s/K3sService.kt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 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 bc5474c..96a0f86 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 @@ -15,10 +15,8 @@ fun Prov.provisionK3sCommand(cli: K3sCliCommand) = task { val k3sConfig: K3sConfig = getK3sConfig(cli.configFileName) DefaultApplicationFileRepository().assertExists(cli.applicationFileName) - if (cli.reprovision || k3sConfig.reprovision) { - deprovisionK3sInfra() - } - provisionK3s(k3sConfig, grafanaConfigResolved, cli.applicationFileName) + val k3sConfigReprovision = k3sConfig.copy(reprovision = cli.reprovision || k3sConfig.reprovision) + provisionK3s(k3sConfigReprovision, grafanaConfigResolved, cli.applicationFileName) } else { provisionGrafana(cli.onlyModules, grafanaConfigResolved) } @@ -32,6 +30,10 @@ fun Prov.provisionK3s( grafanaConfigResolved: GrafanaAgentConfigResolved? = null, applicationFileName: ApplicationFileName? = null) = task { + if (k3sConfig.reprovision) { + deprovisionK3sInfra() + } + provisionNetwork(k3sConfig) installK3s(k3sConfig) From 8d8b68cd44b90ac45b87120ab1eb478e8f385df6 Mon Sep 17 00:00:00 2001 From: az Date: Fri, 25 Nov 2022 16:16:12 +0100 Subject: [PATCH 2/5] make k3s apply functions public --- .../provs/server/infrastructure/K3s.kt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/kotlin/org/domaindrivenarchitecture/provs/server/infrastructure/K3s.kt b/src/main/kotlin/org/domaindrivenarchitecture/provs/server/infrastructure/K3s.kt index 9dff975..e432862 100644 --- a/src/main/kotlin/org/domaindrivenarchitecture/provs/server/infrastructure/K3s.kt +++ b/src/main/kotlin/org/domaindrivenarchitecture/provs/server/infrastructure/K3s.kt @@ -160,13 +160,13 @@ fun Prov.provisionK3sApplication(applicationFileName: ApplicationFileName) = tas } -// ============================ private and internal functions ============================= +// ============================ functions to create k3s files and apply ============================= -internal fun Prov.applyK3sFile(file: File) = task { +fun Prov.applyK3sFile(file: File) = task { cmd("kubectl apply -f ${file.path}", sudo = true) } -private fun Prov.createK3sFileFromResource( +fun Prov.createK3sFileFromResource( file: File, posixFilePermission: FileMode? = "644" ) = task { @@ -179,12 +179,12 @@ private fun Prov.createK3sFileFromResource( ) } -private fun Prov.applyK3sFileFromResource(file: File, posixFilePermission: String? = "644") = task { +fun Prov.applyK3sFileFromResource(file: File, posixFilePermission: String? = "644") = task { createK3sFileFromResource(file, posixFilePermission) applyK3sFile(file) } -private fun Prov.applyK3sFileFromResourceTemplate( +fun Prov.applyK3sFileFromResourceTemplate( file: File, values: Map, posixFilePermission: String? = "644", @@ -194,7 +194,7 @@ private fun Prov.applyK3sFileFromResourceTemplate( applyK3sFile(file) } -private fun Prov.createK3sFileFromResourceTemplate( +fun Prov.createK3sFileFromResourceTemplate( file: File, values: Map, posixFilePermission: String? = "644", @@ -215,5 +215,5 @@ private fun File.templateName(): String { } internal fun Prov.configureShellAliases() = task { - addTextToFile( "\nalias k=kubectl\n", File(".bash_aliases",)) + addTextToFile( "\nalias k=\"sudo kubectl\"\n", File(".bash_aliases",)) } \ No newline at end of file From e2fbfc05e3b837716d926f01ecaafd5ccd929d8a Mon Sep 17 00:00:00 2001 From: az Date: Fri, 25 Nov 2022 16:20:03 +0100 Subject: [PATCH 3/5] use sudo for set env deployment --- .../domaindrivenarchitecture/provs/server/infrastructure/K3s.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/kotlin/org/domaindrivenarchitecture/provs/server/infrastructure/K3s.kt b/src/main/kotlin/org/domaindrivenarchitecture/provs/server/infrastructure/K3s.kt index e432862..1702f34 100644 --- a/src/main/kotlin/org/domaindrivenarchitecture/provs/server/infrastructure/K3s.kt +++ b/src/main/kotlin/org/domaindrivenarchitecture/provs/server/infrastructure/K3s.kt @@ -111,7 +111,7 @@ fun Prov.installK3s(k3sConfig: K3sConfig): ProvResult { } applyK3sFileFromResource(localPathProvisionerConfig) - cmd("kubectl set env deployment -n kube-system local-path-provisioner DEPLOY_DATE=\"$(date)\"") + cmd("kubectl set env deployment -n kube-system local-path-provisioner DEPLOY_DATE=\"$(date)\"", sudo = true) cmd("ln -sf $k3sKubeConfig " + k8sCredentialsDir + "admin.conf", sudo = true) From c5b80688725bcbacb796db4883e11bb8888ce7a5 Mon Sep 17 00:00:00 2001 From: az Date: Fri, 25 Nov 2022 16:23:46 +0100 Subject: [PATCH 4/5] release-0.17.0 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 62e956a..beaab68 100644 --- a/build.gradle +++ b/build.gradle @@ -18,7 +18,7 @@ apply plugin: "kotlinx-serialization" group = "org.domaindrivenarchitecture.provs" -version = "0.16.1-SNAPSHOT" +version = "release-0.17.0" repositories { mavenCentral() From 575a2c8848a592b974143c165122e7e491d61396 Mon Sep 17 00:00:00 2001 From: az Date: Fri, 25 Nov 2022 16:25:13 +0100 Subject: [PATCH 5/5] [skip ci] 0.17.1-SNAPSHOT --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index beaab68..81fd7bd 100644 --- a/build.gradle +++ b/build.gradle @@ -18,7 +18,7 @@ apply plugin: "kotlinx-serialization" group = "org.domaindrivenarchitecture.provs" -version = "release-0.17.0" +version = "0.17.1-SNAPSHOT" repositories { mavenCentral()