From 8d208483f9eca9b67ae90203e3c13d10a4e55d6e Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Wed, 11 Jan 2023 19:28:40 +0100 Subject: [PATCH] OZG-3276 OZG-3318 create certificate secret and use it in deployment --- src/main/helm/templates/deployment.yaml | 2 +- .../templates/usermanager_tls_secret.yaml | 53 ++++++++++ src/test/helm/deployment-test.yaml | 2 +- src/test/helm/deplyoment_cert_bindings.yaml | 2 +- .../usermanager_tls_secret_certificate.yaml | 98 +++++++++++++++++++ .../helm/usermanager_tls_secret_issuer.yaml | 51 ++++++++++ 6 files changed, 205 insertions(+), 3 deletions(-) create mode 100644 src/main/helm/templates/usermanager_tls_secret.yaml create mode 100644 src/test/helm/usermanager_tls_secret_certificate.yaml create mode 100644 src/test/helm/usermanager_tls_secret_issuer.yaml diff --git a/src/main/helm/templates/deployment.yaml b/src/main/helm/templates/deployment.yaml index b85b0d86..663acdcc 100644 --- a/src/main/helm/templates/deployment.yaml +++ b/src/main/helm/templates/deployment.yaml @@ -140,7 +140,7 @@ spec: volumes: - name: user-manager-tls-ca secret: - secretName: kiel-user-manager-tls + secretName: user-manager-tls-cert dnsConfig: {} dnsPolicy: ClusterFirst imagePullSecrets: diff --git a/src/main/helm/templates/usermanager_tls_secret.yaml b/src/main/helm/templates/usermanager_tls_secret.yaml new file mode 100644 index 00000000..00b496e4 --- /dev/null +++ b/src/main/helm/templates/usermanager_tls_secret.yaml @@ -0,0 +1,53 @@ +# +# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den +# Ministerpräsidenten des Landes Schleswig-Holstein +# Staatskanzlei +# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung +# +# Lizenziert unter der EUPL, Version 1.2 oder - sobald +# diese von der Europäischen Kommission genehmigt wurden - +# Folgeversionen der EUPL ("Lizenz"); +# Sie dürfen dieses Werk ausschließlich gemäß +# dieser Lizenz nutzen. +# Eine Kopie der Lizenz finden Sie hier: +# +# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 +# +# Sofern nicht durch anwendbare Rechtsvorschriften +# gefordert oder in schriftlicher Form vereinbart, wird +# die unter der Lizenz verbreitete Software "so wie sie +# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - +# ausdrücklich oder stillschweigend - verbreitet. +# Die sprachspezifischen Genehmigungen und Beschränkungen +# unter der Lizenz sind dem Lizenztext zu entnehmen. +# + +apiVersion: cert-manager.io/v1 +kind: Issuer +metadata: + name: {{ include "app.kopBezeichner" . }}-ca-issuer + namespace: {{ include "app.namespace" . }} +spec: + ca: + secretName: {{ include "app.kopBezeichner" . }}-ca-cert +--- +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: user-manager-tls-certificate + namespace: {{ include "app.namespace" . }} +spec: + secretName: user-manager-tls-cert + issuerRef: + name: {{ include "app.kopBezeichner" . }}-ca-issuer + kind: Issuer + duration: 8760h0m0s + renewBefore: 720h0m0s + commonName: "user-manager-svc" + dnsNames: + - "*.user-manager-svc.{{ include "app.namespace" . }}.svc.cluster.local" + - "user-manager-svc.{{ include "app.namespace" . }}.svc.cluster.local" + - "user-manager-svc.{{ include "app.namespace" . }}.svc.cluster" + - "user-manager-svc.{{ include "app.namespace" . }}.svc" + - "user-manager-svc.{{ include "app.namespace" . }}" + - "user-manager-svc" \ No newline at end of file diff --git a/src/test/helm/deployment-test.yaml b/src/test/helm/deployment-test.yaml index 85d43856..63803158 100644 --- a/src/test/helm/deployment-test.yaml +++ b/src/test/helm/deployment-test.yaml @@ -22,7 +22,7 @@ # unter der Lizenz sind dem Lizenztext zu entnehmen. # -suite: test deployment +suite: deployment release: name: user-manager templates: diff --git a/src/test/helm/deplyoment_cert_bindings.yaml b/src/test/helm/deplyoment_cert_bindings.yaml index 569e3495..fdd06668 100644 --- a/src/test/helm/deplyoment_cert_bindings.yaml +++ b/src/test/helm/deplyoment_cert_bindings.yaml @@ -58,4 +58,4 @@ tests: content: name: user-manager-root-ca secret: - secretName: kiel-user-manager-tls \ No newline at end of file + secretName: user-manager-tls-cert \ No newline at end of file diff --git a/src/test/helm/usermanager_tls_secret_certificate.yaml b/src/test/helm/usermanager_tls_secret_certificate.yaml new file mode 100644 index 00000000..78cba788 --- /dev/null +++ b/src/test/helm/usermanager_tls_secret_certificate.yaml @@ -0,0 +1,98 @@ +# +# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den +# Ministerpräsidenten des Landes Schleswig-Holstein +# Staatskanzlei +# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung +# +# Lizenziert unter der EUPL, Version 1.2 oder - sobald +# diese von der Europäischen Kommission genehmigt wurden - +# Folgeversionen der EUPL ("Lizenz"); +# Sie dürfen dieses Werk ausschließlich gemäß +# dieser Lizenz nutzen. +# Eine Kopie der Lizenz finden Sie hier: +# +# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 +# +# Sofern nicht durch anwendbare Rechtsvorschriften +# gefordert oder in schriftlicher Form vereinbart, wird +# die unter der Lizenz verbreitete Software "so wie sie +# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - +# ausdrücklich oder stillschweigend - verbreitet. +# Die sprachspezifischen Genehmigungen und Beschränkungen +# unter der Lizenz sind dem Lizenztext zu entnehmen. +# + +#suite: usermanager_tls_secret certificate +#release: +# name: user-manager +# namespace: sh-helm-test +#templates: +# - templates/usermanager_tls_secret.yaml +#tests: +# - it: should contains header data +# asserts: +# - isAPIVersion: +# of: cert-manager.io/v1 +# - isKind: +# of: Certificate +# - it: should have metadata +# asserts: +# - equal: +# path: metadata.name +# value: user-manager-tls-certificate +# - equal: +# path: metadata.namespace +# value: sh-helm-test +# - it: should have secretName +# asserts: +# - equal: +# path: spec.secretName +# value: user-manager-tls-cert +# - it: should have issuerRef +# asserts: +# - equal: +# path: spec.issuerRef.name +# value: helm-ca-issuer +# - equal: +# path: spec.issuerRef.kind +# value: Issuer +# - it: should have duration +# asserts: +# - equal: +# path: spec.duration +# value: 8760h0m0s +# - it: should have renewBefore +# asserts: +# - equal: +# path: spec.renewBefore +# value: 720h0m0s +# - it: should have commonName +# asserts: +# - equal: +# path: spec.commonName +# value: "user-manager-svc" +# - it: should have commonName +# asserts: +# - equal: +# path: spec.issuerRef.name +# value: helm-ca-issuer +# - it: should have dnsNames +# asserts: +# - equal: +# path: spec.dnsNames[0] +# value: "*.user-manager-svc.sh-helm-test.svc.cluster.local" +# - equal: +# path: spec.dnsNames[1] +# value: "user-manager-svc.sh-helm-test.svc.cluster.local" +# - equal: +# path: spec.dnsNames[2] +# value: "user-manager-svc.sh-helm-test.svc.cluster" +# - equal: +# path: spec.dnsNames[3] +# value: "user-manager-svc.sh-helm-test.svc" +# - equal: +# path: spec.dnsNames[4] +# value: "user-manager-svc.sh-helm-test" +# - equal: +# path: spec.dnsNames[5] +# value: "user-manager-svc" \ No newline at end of file diff --git a/src/test/helm/usermanager_tls_secret_issuer.yaml b/src/test/helm/usermanager_tls_secret_issuer.yaml new file mode 100644 index 00000000..b4c0471f --- /dev/null +++ b/src/test/helm/usermanager_tls_secret_issuer.yaml @@ -0,0 +1,51 @@ +# +# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den +# Ministerpräsidenten des Landes Schleswig-Holstein +# Staatskanzlei +# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung +# +# Lizenziert unter der EUPL, Version 1.2 oder - sobald +# diese von der Europäischen Kommission genehmigt wurden - +# Folgeversionen der EUPL ("Lizenz"); +# Sie dürfen dieses Werk ausschließlich gemäß +# dieser Lizenz nutzen. +# Eine Kopie der Lizenz finden Sie hier: +# +# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 +# +# Sofern nicht durch anwendbare Rechtsvorschriften +# gefordert oder in schriftlicher Form vereinbart, wird +# die unter der Lizenz verbreitete Software "so wie sie +# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - +# ausdrücklich oder stillschweigend - verbreitet. +# Die sprachspezifischen Genehmigungen und Beschränkungen +# unter der Lizenz sind dem Lizenztext zu entnehmen. +# + +#suite: usermanager_tls_secret issuer +#release: +# name: user-manager +# namespace: sh-helm-test +#templates: +# - templates/usermanager_tls_secret.yaml +#tests: +# - it: should contains header data +# asserts: +# - isAPIVersion: +# of: cert-manager.io/v1 +# - isKind: +# of: Issuer +# - it: should have metadata +# asserts: +# - equal: +# path: metadata.name +# +# value: helm-ca-issuer +# - equal: +# path: metadata.namespace +# value: sh-helm-test +# - it: should have ca +# asserts: +# - equal: +# path: spec.ca.secretName +# value: helm-ca-cert \ No newline at end of file -- GitLab