From ee70c864d37746b012331cc66eb175162263bb15 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Fri, 25 Nov 2022 14:51:58 +0100 Subject: [PATCH] OZG-3184 optional staging cert --- src/main/helm/README.md | 2 +- src/main/helm/templates/ingress.yaml | 4 ++++ src/test/helm/ingress-nginx-tests.yaml | 22 ++++++++++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/main/helm/README.md b/src/main/helm/README.md index 06d30da3fd..6b05f649ed 100644 --- a/src/main/helm/README.md +++ b/src/main/helm/README.md @@ -4,7 +4,7 @@ ## 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' .` +`helm unittest -f '../../test/helm/*.yaml' -v '../../test/unit-values.yaml' .` ## SyntaxCheck `helm template --debug -f test-values.yaml .` diff --git a/src/main/helm/templates/ingress.yaml b/src/main/helm/templates/ingress.yaml index 539de3adf5..a9106a7e5d 100644 --- a/src/main/helm/templates/ingress.yaml +++ b/src/main/helm/templates/ingress.yaml @@ -26,7 +26,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-nginx-tests.yaml b/src/test/helm/ingress-nginx-tests.yaml index 6785560367..12e29ef091 100644 --- a/src/test/helm/ingress-nginx-tests.yaml +++ b/src/test/helm/ingress-nginx-tests.yaml @@ -46,3 +46,25 @@ tests: path: spec.ingressClassName - isNull: path: spec.tls[0].secretName + + - it: should use default letsencrypt-prod cluster-issuer + asserts: + - equal: + path: metadata.annotations.[cert-manager.io/cluster-issuer] + value: letsencrypt-prod + + - it: should use letsencrypt-staging cluster-issuer + 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 + set: + ingress.use_staging_cert: false + asserts: + - equal: + path: metadata.annotations.[cert-manager.io/cluster-issuer] + value: letsencrypt-prod -- GitLab