remove install binaries
This commit is contained in:
parent
436a6fa2c8
commit
7eb7494fad
9 changed files with 2 additions and 200 deletions
|
@ -18,7 +18,7 @@ apply plugin: "kotlinx-serialization"
|
|||
|
||||
|
||||
group = "org.domaindrivenarchitecture.provs"
|
||||
version = "0.10.2-release"
|
||||
version = "0.10.2-SNAPSHOT"
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
|
|
|
@ -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(",")
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -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<String>
|
||||
) = 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)
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
package org.domaindrivenarchitecture.provs.desktop.domain
|
||||
|
||||
enum class DesktopSubmodule {
|
||||
PROVSBINARIES, C4KBINARIES
|
||||
}
|
|
@ -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)
|
||||
|
||||
}
|
|
@ -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)
|
||||
}
|
|
@ -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)
|
||||
}
|
||||
}
|
|
@ -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))
|
||||
}
|
||||
}
|
|
@ -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))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue