diff --git a/config/resource/src/main/java/io/jshift/kit/config/resource/ConfigMap.java b/config/resource/src/main/java/io/jshift/kit/config/resource/ConfigMap.java index 8ea80f3..cc52f5c 100644 --- a/config/resource/src/main/java/io/jshift/kit/config/resource/ConfigMap.java +++ b/config/resource/src/main/java/io/jshift/kit/config/resource/ConfigMap.java @@ -5,6 +5,7 @@ public class ConfigMap { + private String name; private List entries = new ArrayList<>(); public void addEntry(ConfigMapEntry configMapEntry) { @@ -14,5 +15,22 @@ public void addEntry(ConfigMapEntry configMapEntry) { public List getEntries() { return entries; } + + /** + * Set the name of ConfigMap. + * @param name + */ + public void setName(String name) { + this.name = name; + } + + /** + * Return the name of ConfigMap. + * @return + */ + public String getName() { + return name; + } } + diff --git a/enricher/generic/src/main/java/io/jshift/enricher/generic/ConfigMapEnricher.java b/enricher/generic/src/main/java/io/jshift/enricher/generic/ConfigMapEnricher.java index 3f820ba..58a80ed 100644 --- a/enricher/generic/src/main/java/io/jshift/enricher/generic/ConfigMapEnricher.java +++ b/enricher/generic/src/main/java/io/jshift/enricher/generic/ConfigMapEnricher.java @@ -89,13 +89,16 @@ private String getOutput(String key) { } private void addConfigMapFromXmlConfigurations(KubernetesListBuilder builder) { - ConfigMap configMap = getConfigMapFromXmlConfiguration(); + io.jshift.kit.config.resource.ConfigMap configMap = getConfigMapFromXmlConfiguration(); final Map configMapFromConfiguration; try { configMapFromConfiguration = createConfigMapFromConfiguration(configMap); - if(!configMapFromConfiguration.isEmpty() && !checkIfItemExists(builder, "xmlconfig")) { + String configMapName = (configMap == null || configMap.getName() == null || configMap.getName().trim().isEmpty()) ? "xmlconfig" : configMap.getName().trim(); + log.debug("configMapName :: ".concat(configMapName)); + + if(!configMapFromConfiguration.isEmpty() && !checkIfItemExists(builder, configMapName)) { ConfigMapBuilder element = new ConfigMapBuilder(); - element.withNewMetadata().withName("xmlconfig").endMetadata(); + element.withNewMetadata().withName(configMapName).endMetadata(); element.addToData(configMapFromConfiguration); builder.addToConfigMapItems(element.build()); @@ -106,7 +109,7 @@ private void addConfigMapFromXmlConfigurations(KubernetesListBuilder builder) { } private boolean checkIfItemExists(KubernetesListBuilder builder, String name) { - return builder.buildItems().stream().anyMatch(item -> item.getMetadata().getName().equals(name)); + return builder.buildItems().stream().filter(item -> item.getKind().equals("ConfigMap")).anyMatch(item -> item.getMetadata().getName().equals(name)); } private ConfigMap getConfigMapFromXmlConfiguration() { @@ -117,7 +120,7 @@ private ConfigMap getConfigMapFromXmlConfiguration() { return null; } - private Map createConfigMapFromConfiguration(ConfigMap configMap) throws IOException { + private Map createConfigMapFromConfiguration(io.jshift.kit.config.resource.ConfigMap configMap) throws IOException { final Map configMapData = new HashMap<>(); if (configMap != null) {