Skip to content
Snippets Groups Projects
Commit 79bbcb9c authored by Sören Henning's avatar Sören Henning
Browse files

Fix error when ommiting files property in ResourceSets

parent 25380581
No related branches found
No related tags found
No related merge requests found
Pipeline #7082 passed
...@@ -13,7 +13,7 @@ import java.lang.IllegalArgumentException ...@@ -13,7 +13,7 @@ import java.lang.IllegalArgumentException
@JsonDeserialize @JsonDeserialize
class ConfigMapResourceSet : ResourceSet, KubernetesResource { class ConfigMapResourceSet : ResourceSet, KubernetesResource {
lateinit var name: String lateinit var name: String
lateinit var files: List<String> // load all files, iff files is not set var files: List<String>? = null // load all files, iff files is not set
override fun getResourceSet(client: NamespacedKubernetesClient): Collection<Pair<String, HasMetadata>> { override fun getResourceSet(client: NamespacedKubernetesClient): Collection<Pair<String, HasMetadata>> {
var resources: Map<String, String> var resources: Map<String, String>
...@@ -29,9 +29,9 @@ class ConfigMapResourceSet : ResourceSet, KubernetesResource { ...@@ -29,9 +29,9 @@ class ConfigMapResourceSet : ResourceSet, KubernetesResource {
throw DeploymentFailedException("Cannot find or read ConfigMap with name '$name'.", e) throw DeploymentFailedException("Cannot find or read ConfigMap with name '$name'.", e)
} }
if (::files.isInitialized) { files?.run {
val filteredResources = resources.filter { files.contains(it.key) } val filteredResources = resources.filter { this.contains(it.key) }
if (filteredResources.size != files.size) { if (filteredResources.size != this.size) {
throw DeploymentFailedException("Could not find all specified Kubernetes manifests files") throw DeploymentFailedException("Could not find all specified Kubernetes manifests files")
} }
resources = filteredResources resources = filteredResources
... ...
......
...@@ -21,17 +21,16 @@ import kotlin.io.path.listDirectoryEntries ...@@ -21,17 +21,16 @@ import kotlin.io.path.listDirectoryEntries
@JsonDeserialize @JsonDeserialize
class FileSystemResourceSet: ResourceSet, KubernetesResource { class FileSystemResourceSet: ResourceSet, KubernetesResource {
lateinit var path: String lateinit var path: String
lateinit var files: List<String> var files: List<String>? = null
override fun getResourceSet(client: NamespacedKubernetesClient): Collection<Pair<String, HasMetadata>> { override fun getResourceSet(client: NamespacedKubernetesClient): Collection<Pair<String, HasMetadata>> {
// if files is set ... // if files is set ...
if(::files.isInitialized){ return files?.run {
return files return this
.map { Paths.get(path, it) } .map { Paths.get(path, it) }
.map { loadSingleResource(resource = it, client = client) } .map { loadSingleResource(resource = it, client = client) }
} } ?:
try {
return try {
Paths.get(path) Paths.get(path)
.listDirectoryEntries() .listDirectoryEntries()
.filter { it.toString().endsWith(".yaml") || it.toString().endsWith(".yml") } .filter { it.toString().endsWith(".yaml") || it.toString().endsWith(".yml") }
... ...
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment