From 5c685b9a45ef2c852325fe07bb56e4ba96cb0b45 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Wed, 30 Nov 2022 16:34:41 +0100
Subject: [PATCH] OZG-3184 impl conditional cert issuer

---
 src/main/helm/README.md              | 11 +++++++++++
 src/main/helm/templates/ingress.yaml |  4 ++++
 src/test/helm/ingress_test.yaml      | 21 +++++++++++++++++++++
 3 files changed, 36 insertions(+)

diff --git a/src/main/helm/README.md b/src/main/helm/README.md
index 06d30da3f..a5f2ffa71 100644
--- a/src/main/helm/README.md
+++ b/src/main/helm/README.md
@@ -1,24 +1,35 @@
 # Helm
+
 ## Linter
+
 `helm lint -f test-values.yaml`
+
 ## Unit-Tests
+
 Für Unit-Tests wird das helm [helm-unittest](https://github.com/quintush/helm-unittest) plugin benötigt. Die Unit-Tests liegen im Verzeichnis src/test/helm
 
 `helm unittest -f '../../test/helm/*.yaml' .`
+
 ## SyntaxCheck
+
 `helm template --debug -f test-values.yaml .`
 
 ## Package
+
 `helm package --version=[version] .`
 
 ## Versionierung
+
 Jenkins verwendet die Version aus der pom.xml
 
 ### Master Branch
+
 Im master Branch werden die ersten 7 Zeichen vom git commit hash an die Version gehangen.
 
 ### Release Branch
+
 Ist nur die Version aus der pom.xml
 
 ### Feature Branch
+
 In einem feature Branch wird der Branchname an die Version gehangen.
\ No newline at end of file
diff --git a/src/main/helm/templates/ingress.yaml b/src/main/helm/templates/ingress.yaml
index aecae6e6c..f54700953 100644
--- a/src/main/helm/templates/ingress.yaml
+++ b/src/main/helm/templates/ingress.yaml
@@ -27,7 +27,11 @@ apiVersion: networking.k8s.io/v1
 kind: Ingress
 metadata:
   annotations:
+    {{- if (.Values.ingress).use_staging_cert }}
+    cert-manager.io/cluster-issuer: letsencrypt-staging
+    {{- else }}
     cert-manager.io/cluster-issuer: letsencrypt-prod
+    {{- end }}
   name: {{ include "app.name" . }}
   namespace: {{ include "app.namespace" . }}
 spec:
diff --git a/src/test/helm/ingress_test.yaml b/src/test/helm/ingress_test.yaml
index 0ec5a6754..348afd2ef 100644
--- a/src/test/helm/ingress_test.yaml
+++ b/src/test/helm/ingress_test.yaml
@@ -79,3 +79,24 @@ tests:
       - equal:
           path: spec.tls[0].hosts[0]
           value: helm-fs.test.sh.ozg-cloud.de
+  - it: should use letsencrypt-prod cluster-issuer as default
+    asserts:
+      - equal:
+          path: metadata.annotations.[cert-manager.io/cluster-issuer]
+          value: letsencrypt-prod
+
+  - it: should use letsencrypt-staging cluster-issuer if use_staging_cert is true
+    set:
+      ingress.use_staging_cert: true
+    asserts:
+      - equal:
+          path: metadata.annotations.[cert-manager.io/cluster-issuer]
+          value: letsencrypt-staging
+
+  - it: should use letsencrypt-prod cluster-issuer if use_staging_cert is false
+    set:
+      ingress.use_staging_cert: false
+    asserts:
+      - equal:
+          path: metadata.annotations.[cert-manager.io/cluster-issuer]
+          value: letsencrypt-prod
\ No newline at end of file
-- 
GitLab