Skip to content
Snippets Groups Projects
Commit ad4c8b1f authored by Jan Zickermann's avatar Jan Zickermann
Browse files

#2 OZG-7121 helm: Use letsencrypt for ingress

parent 5ea265ff
Branches
Tags
Loading
Pipeline #1319 passed
...@@ -97,6 +97,9 @@ push-merge-request-helm-nexus: ...@@ -97,6 +97,9 @@ push-merge-request-helm-nexus:
rules: rules:
- if: $CI_PIPELINE_SOURCE == 'merge_request_event' - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
when: manual when: manual
artifacts:
paths:
- "*.tgz"
# Snapshot jobs # Snapshot jobs
push-snapshot-image-gitlab: push-snapshot-image-gitlab:
......
...@@ -4,6 +4,15 @@ metadata: ...@@ -4,6 +4,15 @@ metadata:
name: {{ .Release.Name }} name: {{ .Release.Name }}
namespace: {{ include "app.namespace" . }} namespace: {{ include "app.namespace" . }}
annotations: annotations:
{{- if (.Values.ingress).certManagerAnnotations -}}
{{- range (.Values.ingress).certManagerAnnotations }}
{{ . | indent 4 }}
{{- end }}
{{- else if (.Values.ingress).use_staging_cert }}
cert-manager.io/cluster-issuer: letsencrypt-staging
{{- else }}
cert-manager.io/cluster-issuer: letsencrypt-prod
{{- end }}
nginx.ingress.kubernetes.io/auth-tls-verify-client: "on" nginx.ingress.kubernetes.io/auth-tls-verify-client: "on"
nginx.ingress.kubernetes.io/auth-tls-secret: {{ include "app.namespace" . }}-ca-cert nginx.ingress.kubernetes.io/auth-tls-secret: {{ include "app.namespace" . }}-ca-cert
nginx.ingress.kubernetes.io/auth-tls-pass-certificate-to-upstream: "true" nginx.ingress.kubernetes.io/auth-tls-pass-certificate-to-upstream: "true"
...@@ -22,8 +31,12 @@ spec: ...@@ -22,8 +31,12 @@ spec:
port: port:
number: 8443 number: 8443
host: {{ include "app.baseDomain" . }} host: "{{ .Release.Name }}-{{ include "app.baseDomain" . }}"
tls: tls:
- hosts: - hosts:
- {{ include "app.baseDomain" . }} - "{{ .Release.Name }}-{{ include "app.baseDomain" . }}"
secretName: {{ .Release.Name }}-tls-secret {{- if (.Values.ingress).tlsSecretName }}
\ No newline at end of file secretName: {{ (.Values.ingress).tlsSecretName }}
{{- else }}
secretName: {{ .Values.ozgcloud.bezeichner }}-{{ .Release.Name }}-tls
{{- end }}
\ No newline at end of file
...@@ -38,11 +38,14 @@ tests: ...@@ -38,11 +38,14 @@ tests:
asserts: asserts:
- isKind: - isKind:
of: Ingress of: Ingress
- it: should use same tls secret as in cluster - it: should set ingress tls
set:
ingress:
tlsSecretName: client-tls
asserts: asserts:
- equal: - equal:
path: spec.tls[0].secretName path: spec.tls[0].secretName
value: matabase-tls-secret value: client-tls
- it: should not create ingress tls/ingressClass by default - it: should not create ingress tls/ingressClass by default
asserts: asserts:
...@@ -56,13 +59,25 @@ tests: ...@@ -56,13 +59,25 @@ tests:
- equal: - equal:
path: spec.ingressClassName path: spec.ingressClassName
value: ingress value: ingress
- 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 enable client verification - it: should enable client verification
asserts: asserts:
- equal: - equal:
path: metadata.annotations["nginx.ingress.kubernetes.io/auth-tls-verify-client"] path: metadata.annotations["nginx.ingress.kubernetes.io/auth-tls-verify-client"]
value: "on" value: "on"
- it: should use CA of namespace to verify certificates - it: should use CA of namespace to verify certificates
asserts: asserts:
- equal: - equal:
...@@ -74,12 +89,11 @@ tests: ...@@ -74,12 +89,11 @@ tests:
- equal: - equal:
path: metadata.annotations["nginx.ingress.kubernetes.io/auth-tls-pass-certificate-to-upstream"] path: metadata.annotations["nginx.ingress.kubernetes.io/auth-tls-pass-certificate-to-upstream"]
value: "true" value: "true"
- it: should create tls hosts name correctly - it: should create tls hosts name correctly
asserts: asserts:
- equal: - equal:
path: spec.tls[0].hosts[0] path: spec.tls[0].hosts[0]
value: helm.test.by.ozg-cloud.de value: matabase-helm.test.by.ozg-cloud.de
- it: should create rules correctly - it: should create rules correctly
asserts: asserts:
...@@ -98,4 +112,4 @@ tests: ...@@ -98,4 +112,4 @@ tests:
asserts: asserts:
- equal: - equal:
path: spec.rules[0].host path: spec.rules[0].host
value: helm.test.by.ozg-cloud.de value: matabase-helm.test.by.ozg-cloud.de
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment