diff --git a/doc/ServiceAccount/serviceaccount-keycloakgroup-read.yaml b/doc/ServiceAccount/serviceaccount-keycloakgroup-read.yaml
deleted file mode 100644
index 935cb0720760cc1aa8b602b6d2ded3c708907121..0000000000000000000000000000000000000000
--- a/doc/ServiceAccount/serviceaccount-keycloakgroup-read.yaml
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# 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.
-#
-
----
-kind: ClusterRoleBinding
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: ozg-operator-keycloakgroup-viewer-role-binding
-subjects:
-  - kind: ServiceAccount
-    name: ozg-operator-serviceaccount
-    namespace: by-ozg-operator-dev
-roleRef:
-  kind: ClusterRole
-  name: ozg-operator-keycloakgroup-viewer-role
-  apiGroup: rbac.authorization.k8s.io
----
-kind: ClusterRole
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: ozg-operator-keycloakgroup-viewer-role
-rules:
-  - apiGroups:
-      - "*"
-    resources:
-      - ozgkeycloakgroups
-      - ozgkeycloakgroups/status
-      - ozgkeycloakgroups/finalizers
-    verbs:
-      - get
-      - list
-      - watch
diff --git a/doc/ServiceAccount/serviceaccount-keycloakgroup-write.yaml b/doc/ServiceAccount/serviceaccount-keycloakgroup-write.yaml
deleted file mode 100644
index e1711a9b230ab1b044a5078788bb6c5b82a3372c..0000000000000000000000000000000000000000
--- a/doc/ServiceAccount/serviceaccount-keycloakgroup-write.yaml
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-# 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.
-#
-
----
-kind: ClusterRoleBinding
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: ozg-operator-keycloakgroup-writer-role-binding
-subjects:
-  - kind: ServiceAccount
-    name: ozg-operator-serviceaccount
-    namespace: by-ozg-operator-dev
-roleRef:
-  kind: ClusterRole
-  name: ozg-operator-keycloakgroup-writer-role
-  apiGroup: rbac.authorization.k8s.io
----
-kind: ClusterRole
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: ozg-operator-keycloakgroup-writer-role
-rules:
-  - apiGroups:
-      - "*"
-    resources:
-      - ozgkeycloakgroups/status
-      - ozgkeycloakgroups/finalizers
-      - ozgkeycloakgroups
-    verbs:
-      - get
-      - list
-      - create
-      - delete
-      - patch
-      - update
-      - watch
diff --git a/doc/ServiceAccount/serviceaccount-keycloakrealm-read.yaml b/doc/ServiceAccount/serviceaccount-keycloakrealm-read.yaml
deleted file mode 100644
index a7c8421ddeff226c5588890a69fbe06d8bd3ea46..0000000000000000000000000000000000000000
--- a/doc/ServiceAccount/serviceaccount-keycloakrealm-read.yaml
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# 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.
-#
-
----
-kind: ClusterRoleBinding
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: ozg-operator-keycloakrealm-viewer-role-binding
-subjects:
-  - kind: ServiceAccount
-    name: ozg-operator-serviceaccount
-    namespace: by-ozg-operator-dev
-roleRef:
-  kind: ClusterRole
-  name: ozg-operator-keycloakrealm-viewer-role
-  apiGroup: rbac.authorization.k8s.io
----
-kind: ClusterRole
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: ozg-operator-keycloakrealm-viewer-role
-rules:
-  - apiGroups:
-      - "*"
-    resources:
-      - ozgkeycloakrealms
-      - ozgkeycloakrealms/status
-      - ozgkeycloakrealms/finalizers
-    verbs:
-      - get
-      - list
-      - watch
diff --git a/doc/ServiceAccount/serviceaccount-keycloakrealm-write.yaml b/doc/ServiceAccount/serviceaccount-keycloakrealm-write.yaml
deleted file mode 100644
index 6214aa0561fd563017bd536a59c960170fe496d5..0000000000000000000000000000000000000000
--- a/doc/ServiceAccount/serviceaccount-keycloakrealm-write.yaml
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-# 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.
-#
-
----
-kind: ClusterRoleBinding
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: ozg-operator-keycloakrealm-writer-role-binding
-subjects:
-  - kind: ServiceAccount
-    name: ozg-operator-serviceaccount
-    namespace: by-ozg-operator-dev
-roleRef:
-  kind: ClusterRole
-  name: ozg-operator-keycloakrealm-writer-role
-  apiGroup: rbac.authorization.k8s.io
----
-kind: ClusterRole
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: ozg-operator-keycloakrealm-writer-role
-rules:
-  - apiGroups:
-      - "*"
-    resources:
-      - ozgkeycloakrealms/status
-      - ozgkeycloakrealms/finalizers
-      - ozgkeycloakrealms
-    verbs:
-      - get
-      - list
-      - create
-      - delete
-      - patch
-      - update
-      - watch
diff --git a/doc/ServiceAccount/serviceaccount-keycloakuser-read.yaml b/doc/ServiceAccount/serviceaccount-keycloakuser-read.yaml
deleted file mode 100644
index 27641a5b92f323387ef8a6dc890a4616b2eea522..0000000000000000000000000000000000000000
--- a/doc/ServiceAccount/serviceaccount-keycloakuser-read.yaml
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# 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.
-#
-
----
-kind: ClusterRoleBinding
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: ozg-operator-keycloakuser-viewer-role-binding
-subjects:
-  - kind: ServiceAccount
-    name: ozg-operator-serviceaccount
-    namespace: by-ozg-operator-dev
-roleRef:
-  kind: ClusterRole
-  name: ozg-operator-keycloakuser-viewer-role
-  apiGroup: rbac.authorization.k8s.io
----
-kind: ClusterRole
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: ozg-operator-keycloakuser-viewer-role
-rules:
-  - apiGroups:
-      - "*"
-    resources:
-      - ozgkeycloakusers
-      - ozgkeycloakusers/status
-      - ozgkeycloakusers/finalizers
-    verbs:
-      - get
-      - list
-      - watch
diff --git a/doc/ServiceAccount/serviceaccount-keycloakuser-write.yaml b/doc/ServiceAccount/serviceaccount-keycloakuser-write.yaml
deleted file mode 100644
index 530497efc0534c21861e70b983bdcf48acbed2cd..0000000000000000000000000000000000000000
--- a/doc/ServiceAccount/serviceaccount-keycloakuser-write.yaml
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-# 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.
-#
-
----
-kind: ClusterRoleBinding
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: ozg-operator-keycloakuser-writer-role-binding
-subjects:
-  - kind: ServiceAccount
-    name: ozg-operator-serviceaccount
-    namespace: by-ozg-operator-dev
-roleRef:
-  kind: ClusterRole
-  name: ozg-operator-keycloakuser-writer-role
-  apiGroup: rbac.authorization.k8s.io
----
-kind: ClusterRole
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: ozg-operator-keycloakuser-writer-role
-rules:
-  - apiGroups:
-      - "*"
-    resources:
-      - ozgkeycloakusers/status
-      - ozgkeycloakusers/finalizers
-      - ozgkeycloakusers
-    verbs:
-      - get
-      - list
-      - create
-      - delete
-      - patch
-      - update
-      - watch
diff --git a/src/main/helm/templates/image-pull-secret.yaml b/src/main/helm/templates/image_pull_secret.yaml
similarity index 100%
rename from src/main/helm/templates/image-pull-secret.yaml
rename to src/main/helm/templates/image_pull_secret.yaml
diff --git a/doc/ServiceAccount/serviceaccount-keycloakclient-read.yaml b/src/main/helm/templates/serviceaccount_keycloak_read.yaml
similarity index 75%
rename from doc/ServiceAccount/serviceaccount-keycloakclient-read.yaml
rename to src/main/helm/templates/serviceaccount_keycloak_read.yaml
index c1f640e64fcbcf7040552723be7c8c86c0075dcb..73c0c036e6589948380e24947620f5a4e00d052d 100644
--- a/doc/ServiceAccount/serviceaccount-keycloakclient-read.yaml
+++ b/src/main/helm/templates/serviceaccount_keycloak_read.yaml
@@ -26,24 +26,33 @@
 kind: ClusterRoleBinding
 apiVersion: rbac.authorization.k8s.io/v1
 metadata:
-  name: ozg-operator-keycloakclient-viewer-role-binding
+  name: ozg-operator-keycloak-viewer-role-binding
 subjects:
   - kind: ServiceAccount
     name: ozg-operator-serviceaccount
-    namespace: by-ozg-operator-dev
+    namespace: {{ .Release.Namespace }}
 roleRef:
   kind: ClusterRole
-  name: ozg-operator-keycloakclient-viewer-role
+  name: ozg-operator-keycloak-viewer-role
   apiGroup: rbac.authorization.k8s.io
 ---
 kind: ClusterRole
 apiVersion: rbac.authorization.k8s.io/v1
 metadata:
-  name: ozg-operator-keycloakclient-viewer-role
+  name: ozg-operator-keycloak-viewer-role
 rules:
   - apiGroups:
       - "*"
     resources:
+      - ozgkeycloakusers
+      - ozgkeycloakusers/status
+      - ozgkeycloakusers/finalizers
+      - ozgkeycloakgroups
+      - ozgkeycloakgroups/status
+      - ozgkeycloakgroups/finalizers
+      - ozgkeycloakrealms
+      - ozgkeycloakrealms/status
+      - ozgkeycloakrealms/finalizers
       - ozgkeycloakclients
       - ozgkeycloakclients/status
       - ozgkeycloakclients/finalizers
diff --git a/doc/ServiceAccount/serviceaccount-keycloak-secrets-read.yaml b/src/main/helm/templates/serviceaccount_keycloak_secrets_read.yaml
similarity index 96%
rename from doc/ServiceAccount/serviceaccount-keycloak-secrets-read.yaml
rename to src/main/helm/templates/serviceaccount_keycloak_secrets_read.yaml
index 09b5b01cd2dda0939737656673ac34adedb2ae53..bc620ba36795350c6232265177140f47b7040ced 100644
--- a/doc/ServiceAccount/serviceaccount-keycloak-secrets-read.yaml
+++ b/src/main/helm/templates/serviceaccount_keycloak_secrets_read.yaml
@@ -22,7 +22,6 @@
 # unter der Lizenz sind dem Lizenztext zu entnehmen.
 #
 
----
 kind: RoleBinding
 apiVersion: rbac.authorization.k8s.io/v1
 metadata:
@@ -31,7 +30,7 @@ metadata:
 subjects:
   - kind: ServiceAccount
     name: ozg-operator-serviceaccount
-    namespace: by-ozg-operator-dev        
+    namespace: {{ .Release.Namespace }}      
 roleRef:
   kind: Role
   name: ozg-operator-keycloak-secrets-viewer-role
diff --git a/doc/ServiceAccount/serviceaccount-keycloakclient-write.yaml b/src/main/helm/templates/serviceaccount_keycloak_write.yaml
similarity index 76%
rename from doc/ServiceAccount/serviceaccount-keycloakclient-write.yaml
rename to src/main/helm/templates/serviceaccount_keycloak_write.yaml
index 1da9ae4d7ca871708ae2d5314e830b32c7d218e9..219e5388b2dd0ef2c4f415abb9a90a8f37accd83 100644
--- a/doc/ServiceAccount/serviceaccount-keycloakclient-write.yaml
+++ b/src/main/helm/templates/serviceaccount_keycloak_write.yaml
@@ -26,27 +26,36 @@
 kind: ClusterRoleBinding
 apiVersion: rbac.authorization.k8s.io/v1
 metadata:
-  name: ozg-operator-keycloakclient-writer-role-binding
+  name: ozg-operator-keycloak-write-role-binding
 subjects:
   - kind: ServiceAccount
     name: ozg-operator-serviceaccount
-    namespace: by-ozg-operator-dev
+    namespace: {{ .Release.Namespace }}
 roleRef:
   kind: ClusterRole
-  name: ozg-operator-keycloakclient-writer-role
+  name: ozg-operator-keycloak-write-role
   apiGroup: rbac.authorization.k8s.io
 ---
 kind: ClusterRole
 apiVersion: rbac.authorization.k8s.io/v1
 metadata:
-  name: ozg-operator-keycloakclient-writer-role
+  name: ozg-operator-keycloak-write-role
 rules:
   - apiGroups:
       - "*"
     resources:
+      - ozgkeycloakusers
+      - ozgkeycloakusers/status
+      - ozgkeycloakusers/finalizers
+      - ozgkeycloakgroups
+      - ozgkeycloakgroups/status
+      - ozgkeycloakgroups/finalizers
+      - ozgkeycloakrealms
+      - ozgkeycloakrealms/status
+      - ozgkeycloakrealms/finalizers
+      - ozgkeycloakclients
       - ozgkeycloakclients/status
       - ozgkeycloakclients/finalizers
-      - ozgkeycloakclients
     verbs:
       - get
       - list
diff --git a/src/test/helm/deployment_pull_secret_test.yaml b/src/test/helm/deployment_pull_secret_test.yaml
index fcc6aff9b03808df9badb298f928328a7ef2273b..1bd9be1215c704463654dead4e9794ff16be5502 100644
--- a/src/test/helm/deployment_pull_secret_test.yaml
+++ b/src/test/helm/deployment_pull_secret_test.yaml
@@ -22,7 +22,7 @@
 # unter der Lizenz sind dem Lizenztext zu entnehmen.
 #
 
-suite: test deployment
+suite: deployment pull secret
 release:
   name: ozg-operator
   namespace: sh-helm-test
diff --git a/src/test/helm/deployment_test.yaml b/src/test/helm/deployment_test.yaml
index 298ad190172235329bb8a3199a99bf23683b228e..652f4113249d6d400cbb6ed35c3c65a7f596078d 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 test
 release:
   name: intelliform-adapter
   namespace: sh-helm-test
diff --git a/src/test/helm/image-pull-secret-test.yaml b/src/test/helm/image_pull_secret_test.yaml
similarity index 97%
rename from src/test/helm/image-pull-secret-test.yaml
rename to src/test/helm/image_pull_secret_test.yaml
index 423d6268f8fea790bd466277a96f93c9594600a7..75f04989f517762f2772c3835f78362acb6d16db 100644
--- a/src/test/helm/image-pull-secret-test.yaml
+++ b/src/test/helm/image_pull_secret_test.yaml
@@ -24,7 +24,7 @@
 
 suite: test image pull secret
 templates:
-  - templates/image-pull-secret.yaml
+  - templates/image_pull_secret.yaml
 release:
   name: intelliform-adaptero
   namespace: helm-test
diff --git a/src/test/helm/serviceaccount_keycloak_read_test.yaml b/src/test/helm/serviceaccount_keycloak_read_test.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..46949f56f5437b5e2b5fd0beec815d0791422cd1
--- /dev/null
+++ b/src/test/helm/serviceaccount_keycloak_read_test.yaml
@@ -0,0 +1,94 @@
+#
+# 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: serviceaccount keycloak read
+release:
+  name: ozg-test
+  namespace: by-helm-test
+templates:
+  - templates/serviceaccount_keycloak_read.yaml
+tests:
+  - it: role binding
+    asserts:
+      - isKind:
+          of: ClusterRoleBinding
+        documentIndex: 0
+      - isAPIVersion:
+          of: rbac.authorization.k8s.io/v1
+        documentIndex: 0
+      - equal:
+          path: metadata
+          value:
+              name: ozg-operator-keycloak-viewer-role-binding
+        documentIndex: 0
+      - equal:
+          path: subjects
+          value:
+              - kind: ServiceAccount
+                name: ozg-operator-serviceaccount
+                namespace: by-helm-test
+        documentIndex: 0
+      - equal:
+          path: roleRef
+          value:
+              kind: ClusterRole
+              name: ozg-operator-keycloak-viewer-role
+              apiGroup: rbac.authorization.k8s.io
+        documentIndex: 0
+  - it: role 
+    asserts:
+      - isKind:
+          of: ClusterRole
+        documentIndex: 1
+      - isAPIVersion:
+          of: rbac.authorization.k8s.io/v1
+        documentIndex: 1
+      - equal:
+          path: metadata
+          value:
+              name: ozg-operator-keycloak-viewer-role
+        documentIndex: 1
+      - equal:
+          path: rules
+          value:
+              - apiGroups:
+                  - "*"
+                resources:
+                  - ozgkeycloakusers
+                  - ozgkeycloakusers/status
+                  - ozgkeycloakusers/finalizers
+                  - ozgkeycloakgroups
+                  - ozgkeycloakgroups/status
+                  - ozgkeycloakgroups/finalizers
+                  - ozgkeycloakrealms
+                  - ozgkeycloakrealms/status
+                  - ozgkeycloakrealms/finalizers
+                  - ozgkeycloakclients
+                  - ozgkeycloakclients/status
+                  - ozgkeycloakclients/finalizers
+                verbs:
+                  - get
+                  - list
+                  - watch
+        documentIndex: 1
\ No newline at end of file
diff --git a/src/test/helm/serviceaccount_keycloak_secrets_read_test.yaml b/src/test/helm/serviceaccount_keycloak_secrets_read_test.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..6f2d1192797072b27e7d36b237c2b480c161d11a
--- /dev/null
+++ b/src/test/helm/serviceaccount_keycloak_secrets_read_test.yaml
@@ -0,0 +1,83 @@
+#
+# 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: serviceaccount keycloak secret read
+release:
+  name: ozg-test
+  namespace: by-helm-test
+templates:
+  - templates/serviceaccount_keycloak_secrets_read.yaml
+tests:
+  - it: role binding
+    asserts:
+      - isKind:
+          of: RoleBinding
+        documentIndex: 0
+      - isAPIVersion:
+          of: rbac.authorization.k8s.io/v1
+        documentIndex: 0
+      - equal:
+          path: metadata
+          value:
+              name: ozg-operator-keycloak-secrets-viewer-role-binding
+              namespace: keycloak
+        documentIndex: 0
+      - equal:
+          path: subjects
+          value:
+              - kind: ServiceAccount
+                name: ozg-operator-serviceaccount
+                namespace: by-helm-test
+        documentIndex: 0
+      - equal:
+          path: roleRef
+          value:
+              kind: Role
+              name: ozg-operator-keycloak-secrets-viewer-role
+              apiGroup: rbac.authorization.k8s.io
+        documentIndex: 0
+  - it: role 
+    asserts:
+      - isKind:
+          of: Role
+        documentIndex: 1
+      - isAPIVersion:
+          of: rbac.authorization.k8s.io/v1
+        documentIndex: 1
+      - equal:
+          path: metadata
+          value:
+              name: ozg-operator-keycloak-secrets-viewer-role
+              namespace: keycloak
+        documentIndex: 1
+      - equal:
+          path: rules
+          value:
+              - apiGroups:
+                  - "*"
+                resources:
+                  - secrets
+                verbs:
+                  - get
+        documentIndex: 1
\ No newline at end of file
diff --git a/src/test/helm/serviceaccount_keycloak_write_test.yaml b/src/test/helm/serviceaccount_keycloak_write_test.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..2508a607b0cbc5bfb1d36a3930c63dd4f427bfed
--- /dev/null
+++ b/src/test/helm/serviceaccount_keycloak_write_test.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: serviceaccount keycloak write
+release:
+  name: ozg-test
+  namespace: by-helm-test
+templates:
+  - templates/serviceaccount_keycloak_write.yaml
+tests:
+  - it: role binding
+    asserts:
+      - isKind:
+          of: ClusterRoleBinding
+        documentIndex: 0
+      - isAPIVersion:
+          of: rbac.authorization.k8s.io/v1
+        documentIndex: 0
+      - equal:
+          path: metadata
+          value:
+              name: ozg-operator-keycloak-write-role-binding
+        documentIndex: 0
+      - equal:
+          path: subjects
+          value:
+              - kind: ServiceAccount
+                name: ozg-operator-serviceaccount
+                namespace: by-helm-test
+        documentIndex: 0
+      - equal:
+          path: roleRef
+          value:
+              kind: ClusterRole
+              name: ozg-operator-keycloak-write-role
+              apiGroup: rbac.authorization.k8s.io
+        documentIndex: 0
+  - it: role 
+    asserts:
+      - isKind:
+          of: ClusterRole
+        documentIndex: 1
+      - isAPIVersion:
+          of: rbac.authorization.k8s.io/v1
+        documentIndex: 1
+      - equal:
+          path: metadata
+          value:
+              name: ozg-operator-keycloak-write-role
+        documentIndex: 1
+      - equal:
+          path: rules
+          value:
+              - apiGroups:
+                  - "*"
+                resources:
+                  - ozgkeycloakusers
+                  - ozgkeycloakusers/status
+                  - ozgkeycloakusers/finalizers
+                  - ozgkeycloakgroups
+                  - ozgkeycloakgroups/status
+                  - ozgkeycloakgroups/finalizers
+                  - ozgkeycloakrealms
+                  - ozgkeycloakrealms/status
+                  - ozgkeycloakrealms/finalizers
+                  - ozgkeycloakclients
+                  - ozgkeycloakclients/status
+                  - ozgkeycloakclients/finalizers
+                verbs:
+                  - get
+                  - list
+                  - create
+                  - delete
+                  - patch
+                  - update
+                  - watch
+        documentIndex: 1
\ No newline at end of file