diff --git a/src/main/helm/README.md b/src/main/helm/README.md new file mode 100644 index 0000000000000000000000000000000000000000..a5f2ffa71abef0d610826b5f699d01e93a530d58 --- /dev/null +++ b/src/main/helm/README.md @@ -0,0 +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