various refactorings
This commit is contained in:
parent
bb9146b542
commit
72af2db838
6 changed files with 20 additions and 20 deletions
|
@ -38,8 +38,8 @@ fun main(args: Array<String>) {
|
||||||
null
|
null
|
||||||
} catch (e: FileNotFoundException) {
|
} catch (e: FileNotFoundException) {
|
||||||
println(
|
println(
|
||||||
"Error: File\u001b[31m ${configFileName} \u001b[0m was not found.\n" +
|
"Error: File\u001b[31m $configFileName \u001b[0m was not found.\n" +
|
||||||
"Pls copy file \u001B[31m desktop-config-example.yaml \u001B[0m to file \u001B[31m ${configFileName} \u001B[0m " +
|
"Pls copy file \u001B[31m desktop-config-example.yaml \u001B[0m to file \u001B[31m $configFileName \u001B[0m " +
|
||||||
"and change the content according to your needs."
|
"and change the content according to your needs."
|
||||||
)
|
)
|
||||||
null
|
null
|
||||||
|
|
|
@ -6,7 +6,7 @@ import org.domaindrivenarchitecture.provs.framework.core.docker.dockerimages.Doc
|
||||||
import org.domaindrivenarchitecture.provs.framework.core.docker.platforms.*
|
import org.domaindrivenarchitecture.provs.framework.core.docker.platforms.*
|
||||||
import org.domaindrivenarchitecture.provs.framework.core.platforms.UbuntuProv
|
import org.domaindrivenarchitecture.provs.framework.core.platforms.UbuntuProv
|
||||||
import org.domaindrivenarchitecture.provs.framework.core.processors.ContainerStartMode
|
import org.domaindrivenarchitecture.provs.framework.core.processors.ContainerStartMode
|
||||||
import org.domaindrivenarchitecture.provs.framework.core.docker.platforms.*
|
|
||||||
|
|
||||||
private const val DOCKER_NOT_SUPPORTED = "docker not yet supported for "
|
private const val DOCKER_NOT_SUPPORTED = "docker not yet supported for "
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ fun Prov.dockerProvideImage(image: DockerImage, skipIfExisting: Boolean = true,
|
||||||
if (this is UbuntuProv) {
|
if (this is UbuntuProv) {
|
||||||
return this.dockerProvideImagePlatform(image, skipIfExisting, sudo)
|
return this.dockerProvideImagePlatform(image, skipIfExisting, sudo)
|
||||||
} else {
|
} else {
|
||||||
throw RuntimeException(DOCKER_NOT_SUPPORTED + (this as UbuntuProv).javaClass)
|
throw RuntimeException(DOCKER_NOT_SUPPORTED + this.javaClass)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ fun Prov.dockerImageExists(imageName: String, sudo: Boolean = true) : Boolean {
|
||||||
if (this is UbuntuProv) {
|
if (this is UbuntuProv) {
|
||||||
return this.dockerImageExistsPlatform(imageName, sudo)
|
return this.dockerImageExistsPlatform(imageName, sudo)
|
||||||
} else {
|
} else {
|
||||||
throw RuntimeException(DOCKER_NOT_SUPPORTED + (this as UbuntuProv).javaClass)
|
throw RuntimeException(DOCKER_NOT_SUPPORTED + this.javaClass)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ fun Prov.provideContainer(
|
||||||
if (this is UbuntuProv) {
|
if (this is UbuntuProv) {
|
||||||
return this.provideContainerPlatform(containerName, imageName, startMode, sudo, options, command)
|
return this.provideContainerPlatform(containerName, imageName, startMode, sudo, options, command)
|
||||||
} else {
|
} else {
|
||||||
throw RuntimeException(DOCKER_NOT_SUPPORTED + (this as UbuntuProv).javaClass)
|
throw RuntimeException(DOCKER_NOT_SUPPORTED + this.javaClass)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@ fun Prov.containerRuns(containerName: String, sudo: Boolean = true) : Boolean {
|
||||||
if (this is UbuntuProv) {
|
if (this is UbuntuProv) {
|
||||||
return this.containerRunsPlatform(containerName, sudo)
|
return this.containerRunsPlatform(containerName, sudo)
|
||||||
} else {
|
} else {
|
||||||
throw RuntimeException(DOCKER_NOT_SUPPORTED + (this as UbuntuProv).javaClass)
|
throw RuntimeException(DOCKER_NOT_SUPPORTED + this.javaClass)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,7 +72,7 @@ fun Prov.runContainer(
|
||||||
if (this is UbuntuProv) {
|
if (this is UbuntuProv) {
|
||||||
return this.runContainerPlatform(containerName, imageName, sudo)
|
return this.runContainerPlatform(containerName, imageName, sudo)
|
||||||
} else {
|
} else {
|
||||||
throw RuntimeException(DOCKER_NOT_SUPPORTED + (this as UbuntuProv).javaClass)
|
throw RuntimeException(DOCKER_NOT_SUPPORTED + this.javaClass)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -84,16 +84,17 @@ fun Prov.exitAndRmContainer(
|
||||||
if (this is UbuntuProv) {
|
if (this is UbuntuProv) {
|
||||||
return this.exitAndRmContainerPlatform(containerName, sudo)
|
return this.exitAndRmContainerPlatform(containerName, sudo)
|
||||||
} else {
|
} else {
|
||||||
throw RuntimeException(DOCKER_NOT_SUPPORTED + (this as UbuntuProv).javaClass)
|
throw RuntimeException(DOCKER_NOT_SUPPORTED + this.javaClass)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Suppress("unused")
|
||||||
fun Prov.containerExec(containerName: String, cmd: String, sudo: Boolean = true): ProvResult {
|
fun Prov.containerExec(containerName: String, cmd: String, sudo: Boolean = true): ProvResult {
|
||||||
if (this is UbuntuProv) {
|
if (this is UbuntuProv) {
|
||||||
return this.containerExecPlatform(containerName, cmd, sudo)
|
return this.containerExecPlatform(containerName, cmd, sudo)
|
||||||
} else {
|
} else {
|
||||||
throw RuntimeException(DOCKER_NOT_SUPPORTED + (this as UbuntuProv).javaClass)
|
throw RuntimeException(DOCKER_NOT_SUPPORTED + this.javaClass)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -30,14 +30,16 @@ open class UbuntuProv(
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun buildCommand(vararg args: String): String {
|
private fun buildCommand(vararg args: String): String {
|
||||||
return if (args.size == 1)
|
return if (args.size == 1) {
|
||||||
args[0].escapeAndEncloseByDoubleQuoteForShell()
|
args[0].escapeAndEncloseByDoubleQuoteForShell()
|
||||||
else
|
} else {
|
||||||
if (args.size == 3 && SHELL.equals(args[0]) && "-c".equals(args[1]))
|
if (args.size == 3 && SHELL == args[0] && "-c" == args[1]) {
|
||||||
SHELL + " -c " + args[2].escapeAndEncloseByDoubleQuoteForShell()
|
SHELL + " -c " + args[2].escapeAndEncloseByDoubleQuoteForShell()
|
||||||
else
|
} else {
|
||||||
args.joinToString(separator = " ")
|
args.joinToString(separator = " ")
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun commandWithDirAndSudo(cmd: String, dir: String?, sudo: Boolean): String {
|
private fun commandWithDirAndSudo(cmd: String, dir: String?, sudo: Boolean): String {
|
||||||
|
|
|
@ -201,7 +201,7 @@ fun Prov.fileContentLargeFile(file: String, sudo: Boolean = false, chunkSize: In
|
||||||
// check first chunk
|
// check first chunk
|
||||||
if (resultString == null) {
|
if (resultString == null) {
|
||||||
if (!chunkResult.success) {
|
if (!chunkResult.success) {
|
||||||
return resultString
|
return null
|
||||||
} else {
|
} else {
|
||||||
resultString = ""
|
resultString = ""
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@ abstract class SecretSource(protected val input: String) {
|
||||||
|
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
enum class SecretSourceType() {
|
enum class SecretSourceType {
|
||||||
|
|
||||||
PLAIN, FILE, PROMPT, PASS, GOPASS;
|
PLAIN, FILE, PROMPT, PASS, GOPASS;
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,7 @@
|
||||||
package org.domaindrivenarchitecture.provs.server.infrastructure
|
package org.domaindrivenarchitecture.provs.server.infrastructure
|
||||||
|
|
||||||
import org.domaindrivenarchitecture.provs.framework.core.Secret
|
|
||||||
import org.domaindrivenarchitecture.provs.framework.core.local
|
import org.domaindrivenarchitecture.provs.framework.core.local
|
||||||
import org.domaindrivenarchitecture.provs.framework.core.remote
|
import org.domaindrivenarchitecture.provs.framework.core.remote
|
||||||
import org.domaindrivenarchitecture.provs.framework.ubuntu.filesystem.base.createDir
|
|
||||||
import org.domaindrivenarchitecture.provs.framework.ubuntu.filesystem.base.createSecretFile
|
|
||||||
import org.domaindrivenarchitecture.provs.framework.ubuntu.secret.secretSources.PromptSecretSource
|
|
||||||
import org.domaindrivenarchitecture.provs.server.domain.k3s.K3sConfig
|
import org.domaindrivenarchitecture.provs.server.domain.k3s.K3sConfig
|
||||||
import org.domaindrivenarchitecture.provs.server.domain.k3s.Node
|
import org.domaindrivenarchitecture.provs.server.domain.k3s.Node
|
||||||
import org.domaindrivenarchitecture.provs.server.domain.k3s.provisionK3s
|
import org.domaindrivenarchitecture.provs.server.domain.k3s.provisionK3s
|
||||||
|
@ -14,6 +10,7 @@ import org.junit.jupiter.api.Disabled
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
import java.lang.Thread.sleep
|
import java.lang.Thread.sleep
|
||||||
|
|
||||||
|
|
||||||
class K3sKtTest {
|
class K3sKtTest {
|
||||||
|
|
||||||
@Test // Extensive test, takes several minutes
|
@Test // Extensive test, takes several minutes
|
||||||
|
|
Loading…
Reference in a new issue