diff --git a/src/main/helm/README.md b/src/main/helm/README.md index 06d30da3fd35dec702c4c204f85e504bbb8d3fb3..6b05f649edebe2d69c029f7c4a3f047621f8c937 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 539de3adf5dfeed921ab92fac258f0925a093ddc..a9106a7e5d236f8aa2cf838637c17d2ebcf4fabb 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 678556036744219a66b9a0b7354c24cf5f171ed5..12e29ef0911bb50506f180e647fb7db52153f6cb 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