Skip to content

Commit

Permalink
Update ingressType
Browse files Browse the repository at this point in the history
  • Loading branch information
Yevhen Ivantsov committed Nov 27, 2023
1 parent fef9d74 commit 455b4b8
Show file tree
Hide file tree
Showing 12 changed files with 49 additions and 59 deletions.
5 changes: 1 addition & 4 deletions src/main/charts/bamboo/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,7 @@
"imageTag": {{ if or (eq .Values.image.tag "") (eq .Values.image.tag nil) }}{{ .Chart.AppVersion | quote }}{{ else }}{{ regexSplit "-" .Values.image.tag -1 | first | quote }}{{ end }},
"replicas": {{ .Values.replicaCount }},
"isJmxEnabled": {{ .Values.monitoring.exposeJmxMetrics }},
"isIngressEnabled": {{ .Values.ingress.create }},
{{- if .Values.ingress.create }}
"isIngressNginx": {{ .Values.ingress.nginx }},
{{- end }}
"ingressType": {{ if not .Values.ingress.create }}"NONE"{{ else }}{{ if .Values.ingress.nginx }}"NGINX"{{ else }}"OTHER"{{ end }}{{ end }},
{{- $sanitizedMinorVersion := regexReplaceAll "[^0-9]" .Capabilities.KubeVersion.Minor "" }}
"k8sVersion": "{{ .Capabilities.KubeVersion.Major }}.{{ $sanitizedMinorVersion }}",
"serviceType": {{ if regexMatch "^(ClusterIP|NodePort|LoadBalancer|ExternalName)$" .Values.bamboo.service.type }}{{ .Values.bamboo.service.type | upper | quote }}{{ else }}"UNKNOWN"{{ end }},
Expand Down
5 changes: 1 addition & 4 deletions src/main/charts/bitbucket/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,7 @@
"imageTag": {{ if or (eq .Values.image.tag "") (eq .Values.image.tag nil) }}{{ .Chart.AppVersion | quote }}{{ else }}{{ regexSplit "-" .Values.image.tag -1 | first | quote }}{{ end }},
"replicas": {{ .Values.replicaCount }},
"isJmxEnabled": {{ .Values.monitoring.exposeJmxMetrics }},
"isIngressEnabled": {{ .Values.ingress.create }},
{{- if .Values.ingress.create }}
"isIngressNginx": {{ .Values.ingress.nginx }},
{{- end }}
"ingressType": {{ if not .Values.ingress.create }}"NONE"{{ else }}{{ if .Values.ingress.nginx }}"NGINX"{{ else }}"OTHER"{{ end }}{{ end }},
{{- $sanitizedMinorVersion := regexReplaceAll "[^0-9]" .Capabilities.KubeVersion.Minor "" }}
"k8sVersion": "{{ .Capabilities.KubeVersion.Major }}.{{ $sanitizedMinorVersion }}",
"serviceType": {{ if regexMatch "^(ClusterIP|NodePort|LoadBalancer|ExternalName)$" .Values.bitbucket.service.type }}{{ .Values.bitbucket.service.type | upper | quote }}{{ else }}"UNKNOWN"{{ end }},
Expand Down
5 changes: 1 addition & 4 deletions src/main/charts/confluence/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,7 @@
"imageTag": {{ if or (eq .Values.image.tag "") (eq .Values.image.tag nil) }}{{ .Chart.AppVersion | quote }}{{ else }}{{ regexSplit "-" .Values.image.tag -1 | first | quote }}{{ end }},
"replicas": {{ .Values.replicaCount }},
"isJmxEnabled": {{ .Values.monitoring.exposeJmxMetrics }},
"isIngressEnabled": {{ .Values.ingress.create }},
{{- if .Values.ingress.create }}
"isIngressNginx": {{ .Values.ingress.nginx }},
{{- end }}
"ingressType": {{ if not .Values.ingress.create }}"NONE"{{ else }}{{ if .Values.ingress.nginx }}"NGINX"{{ else }}"OTHER"{{ end }}{{ end }},
{{- $sanitizedMinorVersion := regexReplaceAll "[^0-9]" .Capabilities.KubeVersion.Minor "" }}
"k8sVersion": "{{ .Capabilities.KubeVersion.Major }}.{{ $sanitizedMinorVersion }}",
"serviceType": {{ if regexMatch "^(ClusterIP|NodePort|LoadBalancer|ExternalName)$" .Values.confluence.service.type }}{{ .Values.confluence.service.type | upper | quote }}{{ else }}"UNKNOWN"{{ end }},
Expand Down
5 changes: 1 addition & 4 deletions src/main/charts/crowd/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,7 @@
"imageTag": {{ if or (eq .Values.image.tag "") (eq .Values.image.tag nil) }}{{ .Chart.AppVersion | quote }}{{ else }}{{ regexSplit "-" .Values.image.tag -1 | first | quote }}{{ end }},
"replicas": {{ .Values.replicaCount }},
"isJmxEnabled": {{ .Values.monitoring.exposeJmxMetrics }},
"isIngressEnabled": {{ .Values.ingress.create }},
{{- if .Values.ingress.create }}
"isIngressNginx": {{ .Values.ingress.nginx }},
{{- end }}
"ingressType": {{ if not .Values.ingress.create }}"NONE"{{ else }}{{ if .Values.ingress.nginx }}"NGINX"{{ else }}"OTHER"{{ end }}{{ end }},
{{- $sanitizedMinorVersion := regexReplaceAll "[^0-9]" .Capabilities.KubeVersion.Minor "" }}
"k8sVersion": "{{ .Capabilities.KubeVersion.Major }}.{{ $sanitizedMinorVersion }}",
"serviceType": {{ if regexMatch "^(ClusterIP|NodePort|LoadBalancer|ExternalName)$" .Values.crowd.service.type }}{{ .Values.crowd.service.type | upper | quote }}{{ else }}"UNKNOWN"{{ end }},
Expand Down
5 changes: 1 addition & 4 deletions src/main/charts/jira/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,7 @@
"imageTag": {{ if or (eq .Values.image.tag "") (eq .Values.image.tag nil) }}{{ .Chart.AppVersion | quote }}{{ else }}{{ regexSplit "-" .Values.image.tag -1 | first | quote }}{{ end }},
"replicas": {{ .Values.replicaCount }},
"isJmxEnabled": {{ .Values.monitoring.exposeJmxMetrics }},
"isIngressEnabled": {{ .Values.ingress.create }},
{{- if .Values.ingress.create }}
"isIngressNginx": {{ .Values.ingress.nginx }},
{{- end }}
"ingressType": {{ if not .Values.ingress.create }}"NONE"{{ else }}{{ if .Values.ingress.nginx }}"NGINX"{{ else }}"OTHER"{{ end }}{{ end }},
{{- $sanitizedMinorVersion := regexReplaceAll "[^0-9]" .Capabilities.KubeVersion.Minor "" }}
"k8sVersion": "{{ .Capabilities.KubeVersion.Major }}.{{ $sanitizedMinorVersion }}",
"isS3AvatarsEnabled": {{ if and .Values.jira.s3Storage.avatars.bucketName .Values.jira.s3Storage.avatars.bucketRegion }}true{{ else }}false{{ end }},
Expand Down
30 changes: 26 additions & 4 deletions src/test/java/test/HelmValuesAndAnalyticsTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ void analytics_json_defaults(Product product) throws Exception {
AnalyticsData analyticsData = objectMapper.readValue(analyticsJson, AnalyticsData.class);
assertNotNull(analyticsData.getImageTag());
assertEquals(1, analyticsData.getReplicas());
assertFalse(analyticsData.isIngressEnabled());
assertEquals("NONE", analyticsData.getIngressType());
assertEquals("UNKNOWN", analyticsData.getDbType());
assertEquals("CLUSTERIP", analyticsData.getServiceType());
assertFalse(analyticsData.isGrafanaDashboardsCreated());
Expand All @@ -150,7 +150,6 @@ void analytics_json_defaults(Product product) throws Exception {
@EnumSource(value = Product.class, names = {"bamboo_agent"}, mode = EnumSource.Mode.EXCLUDE)
void analytics_json_booleans(Product product) throws Exception {
final var resources = helm.captureKubeResourcesFromHelmChart(product, Map.of(
"ingress.create", "true",
"monitoring.serviceMonitor.create", "true",
"monitoring.grafana.createDashboards", "true",
"monitoring.exposeJmxMetrics", "true",
Expand All @@ -159,8 +158,6 @@ void analytics_json_booleans(Product product) throws Exception {
String analyticsJson = resources.get(Kind.ConfigMap, product.getHelmReleaseName() + "-helm-values").getConfigMapData().get("analytics.json").asText();
ObjectMapper objectMapper = new ObjectMapper();
AnalyticsData analyticsData = objectMapper.readValue(analyticsJson, AnalyticsData.class);
assertTrue(analyticsData.isIngressEnabled());
assertTrue(analyticsData.isIngressNginx());
assertTrue(analyticsData.isGrafanaDashboardsCreated());
assertTrue(analyticsData.isServiceMonitorCreated());
assertTrue(analyticsData.isJmxEnabled());
Expand Down Expand Up @@ -248,6 +245,31 @@ void analytics_json_unknown_service_types(Product product) throws Exception {
}
}

@ParameterizedTest
@EnumSource(value = Product.class, names = {"bamboo_agent"}, mode = EnumSource.Mode.EXCLUDE)
void analytics_json_nginx_ingress_type(Product product) throws Exception {
final var resources = helm.captureKubeResourcesFromHelmChart(product, Map.of(
"ingress.create", "true"
));
String analyticsJson = resources.get(Kind.ConfigMap, product.getHelmReleaseName() + "-helm-values").getConfigMapData().get("analytics.json").asText();
ObjectMapper objectMapper = new ObjectMapper();
AnalyticsData analyticsData = objectMapper.readValue(analyticsJson, AnalyticsData.class);
assertEquals("NGINX", analyticsData.getIngressType());
}

@ParameterizedTest
@EnumSource(value = Product.class, names = {"bamboo_agent"}, mode = EnumSource.Mode.EXCLUDE)
void analytics_json_non_nginx_ingress_type(Product product) throws Exception {
final var resources = helm.captureKubeResourcesFromHelmChart(product, Map.of(
"ingress.create", "true",
"ingress.nginx", "false"
));
String analyticsJson = resources.get(Kind.ConfigMap, product.getHelmReleaseName() + "-helm-values").getConfigMapData().get("analytics.json").asText();
ObjectMapper objectMapper = new ObjectMapper();
AnalyticsData analyticsData = objectMapper.readValue(analyticsJson, AnalyticsData.class);
assertEquals("OTHER", analyticsData.getIngressType());
}

@ParameterizedTest
@EnumSource(value = Product.class, names = {"bamboo_agent"}, mode = EnumSource.Mode.EXCLUDE)
void analytics_json_image_tag(Product product) throws Exception {
Expand Down
38 changes: 13 additions & 25 deletions src/test/java/test/model/AnalyticsData.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,6 @@ public class AnalyticsData {
@JsonProperty("isJmxEnabled")
private boolean isJmxEnabled;

@JsonProperty("isIngressEnabled")
private boolean isIngressEnabled;

@JsonProperty("isIngressNginx")
private boolean isIngressNginx;

@JsonProperty("k8sVersion")
private String k8sVersion;

Expand All @@ -26,6 +20,9 @@ public class AnalyticsData {
@JsonProperty("dbType")
private String dbType;

@JsonProperty("ingressType")
private String ingressType;

@JsonProperty("isS3AttachmentsStorageEnabled")
private boolean isS3AttachmentsStorageEnabled;

Expand Down Expand Up @@ -55,6 +52,14 @@ public void setImageTag(String imageTag) {
this.imageTag = imageTag;
}

public String getIngressType() {
return ingressType;
}

public void setIngressType(String ingressType) {
this.ingressType = ingressType;
}

public int getReplicas() {
return replicas;
}
Expand All @@ -71,22 +76,6 @@ public void setJmxEnabled(boolean jmxEnabled) {
isJmxEnabled = jmxEnabled;
}

public boolean isIngressEnabled() {
return isIngressEnabled;
}

public void setIngressEnabled(boolean ingressEnabled) {
isIngressEnabled = ingressEnabled;
}

public boolean isIngressNginx() {
return isIngressNginx;
}

public void setIngressNginx(boolean ingressNginx) {
isIngressNginx = ingressNginx;
}

public String getK8sVersion() {
return k8sVersion;
}
Expand Down Expand Up @@ -169,12 +158,11 @@ public void setGrafanaDashboardsCreated(boolean grafanaDashboardsCreated) {
public AnalyticsData() {
}

public AnalyticsData(String imageTag, int replicas, boolean isJmxEnabled, boolean isIngressEnabled, boolean isIngressNginx, String k8sVersion, String serviceType, String dbType, boolean isS3AttachmentsStorageEnabled, boolean isS3AvatarsEnabled, boolean isClusteringEnabled, boolean isSharedHomePVCCreated, boolean isBitbucketMeshEnabled, boolean isServiceMonitorCreated, boolean isGrafanaDashboardsCreated) {
public AnalyticsData(String imageTag, int replicas, boolean isJmxEnabled, String ingressType, String k8sVersion, String serviceType, String dbType, boolean isS3AttachmentsStorageEnabled, boolean isS3AvatarsEnabled, boolean isClusteringEnabled, boolean isSharedHomePVCCreated, boolean isBitbucketMeshEnabled, boolean isServiceMonitorCreated, boolean isGrafanaDashboardsCreated) {
this.imageTag = imageTag;
this.replicas = replicas;
this.isJmxEnabled = isJmxEnabled;
this.isIngressEnabled = isIngressEnabled;
this.isIngressNginx = isIngressNginx;
this.ingressType = ingressType;
this.k8sVersion = k8sVersion;
this.serviceType = serviceType;
this.dbType = dbType;
Expand Down
3 changes: 1 addition & 2 deletions src/test/resources/expected_helm_output/bamboo/output.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -286,8 +286,7 @@ data:
{
"imageTag": "9.4.1",
"replicas": 1,
"isJmxEnabled": true,
"isIngressEnabled": false,
"ingressType": "NONE",
"k8sVersion": "1.24",
"serviceType": "CLUSTERIP",
"dbType": "UNKNOWN",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -375,8 +375,7 @@ data:
{
"imageTag": "8.9.7",
"replicas": 1,
"isJmxEnabled": true,
"isIngressEnabled": false,
"ingressType": "NONE",
"k8sVersion": "1.24",
"serviceType": "CLUSTERIP",
"dbType": "UNKNOWN",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -367,8 +367,7 @@ data:
{
"imageTag": "8.5.3",
"replicas": 1,
"isJmxEnabled": true,
"isIngressEnabled": false,
"ingressType": "NONE",
"k8sVersion": "1.24",
"serviceType": "CLUSTERIP",
"dbType": "UNKNOWN",
Expand Down
3 changes: 1 addition & 2 deletions src/test/resources/expected_helm_output/crowd/output.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -256,8 +256,7 @@ data:
{
"imageTag": "5.2.1",
"replicas": 1,
"isJmxEnabled": true,
"isIngressEnabled": false,
"ingressType": "NONE",
"k8sVersion": "1.24",
"serviceType": "CLUSTERIP",
"dbType": "UNKNOWN",
Expand Down
3 changes: 1 addition & 2 deletions src/test/resources/expected_helm_output/jira/output.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -293,8 +293,7 @@ data:
{
"imageTag": "9.4.12",
"replicas": 1,
"isJmxEnabled": true,
"isIngressEnabled": false,
"ingressType": "NONE",
"k8sVersion": "1.24",
"isS3AvatarsEnabled": false,
"serviceType": "CLUSTERIP",
Expand Down

0 comments on commit 455b4b8

Please sign in to comment.