From f0942a413ea50d78deae3ea8ee646503bedea7e0 Mon Sep 17 00:00:00 2001
From: Martin <git@mail.de>
Date: Fri, 22 Nov 2024 10:54:38 +0100
Subject: [PATCH] OZG-7121 add service account

---
 src/main/helm/templates/_helpers.tpl         |  2 +-
 src/main/helm/templates/deployment.yaml      |  2 +-
 src/main/helm/templates/service_account.yaml |  8 ++++
 src/test/helm/service_account_test.yaml      | 40 ++++++++++++++++++++
 4 files changed, 50 insertions(+), 2 deletions(-)
 create mode 100644 src/main/helm/templates/service_account.yaml
 create mode 100644 src/test/helm/service_account_test.yaml

diff --git a/src/main/helm/templates/_helpers.tpl b/src/main/helm/templates/_helpers.tpl
index 3f62119..df89c62 100644
--- a/src/main/helm/templates/_helpers.tpl
+++ b/src/main/helm/templates/_helpers.tpl
@@ -70,7 +70,7 @@ app.kubernetes.io/namespace: {{ include "app.namespace" . }}
 {{- required "baseUrl muss angegeben sein" .Values.baseUrl }}
 {{- end -}}
 
-{{- define "app.serviceAccountName" -}}
+{{- define "app.getServiceAccountName" -}}
 {{ printf "%s" ( (.Values.serviceAccount).name | default "xta-test-server-service-account" ) }}
 {{- end -}}
 
diff --git a/src/main/helm/templates/deployment.yaml b/src/main/helm/templates/deployment.yaml
index 1990efe..2111b38 100644
--- a/src/main/helm/templates/deployment.yaml
+++ b/src/main/helm/templates/deployment.yaml
@@ -48,7 +48,7 @@ spec:
         component: xta-test-server
     spec:
       {{- if (.Values.serviceAccount).create }}
-      serviceAccountName: {{ include "app.serviceAccountName" . }}
+      serviceAccountName: {{ include "app.getServiceAccountName" . }}
       {{- end }}
       topologySpreadConstraints:
       - maxSkew: 1
diff --git a/src/main/helm/templates/service_account.yaml b/src/main/helm/templates/service_account.yaml
new file mode 100644
index 0000000..8ee2faa
--- /dev/null
+++ b/src/main/helm/templates/service_account.yaml
@@ -0,0 +1,8 @@
+
+{{- if (.Values.serviceAccount).create }}
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+  name: {{ include "app.getServiceAccountName" . }}
+  namespace: {{ include "app.namespace" . }}
+{{- end }}
\ No newline at end of file
diff --git a/src/test/helm/service_account_test.yaml b/src/test/helm/service_account_test.yaml
new file mode 100644
index 0000000..db871fd
--- /dev/null
+++ b/src/test/helm/service_account_test.yaml
@@ -0,0 +1,40 @@
+suite: service account test
+release:
+  name: xta-test-server
+  namespace: helm-test
+templates:
+  - templates/service_account.yaml
+tests:
+  - it: should create service account with default name
+    set:
+      serviceAccount:
+        create: true
+    asserts:
+      - isKind:
+          of: ServiceAccount
+      - isAPIVersion:
+          of: v1
+      - equal:
+          path: metadata.name
+          value: xta-test-server-service-account
+      - equal:
+          path: metadata.namespace
+          value: 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: helm-test
+  - it: should not create service account
+    asserts:
+      - hasDocuments:
+        count: 0
\ No newline at end of file
-- 
GitLab