Skip to content
This repository has been archived by the owner on Jun 19, 2024. It is now read-only.

Added support to choose configMap name #1636

Merged
merged 10 commits into from
May 24, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ After this we will switch probably to real [Semantic Versioning 2.0.0](http://se
### 4.1-SNAPSHOT
* Update Docker Maven Plugin to 0.29.0
* Fix 1632: imagePullPolicy configuration fixed as per documentation
* Fix #1591: Add support for custom resources creation via resource fragments
* Fix 1591: Add support for custom resources creation via resource fragments
* Fix 1636: Added support to choose configMap name

### 4.1.0 (16-02-2019)
* Fix 1578: Fmp is generating ImageChange triggers in the DeploymentConfig
Expand Down
17 changes: 17 additions & 0 deletions core/src/main/java/io/fabric8/maven/core/config/ConfigMap.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@

public class ConfigMap {

private String name;
private List<ConfigMapEntry> entries = new ArrayList<>();

public void addEntry(ConfigMapEntry configMapEntry) {
Expand All @@ -29,4 +30,20 @@ public void addEntry(ConfigMapEntry configMapEntry) {
public List<ConfigMapEntry> 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;
}
}
2 changes: 2 additions & 0 deletions doc/src/main/asciidoc/inc/_enricher.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -1036,6 +1036,7 @@ As XML you can define:
<configuration>
<resources>
<configMap>
<name>myconfigmap</name>
<entries>
<entry>
<name>A</name>
Expand All @@ -1056,6 +1057,7 @@ You can also use `file` tag to refer to the content of a file.
<configuration>
<resources>
<configMap>
<name>configmap-test</name>
<entries>
<entry>
<file>src/test/resources/test-application.properties</file>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import io.fabric8.maven.core.config.PlatformMode;
import io.fabric8.maven.enricher.api.BaseEnricher;
import io.fabric8.maven.enricher.api.MavenEnricherContext;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
Expand Down Expand Up @@ -91,9 +92,12 @@ private void addConfigMapFromXmlConfigurations(KubernetesListBuilder builder) {
final Map<String, String> 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());
Expand All @@ -104,7 +108,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 io.fabric8.maven.core.config.ConfigMap getConfigMapFromXmlConfiguration() {
Expand Down
2 changes: 1 addition & 1 deletion it/src/it/configmap/expected/kubernetes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ items:
provider: fabric8
version: 3.5-SNAPSHOT
group: io.fabric8
name: xmlconfig
name: fabric8-maven-sample-config-map
data:
A: B
- apiVersion: apps/v1
Expand Down
2 changes: 1 addition & 1 deletion it/src/it/configmap/expected/openshift.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ items:
provider: fabric8
version: 3.5-SNAPSHOT
group: io.fabric8
name: xmlconfig
name: fabric8-maven-sample-config-map
data:
A: B
- apiVersion: apps.openshift.io/v1
Expand Down
1 change: 1 addition & 0 deletions it/src/it/configmap/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@
<configuration>
<resources>
<configMap>
<name>fabric8-maven-sample-config-map</name>
<entries>
<entry>
<name>A</name>
Expand Down