diff --git a/src/main/helm/README.md b/src/main/helm/README.md index 06d30da3fd35dec702c4c204f85e504bbb8d3fb3..a5f2ffa71abef0d610826b5f699d01e93a530d58 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 aecae6e6c99432817bd82c858d21d0d17ad56213..f547009539b1be3098ded1597fe50a0eef479f6e 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 0ec5a6754e954628adef91be0558eec7915d225b..348afd2ef6f371cff9aab565f552c519c2600cd1 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