diff --git a/build.gradle b/build.gradle index a5c1be7..8f26470 100644 --- a/build.gradle +++ b/build.gradle @@ -18,7 +18,7 @@ apply plugin: "kotlinx-serialization" group = "org.domaindrivenarchitecture.provs" -version = "0.10.2-release" +version = "0.10.2-SNAPSHOT" repositories { mavenCentral() diff --git a/src/main/kotlin/org/domaindrivenarchitecture/provs/desktop/application/CliArgumentsParser.kt b/src/main/kotlin/org/domaindrivenarchitecture/provs/desktop/application/CliArgumentsParser.kt index e0ab2f4..703bef4 100644 --- a/src/main/kotlin/org/domaindrivenarchitecture/provs/desktop/application/CliArgumentsParser.kt +++ b/src/main/kotlin/org/domaindrivenarchitecture/provs/desktop/application/CliArgumentsParser.kt @@ -44,17 +44,10 @@ open class CliArgumentsParser(name: String) : CliTargetParser(name) { "c", "the filename containing the yaml config", ) - val only by option( - ArgType.String, - "only", - "o", - "provisions only parts (currently possible: provsbinaries)", - ) override fun execute() { configFileName = cliConfigFileName?.let { ConfigFileName(it) } parsed = true - submodules = only?.split(",") } } diff --git a/src/main/kotlin/org/domaindrivenarchitecture/provs/desktop/domain/DesktopService.kt b/src/main/kotlin/org/domaindrivenarchitecture/provs/desktop/domain/DesktopService.kt index 71ff68a..5addf61 100644 --- a/src/main/kotlin/org/domaindrivenarchitecture/provs/desktop/domain/DesktopService.kt +++ b/src/main/kotlin/org/domaindrivenarchitecture/provs/desktop/domain/DesktopService.kt @@ -17,11 +17,7 @@ import org.domaindrivenarchitecture.provs.framework.ubuntu.user.base.whoami fun provisionDesktop(prov: Prov, cmd: DesktopCliCommand) { // retrieve config val conf = if (cmd.configFile != null) getConfig(cmd.configFile.fileName) else DesktopConfig() - if (cmd.submodules == null) { - prov.provisionWorkplace(cmd.type, conf.ssh?.keyPair(), conf.gpg?.keyPair(), conf.gitUserName, conf.gitEmail) - } else { - prov.provisionWorkplaceSubmodules(cmd.submodules) - } + prov.provisionWorkplace(cmd.type, conf.ssh?.keyPair(), conf.gpg?.keyPair(), conf.gitUserName, conf.gitEmail) } @@ -90,9 +86,6 @@ fun Prov.provisionWorkplace( installRedshift() configureRedshift() - - installBinariesProvs() - installBinariesC4k() } if (desktopType == DesktopType.IDE) { @@ -118,23 +111,3 @@ fun Prov.provisionWorkplace( } ProvResult(true) } - - -/** - * Provisions submodules for a personal workplace. - * - * Prerequisites: module must already been installed - */ -fun Prov.provisionWorkplaceSubmodules( - submodules: List -) = task { - if (submodules.contains(DesktopSubmodule.PROVSBINARIES.name.lowercase())) { - aptInstall("jarwrapper") - installBinariesProvs(true) - } - if (submodules.contains(DesktopSubmodule.C4KBINARIES.name.lowercase())) { - aptInstall("jarwrapper") - installBinariesC4k(true) - } - ProvResult(true) -} \ No newline at end of file diff --git a/src/main/kotlin/org/domaindrivenarchitecture/provs/desktop/domain/Submodule.kt b/src/main/kotlin/org/domaindrivenarchitecture/provs/desktop/domain/Submodule.kt deleted file mode 100644 index df645cc..0000000 --- a/src/main/kotlin/org/domaindrivenarchitecture/provs/desktop/domain/Submodule.kt +++ /dev/null @@ -1,5 +0,0 @@ -package org.domaindrivenarchitecture.provs.desktop.domain - -enum class DesktopSubmodule { - PROVSBINARIES, C4KBINARIES -} diff --git a/src/main/kotlin/org/domaindrivenarchitecture/provs/desktop/infrastructure/BinariesC4k.kt b/src/main/kotlin/org/domaindrivenarchitecture/provs/desktop/infrastructure/BinariesC4k.kt deleted file mode 100644 index 94cda73..0000000 --- a/src/main/kotlin/org/domaindrivenarchitecture/provs/desktop/infrastructure/BinariesC4k.kt +++ /dev/null @@ -1,56 +0,0 @@ -package org.domaindrivenarchitecture.provs.desktop.infrastructure - -import org.domaindrivenarchitecture.provs.framework.core.Prov -import org.domaindrivenarchitecture.provs.framework.core.ProvResult -import org.domaindrivenarchitecture.provs.framework.ubuntu.filesystem.base.createDirs -import org.domaindrivenarchitecture.provs.framework.ubuntu.web.base.downloadFromURL - -fun Prov.installBinariesC4k(reprovision: Boolean = false) = task { - - val installationPath = " /usr/local/bin/" - - createDirs(installationPath, sudo = true) - - fun Prov.downloadC4k(jobId: String, c4kName: String, sha256sum: String) = task { - val fileName = "$c4kName-standalone.jar" - downloadFromURL( - "https://gitlab.com/domaindrivenarchitecture/$c4kName/-/jobs/${jobId}/artifacts/raw/target/uberjar/${fileName}", - path = installationPath, - filename = fileName, - sha256sum = sha256sum, - sudo = true, - overwrite = reprovision - ) - // remark: chmod fails if file could not be downloaded (e.g. due to wrong link or checksum) - cmd("chmod 755 $installationPath$fileName", sudo = true) - } - - downloadC4k( - "2138015489", - "c4k-nextcloud", - "47b6f71664903816eab0e4950d4ab0d564ea365ddb2b9c2a7bcb2736a2d941cb" - ) - downloadC4k( - "2136806347", - "c4k-jira", - "585f26e3b70bec32f052f488688718d8c9a6d15222b8a2141a69fa1bea136179" - ) - downloadC4k( - "2136561868", - "c4k-keycloak", - "81bd605b160c3d339cba745433271412eaa716cb7856d0227a1eb063badc9d9c" - ) - downloadC4k( - "2136778473", - "c4k-mastodon-bot", - "9dbf981ce8b4aea92e0f45b182a39d2caffceb6e8f78ddfeeb49e74ca4a8d37d" - ) - downloadC4k( - "2136801572", - "c4k-shynet", - "4fa0d41896f2a9ea89ca70c475f9d1f89edf3fadf82d6b39789b90732f795429" - ) - - ProvResult(true) - -} \ No newline at end of file diff --git a/src/main/kotlin/org/domaindrivenarchitecture/provs/desktop/infrastructure/BinariesProvs.kt b/src/main/kotlin/org/domaindrivenarchitecture/provs/desktop/infrastructure/BinariesProvs.kt deleted file mode 100644 index f544cb7..0000000 --- a/src/main/kotlin/org/domaindrivenarchitecture/provs/desktop/infrastructure/BinariesProvs.kt +++ /dev/null @@ -1,37 +0,0 @@ -package org.domaindrivenarchitecture.provs.desktop.infrastructure - -import org.domaindrivenarchitecture.provs.framework.core.Prov -import org.domaindrivenarchitecture.provs.framework.ubuntu.filesystem.base.createDirs -import org.domaindrivenarchitecture.provs.framework.ubuntu.web.base.downloadFromURL - - -fun Prov.installBinariesProvs(reprovision: Boolean = false) = task { - // check for latest stable release on: https://gitlab.com/domaindrivenarchitecture/provs/-/releases - // release 0.9.9 - val jobId = "2138969146" - val installationPath = " /usr/local/bin/" - val provsDesktopSha256sum = "e309ea598234c5128095d554dad569fcad26e054431cdebbcd50b7c40ee5276f" - val provsServerSha256sum = "659e3d8c08166288aa5c376194f28e19cbc401edbd9af4225d76c0880bc8518e" - - createDirs(installationPath, sudo = true) - - downloadFromURL( - "https://gitlab.com/domaindrivenarchitecture/provs/-/jobs/$jobId/artifacts/raw/build/libs/provs-desktop.jar", - path = installationPath, - filename = "provs-desktop.jar", - sha256sum = provsDesktopSha256sum, - sudo = true, - overwrite = false // don't overwrite, as code always refers to an older version, for which the checksum is known - ) - cmd("chmod 755 /usr/local/bin/provs-desktop.jar", sudo = true) - - downloadFromURL( - "https://gitlab.com/domaindrivenarchitecture/provs/-/jobs/$jobId/artifacts/raw/build/libs/provs-server.jar", - path = installationPath, - filename = "provs-server.jar", - sha256sum = provsServerSha256sum, - sudo = true, - overwrite = reprovision - ) - cmd("chmod 755 /usr/local/bin/provs-server.jar" , sudo = true) -} diff --git a/src/test/kotlin/org/domaindrivenarchitecture/provs/desktop/infrastructure/BinariesC4kKtTest.kt b/src/test/kotlin/org/domaindrivenarchitecture/provs/desktop/infrastructure/BinariesC4kKtTest.kt deleted file mode 100644 index 2f04cfd..0000000 --- a/src/test/kotlin/org/domaindrivenarchitecture/provs/desktop/infrastructure/BinariesC4kKtTest.kt +++ /dev/null @@ -1,23 +0,0 @@ -package org.domaindrivenarchitecture.provs.desktop.infrastructure - -import org.domaindrivenarchitecture.provs.framework.ubuntu.filesystem.base.checkFile -import org.domaindrivenarchitecture.provs.test.defaultTestContainer -import org.domaindrivenarchitecture.provs.test.tags.ExtensiveContainerTest -import org.junit.jupiter.api.Assertions.assertTrue - -internal class BinariesC4kKtTest { - - @ExtensiveContainerTest - fun downloadC4kBinaries() { - // when - val res = defaultTestContainer().installBinariesC4k() - - // then - assertTrue(defaultTestContainer().checkFile("/usr/local/bin/c4k-nextcloud-standalone.jar", sudo = true)) - assertTrue(defaultTestContainer().checkFile("/usr/local/bin/c4k-jira-standalone.jar", sudo = true)) - assertTrue(defaultTestContainer().checkFile("/usr/local/bin/c4k-keycloak-standalone.jar", sudo = true)) - assertTrue(defaultTestContainer().checkFile("/usr/local/bin/c4k-mastodon-bot-standalone.jar", sudo = true)) - assertTrue(defaultTestContainer().checkFile("/usr/local/bin/c4k-shynet-standalone.jar", sudo = true)) - assertTrue(res.success) - } -} \ No newline at end of file diff --git a/src/test/kotlin/org/domaindrivenarchitecture/provs/desktop/infrastructure/BinariesProvsKtTest.kt b/src/test/kotlin/org/domaindrivenarchitecture/provs/desktop/infrastructure/BinariesProvsKtTest.kt deleted file mode 100644 index f704f6a..0000000 --- a/src/test/kotlin/org/domaindrivenarchitecture/provs/desktop/infrastructure/BinariesProvsKtTest.kt +++ /dev/null @@ -1,23 +0,0 @@ -package org.domaindrivenarchitecture.provs.desktop.infrastructure - -import org.domaindrivenarchitecture.provs.framework.ubuntu.filesystem.base.checkFile -import org.domaindrivenarchitecture.provs.test.defaultTestContainer -import org.domaindrivenarchitecture.provs.test.tags.ExtensiveContainerTest -import org.junit.jupiter.api.Assertions.assertTrue - -internal class BinariesProvsKtTest { - - @ExtensiveContainerTest - fun installBinariesProvs() { - // given - val prov = defaultTestContainer() - - // when - val res = prov.installBinariesProvs() - - // then - assertTrue(res.success) - assertTrue(defaultTestContainer().checkFile(" /usr/local/bin/provs-server.jar", sudo = true)) - assertTrue(defaultTestContainer().checkFile(" /usr/local/bin/provs-desktop.jar", sudo = true)) - } -} \ No newline at end of file diff --git a/src/test/kotlin/org/domaindrivenarchitecture/provs/framework/extensions/workplace/ProvisionWorkplaceKtTest.kt b/src/test/kotlin/org/domaindrivenarchitecture/provs/framework/extensions/workplace/ProvisionWorkplaceKtTest.kt index 0bd2c3a..58a3d37 100644 --- a/src/test/kotlin/org/domaindrivenarchitecture/provs/framework/extensions/workplace/ProvisionWorkplaceKtTest.kt +++ b/src/test/kotlin/org/domaindrivenarchitecture/provs/framework/extensions/workplace/ProvisionWorkplaceKtTest.kt @@ -2,9 +2,7 @@ package org.domaindrivenarchitecture.provs.framework.extensions.workplace import org.domaindrivenarchitecture.provs.desktop.domain.DesktopType import org.domaindrivenarchitecture.provs.desktop.domain.provisionWorkplace -import org.domaindrivenarchitecture.provs.desktop.domain.provisionWorkplaceSubmodules import org.domaindrivenarchitecture.provs.desktop.infrastructure.getConfig -import org.domaindrivenarchitecture.provs.framework.ubuntu.filesystem.base.checkFile import org.domaindrivenarchitecture.provs.test.defaultTestContainer import org.domaindrivenarchitecture.provs.test.tags.ExtensiveContainerTest import org.junit.jupiter.api.Assertions.assertTrue @@ -48,24 +46,6 @@ internal class ProvisionWorkplaceKtTest { // then assertTrue(res.success) } - - - @ExtensiveContainerTest - fun provision_submodule_provsbinaries() { - // given - val prov = defaultTestContainer() - - // when - val res = prov.provisionWorkplaceSubmodules( - listOf("provsbinaries") - ) - - // then - assertTrue(res.success) - assertTrue(defaultTestContainer().checkFile(" /usr/local/bin/provs-server.jar", sudo = true)) - assertTrue(defaultTestContainer().checkFile(" /usr/local/bin/provs-desktop.jar", sudo = true)) - } - }