Skip to content

Commit ff42a34

Browse files
committed
refactor: use deployment context as source of truth in tool config mappers
1 parent fdd4aca commit ff42a34

6 files changed

Lines changed: 20 additions & 17 deletions

File tree

‎src/main/java/com/cloudogu/gitops/tools/MonitoringToolConfigMapper.java‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,19 +41,19 @@ public MonitoringToolConfig map(DeploymentContext context) {
4141
.jenkinsActive(config.getJenkins().getActive())
4242
.helm(ToolConfigMapperSupport.helmChart(monitoring.getHelm(), config.getApplication().getLocalHelmChartFolder()))
4343
.imagePullSecret(ToolConfigMapperSupport.imagePullSecret(config.getRegistry()))
44-
.templateConfig(templateConfig(config))
44+
.templateConfig(templateConfig(config, context))
4545
.build();
4646
}
4747

48-
private static Map<String, Object> templateConfig(Config config) {
48+
private static Map<String, Object> templateConfig(Config config, DeploymentContext context) {
4949
Config.MonitoringSchema.MonitoringHelmSchema helm = config.getFeatures().getMonitoring().getHelm();
5050
String scmManagerNamespace = config.getScm() == null || config.getScm().getScmManager() == null
5151
? "scm-manager"
5252
: config.getScm().getScmManager().getNamespace();
5353
return new TemplateConfig()
5454
.put("application.namePrefix", config.getApplication().getNamePrefix())
5555
.put("application.namespaceIsolation", config.getApplication().getNamespaceIsolation())
56-
.put("application.openshift", config.getApplication().getOpenshift())
56+
.put("application.openshift", context.isOpenshift())
5757
.put("application.podResources", config.getApplication().getPodResources())
5858
.put("application.skipCrds", config.getApplication().getSkipCrds())
5959
.put("application.password", config.getApplication().getPassword())

‎src/main/java/com/cloudogu/gitops/tools/VaultToolConfigMapper.java‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,15 @@ public VaultToolConfig map(DeploymentContext context) {
2626
secrets.getVault().getHelm(), config.getApplication().getLocalHelmChartFolder()
2727
))
2828
.imagePullSecret(ToolConfigMapperSupport.imagePullSecret(config.getRegistry()))
29-
.templateConfig(templateConfig(config))
29+
.templateConfig(templateConfig(config, context))
3030
.build();
3131
}
3232

33-
private static Map<String, Object> templateConfig(Config config) {
33+
private static Map<String, Object> templateConfig(Config config, DeploymentContext context) {
3434
return new TemplateConfig()
3535
.put("application.namePrefix", config.getApplication().getNamePrefix())
3636
.put("application.namespaceIsolation", config.getApplication().getNamespaceIsolation())
37-
.put("application.openshift", config.getApplication().getOpenshift())
37+
.put("application.openshift", context.isOpenshift())
3838
.put("application.password", config.getApplication().getPassword())
3939
.put("application.podResources", config.getApplication().getPodResources())
4040
.put("application.username", config.getApplication().getUsername())

‎src/main/java/com/cloudogu/gitops/tools/core/argocd/ArgoCDToolConfigMapper.java‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,30 +37,30 @@ public ArgoCDToolConfig map(DeploymentContext context) {
3737
.centralNamespace(config.getMultiTenant().getCentralArgocdNamespace())
3838
.clusterAdmin(config.getApplication().getClusterAdmin())
3939
.scmProviderType(config.getScm().getScmProviderType())
40-
.templateConfig(templateConfig(config))
41-
.rbacTemplateConfig(rbacTemplateConfig(config))
40+
.templateConfig(templateConfig(config, context))
41+
.rbacTemplateConfig(rbacTemplateConfig(config, context))
4242
.build();
4343
}
4444

45-
private static Map<String, Object> rbacTemplateConfig(Config config) {
45+
private static Map<String, Object> rbacTemplateConfig(Config config, DeploymentContext context) {
4646
return new TemplateConfig()
47-
.put("application.openshift", config.getApplication().getOpenshift())
47+
.put("application.openshift", context.isOpenshift())
4848
.put("features.monitoring.active", config.getFeatures().getMonitoring().getActive())
4949
.put("features.secrets.active", config.getFeatures().getSecrets().getActive())
5050
.values();
5151
}
5252

53-
private static Map<String, Object> templateConfig(Config config) {
53+
private static Map<String, Object> templateConfig(Config config, DeploymentContext context) {
5454
String scmManagerNamespace = config.getScm() == null || config.getScm().getScmManager() == null
5555
? "scm-manager"
5656
: config.getScm().getScmManager().getNamespace();
5757
return new TemplateConfig()
5858
.put("application.clusterAdmin", config.getApplication().getClusterAdmin())
5959
.put("application.insecure", config.getApplication().getInsecure())
60-
.put("application.mirrorRepos", config.getApplication().getMirrorRepos())
60+
.put("application.mirrorRepos", context.isAirgapped())
6161
.put("application.namePrefix", config.getApplication().getNamePrefix())
6262
.put("application.netpols", config.getApplication().getNetpols())
63-
.put("application.openshift", config.getApplication().getOpenshift())
63+
.put("application.openshift", context.isOpenshift())
6464
.put("application.skipCrds", config.getApplication().getSkipCrds())
6565
.put(
6666
"content.helmReleases",

‎src/test/groovy/com/cloudogu/gitops/tools/MonitoringToolConfigMapperTest.groovy‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ class MonitoringToolConfigMapperTest {
2222
config.application.namespaceIsolation = true
2323
config.application.netpols = true
2424
config.application.skipCrds = true
25-
config.application.openshift = true
25+
// Intentionally differs from the DeploymentContext to verify derived values come from the context.
26+
config.application.openshift = false
2627
config.application.podResources = true
2728
config.application.password = 'application-password'
2829
config.application.username = 'application-user'

‎src/test/groovy/com/cloudogu/gitops/tools/VaultToolConfigMapperTest.groovy‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,8 @@ class VaultToolConfigMapperTest {
9494
config.application.namePrefix = 'test-'
9595
config.application.localHelmChartFolder = '/charts'
9696
config.application.namespaceIsolation = true
97-
config.application.openshift = true
97+
// Intentionally differs from the DeploymentContext to verify derived values come from the context.
98+
config.application.openshift = false
9899
config.application.password = 'application-password'
99100
config.application.podResources = true
100101
config.application.username = 'application-user'

‎src/test/groovy/com/cloudogu/gitops/tools/core/argocd/ArgoCDToolConfigMapperTest.groovy‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,9 @@ class ArgoCDToolConfigMapperTest {
2020
config.application.netpols = true
2121
config.application.clusterAdmin = true
2222
config.application.insecure = true
23-
config.application.mirrorRepos = true
24-
config.application.openshift = true
23+
// Intentionally differs from the DeploymentContext to verify derived values come from the context.
24+
config.application.mirrorRepos = false
25+
config.application.openshift = false
2526
config.application.skipCrds = true
2627
config.features.argocd.active = true
2728
config.features.argocd.namespace = 'gitops'

0 commit comments

Comments
 (0)