diff --git a/src/main/kotlin/org/domaindrivenarchitecture/provs/configuration/domain/ConfigFileName.kt b/src/main/kotlin/org/domaindrivenarchitecture/provs/configuration/domain/ConfigFileName.kt index 0ca0cee..7c3de6e 100644 --- a/src/main/kotlin/org/domaindrivenarchitecture/provs/configuration/domain/ConfigFileName.kt +++ b/src/main/kotlin/org/domaindrivenarchitecture/provs/configuration/domain/ConfigFileName.kt @@ -1,6 +1,11 @@ package org.domaindrivenarchitecture.provs.configuration.domain +import java.io.File + class ConfigFileName(fileName: String) { val fileName = fileName.trim() + fun fullqualified() : String { + return File(fileName).absoluteFile.absolutePath + } } diff --git a/src/main/kotlin/org/domaindrivenarchitecture/provs/server/domain/k3s/ConfigFileRepository.kt b/src/main/kotlin/org/domaindrivenarchitecture/provs/configuration/domain/ConfigFileRepository.kt similarity index 58% rename from src/main/kotlin/org/domaindrivenarchitecture/provs/server/domain/k3s/ConfigFileRepository.kt rename to src/main/kotlin/org/domaindrivenarchitecture/provs/configuration/domain/ConfigFileRepository.kt index 029f6c9..49232e4 100644 --- a/src/main/kotlin/org/domaindrivenarchitecture/provs/server/domain/k3s/ConfigFileRepository.kt +++ b/src/main/kotlin/org/domaindrivenarchitecture/provs/configuration/domain/ConfigFileRepository.kt @@ -1,4 +1,4 @@ -package org.domaindrivenarchitecture.provs.server.domain.k3s +package org.domaindrivenarchitecture.provs.configuration.domain interface ConfigFileRepository { fun assertExists(configFileName: ConfigFileName?) diff --git a/src/main/kotlin/org/domaindrivenarchitecture/provs/configuration/infrastructure/DefaultConfigFileRepository.kt b/src/main/kotlin/org/domaindrivenarchitecture/provs/configuration/infrastructure/DefaultConfigFileRepository.kt new file mode 100644 index 0000000..a228ec1 --- /dev/null +++ b/src/main/kotlin/org/domaindrivenarchitecture/provs/configuration/infrastructure/DefaultConfigFileRepository.kt @@ -0,0 +1,14 @@ +package org.domaindrivenarchitecture.provs.configuration.infrastructure + +import org.domaindrivenarchitecture.provs.framework.ubuntu.filesystem.base.checkLocalFile +import org.domaindrivenarchitecture.provs.configuration.domain.ConfigFileName +import org.domaindrivenarchitecture.provs.configuration.domain.ConfigFileRepository + +class DefaultConfigFileRepository : ConfigFileRepository { + + override fun assertExists(configFileName: ConfigFileName?) { + if (configFileName != null && !checkLocalFile(configFileName.fullqualified())) { + throw RuntimeException("Application file ${configFileName.fileName} not found. Please check if path is correct.") + } + } +} diff --git a/src/main/kotlin/org/domaindrivenarchitecture/provs/server/domain/k3s/ConfigFileName.kt b/src/main/kotlin/org/domaindrivenarchitecture/provs/server/domain/k3s/ConfigFileName.kt deleted file mode 100644 index d716f5b..0000000 --- a/src/main/kotlin/org/domaindrivenarchitecture/provs/server/domain/k3s/ConfigFileName.kt +++ /dev/null @@ -1,9 +0,0 @@ -package org.domaindrivenarchitecture.provs.server.domain.k3s - -import java.io.File - -data class ConfigFileName(val fileName: String) { - fun fullqualified() : String { - return File(fileName).absoluteFile.absolutePath - } -} \ No newline at end of file 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..a65c5f6 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 @@ -1,5 +1,6 @@ package org.domaindrivenarchitecture.provs.server.domain.k3s +import org.domaindrivenarchitecture.provs.configuration.infrastructure.DefaultConfigFileRepository import org.domaindrivenarchitecture.provs.framework.core.Prov import org.domaindrivenarchitecture.provs.server.domain.k8s_grafana_agent.GrafanaAgentConfigResolved import org.domaindrivenarchitecture.provs.server.domain.k8s_grafana_agent.provisionGrafanaAgent @@ -14,6 +15,7 @@ fun Prov.provisionK3sCommand(cli: K3sCliCommand) = task { if (cli.onlyModules == null ) { val k3sConfig: K3sConfig = getK3sConfig(cli.configFileName) DefaultApplicationFileRepository().assertExists(cli.applicationFileName) + DefaultConfigFileRepository().assertExists(cli.configFileName) if (cli.reprovision || k3sConfig.reprovision) { deprovisionK3sInfra()