Skip to content
Snippets Groups Projects
Commit 65d305b8 authored by OZGCloud's avatar OZGCloud
Browse files

Merge pull request 'helm-chart-service-account' (#93) from helm-chart-service-account into master

parents 189cf0a0 2bed3b1d
Branches
Tags
No related merge requests found
...@@ -83,5 +83,15 @@ app.kubernetes.io/namespace: {{ include "app.namespace" . }} ...@@ -83,5 +83,15 @@ app.kubernetes.io/namespace: {{ include "app.namespace" . }}
{{- end -}} {{- end -}}
{{- define "app.serviceAccountName" -}} {{- define "app.serviceAccountName" -}}
{{ printf "%s" ( (.Values.serviceAccount).name | default "eingang-manager-service-account" ) }} {{- if (.Values.serviceAccount).name }}
{{- printf "%s" .Values.serviceAccount.name }}
{{- else if eq (.Values.image).name "intelliform-adapter" }}
{{- printf "afm-adapter-service-account" }}
{{- else if eq (.Values.image).name "formsolutions-adapter" }}
{{- printf "fs-adapter-service-account" }}
{{- else if eq (.Values.image).name "formcycle-adapter" }}
{{- printf "formcycle-adapter-service-account" }}
{{- else if eq (.Values.image).name "enterprise-adapter" }}
{{- printf "enterprise-adapter-service-account" }}
{{- end }}
{{- end -}} {{- end -}}
\ No newline at end of file
...@@ -29,14 +29,42 @@ release: ...@@ -29,14 +29,42 @@ release:
templates: templates:
- templates/deployment.yaml - templates/deployment.yaml
tests: tests:
- it: should use service account with default name - it: should use afm-adapter service account name
set: set:
image.name: intelliform-adapter
serviceAccount: serviceAccount:
create: true create: true
asserts: asserts:
- equal: - equal:
path: spec.template.spec.serviceAccountName path: spec.template.spec.serviceAccountName
value: eingang-manager-service-account value: afm-adapter-service-account
- it: should use fs-adapter service account name
set:
image.name: formsolutions-adapter
serviceAccount:
create: true
asserts:
- equal:
path: spec.template.spec.serviceAccountName
value: fs-adapter-service-account
- it: should use formcycle-adapter service account name
set:
image.name: formcycle-adapter
serviceAccount:
create: true
asserts:
- equal:
path: spec.template.spec.serviceAccountName
value: formcycle-adapter-service-account
- it: should use enterprise-adapter service account name
set:
image.name: enterprise-adapter
serviceAccount:
create: true
asserts:
- equal:
path: spec.template.spec.serviceAccountName
value: enterprise-adapter-service-account
- it: should use service account with name - it: should use service account with name
set: set:
serviceAccount: serviceAccount:
......
...@@ -29,8 +29,9 @@ release: ...@@ -29,8 +29,9 @@ release:
templates: templates:
- templates/service_account.yaml - templates/service_account.yaml
tests: tests:
- it: should create service account with default name - it: should create default afm adapter service account name
set: set:
image.name: intelliform-adapter
serviceAccount: serviceAccount:
create: true create: true
asserts: asserts:
...@@ -38,7 +39,49 @@ tests: ...@@ -38,7 +39,49 @@ tests:
of: ServiceAccount of: ServiceAccount
- equal: - equal:
path: metadata.name path: metadata.name
value: eingang-manager-service-account value: afm-adapter-service-account
- equal:
path: metadata.namespace
value: sh-helm-test
- it: should create default fs adapter service account name
set:
image.name: formsolutions-adapter
serviceAccount:
create: true
asserts:
- isKind:
of: ServiceAccount
- equal:
path: metadata.name
value: fs-adapter-service-account
- equal:
path: metadata.namespace
value: sh-helm-test
- it: should create default formcycle adapter service account name
set:
image.name: formcycle-adapter
serviceAccount:
create: true
asserts:
- isKind:
of: ServiceAccount
- equal:
path: metadata.name
value: formcycle-adapter-service-account
- equal:
path: metadata.namespace
value: sh-helm-test
- it: should create default enterprise adapter service account name
set:
image.name: enterprise-adapter
serviceAccount:
create: true
asserts:
- isKind:
of: ServiceAccount
- equal:
path: metadata.name
value: enterprise-adapter-service-account
- equal: - equal:
path: metadata.namespace path: metadata.namespace
value: sh-helm-test value: sh-helm-test
......
...@@ -62,3 +62,7 @@ helm.sh/chart: {{ include "app.chart" . }} ...@@ -62,3 +62,7 @@ helm.sh/chart: {{ include "app.chart" . }}
{{ "*/15 * * * *" | quote }} {{ "*/15 * * * *" | quote }}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}
{{- define "app.serviceAccountName" -}}
{{ printf "%s" ( (.Values.serviceAccount).name | default "xta-adapter-service-account" ) }}
{{- end -}}
\ No newline at end of file
#
# 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.
#
{{- if (.Values.serviceAccount).create }}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "app.serviceAccountName" . }}
namespace: {{ include "app.namespace" . }}
{{- end }}
\ No newline at end of file
...@@ -44,6 +44,9 @@ spec: ...@@ -44,6 +44,9 @@ spec:
workload: xta-adapter-cronjob workload: xta-adapter-cronjob
ozg-component: xta-adapter ozg-component: xta-adapter
spec: spec:
{{- if (.Values.serviceAccount).create }}
serviceAccountName: {{ include "app.serviceAccountName" . }}
{{- end }}
restartPolicy: Never restartPolicy: Never
containers: containers:
- name: xta-adapter - name: xta-adapter
......
#
# 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: test cronjob service account
templates:
- templates/xta_adapter_cronjob.yaml
release:
name: xta-adapter
namespace: helm-test
tests:
- it: should use service account with default name
set:
serviceAccount:
create: true
asserts:
- equal:
path: spec.jobTemplate.spec.template.spec.serviceAccountName
value: xta-adapter-service-account
- it: should use service account with name
set:
serviceAccount:
create: true
name: helm-service-account
asserts:
- equal:
path: spec.jobTemplate.spec.template.spec.serviceAccountName
value: helm-service-account
- it: should use default service account
asserts:
- isNull:
path: spec.jobTemplate.spec.template.spec.serviceAccountName
#
# 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: test service account
release:
name: xta-adapter
namespace: sh-helm-test
templates:
- templates/service_account.yaml
tests:
- it: should create service account with default name
set:
serviceAccount:
create: true
asserts:
- isKind:
of: ServiceAccount
- equal:
path: metadata.name
value: xta-adapter-service-account
- equal:
path: metadata.namespace
value: sh-helm-test
- it: should create service account with name
set:
serviceAccount:
create: true
name: helm-service-account
asserts:
- isKind:
of: ServiceAccount
- equal:
path: metadata.name
value: helm-service-account
- equal:
path: metadata.namespace
value: sh-helm-test
- it: should not create service account
asserts:
- hasDocuments:
count: 0
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment