diff --git a/src/main/helm/templates/_helpers.tpl b/src/main/helm/templates/_helpers.tpl
index f0fef2523d2dcb26333470a59ce1b12de1a105ea..9d24fd8ea73b2736cb5172a3f3da10da532cfc0a 100644
--- a/src/main/helm/templates/_helpers.tpl
+++ b/src/main/helm/templates/_helpers.tpl
@@ -1,45 +1,43 @@
 {{/* vim: set filetype=mustache: */}}
 
-{{/* Truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec) */}}
-{{/* Name */}}
-{{- define "app.name" -}}
-{{- default .Release.Name | toString | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
 {{/* Namespace */}}
 {{- define "app.namespace" -}}
-{{- default .Release.Namespace | toString | trunc 63 | trimSuffix "-" -}}
+{{- if gt (len (.Release.Namespace)) 63 -}}
+{{- fail (printf ".Release.Namespace %s ist zu lang (max. 63 Zeichen)" .Release.Namespace) -}}
 {{- end -}}
-
-{{/* Version */}}
-{{- define "app.version" -}}
-{{- default .Chart.Version | toString | trunc 63 | trimSuffix "-" -}}
+{{ printf "%s" .Release.Namespace }}
 {{- end -}}
 
 {{/* Chart: Name + Version */}}
 {{- define "app.chart" -}}
-{{ printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
+{{- if gt (len (printf "%s-%s" .Chart.Name .Chart.Version)) 63 -}}
+{{- fail (printf ".Chart.Name-.Chart.Version %s-%s ist zu lang (max. 63 Zeichen)" .Chart.Name .Chart.Version) -}}
+{{- end -}}
+{{ printf "%s-%s" .Chart.Name .Chart.Version }}
 {{- end -}}
 
 {{/* Managed-by -> On Helm, this value is always Helm */}}
 {{- define "app.managedBy" -}}
-{{- default .Release.Service | toString | trunc 63 | trimSuffix "-" -}}
+{{- if gt (len (.Release.Service)) 63 -}}
+{{- fail (printf ".Release.Service %s ist zu lang (max. 63 Zeichen)" .Release.Service) -}}
+{{- end -}}
+{{ printf "%s" .Release.Service }}
 {{- end -}}
 
 {{/* Default Labels: Helm recommended best-practice labels https://helm.sh/docs/chart_best_practices/labels/ */}}
 {{- define "app.defaultLabels" }}
 app.kubernetes.io/instance: user-manager
 app.kubernetes.io/managed-by: {{ include "app.managedBy" . }}
-app.kubernetes.io/name: {{ include "app.name" . }}
+app.kubernetes.io/name: {{ .Release.Name }}
 app.kubernetes.io/namespace: {{ include "app.namespace" . }}
 app.kubernetes.io/part-of: ozgcloud
-app.kubernetes.io/version: {{ include "app.version" . }}
+app.kubernetes.io/version: {{ .Chart.Version }}
 helm.sh/chart: {{ include "app.chart" . }}
 ozgcloud-mongodb-client: "true"
 {{- end -}}
 
 {{- define "app.matchLabels" }}
-app.kubernetes.io/name: {{ include "app.name" . }}
+app.kubernetes.io/name: {{ .Release.Name }}
 app.kubernetes.io/namespace: {{ include "app.namespace" . }}
 {{- end -}}
 
@@ -103,7 +101,7 @@ app.kubernetes.io/namespace: {{ include "app.namespace" . }}
 {{- if (.Values.baseDomain) -}}
 {{ .Values.baseDomain }}
 {{- else -}}
-{{ printf "%s-%s.%s" (include "app.ozgcloudBezeichner" .) (include "app.name" .) (include "app.baseUrl" .) }}
+{{ printf "%s-%s.%s" (include "app.ozgcloudBezeichner" .) (.Release.Name) (include "app.baseUrl" .) }}
 {{- end -}}
 {{- end -}}
 
diff --git a/src/main/helm/templates/certificate.yaml b/src/main/helm/templates/certificate.yaml
index f90349548a71d69b31262afee0286939b5732c14..2e711fd20a731f19e17fac1fa1cbb11257d041e7 100644
--- a/src/main/helm/templates/certificate.yaml
+++ b/src/main/helm/templates/certificate.yaml
@@ -35,12 +35,12 @@ spec:
     kind: Issuer
   duration: 8760h0m0s
   renewBefore: 720h0m0s
-  commonName: {{ include "app.name" . }}
+  commonName: {{ .Release.Name }}
   dnsNames:
-    - "*.{{ include "app.name" . }}.{{ include "app.namespace" . }}.svc.cluster.local"
-    - "{{ include "app.name" . }}.{{ include "app.namespace" . }}.svc.cluster.local"
-    - "{{ include "app.name" . }}.{{ include "app.namespace" . }}.svc.cluster"
-    - "{{ include "app.name" . }}.{{ include "app.namespace" . }}.svc"
-    - "{{ include "app.name" . }}.{{ include "app.namespace" . }}"
-    - "{{ include "app.name" . }}"
+    - "*.{{ .Release.Name }}.{{ include "app.namespace" . }}.svc.cluster.local"
+    - "{{ .Release.Name }}.{{ include "app.namespace" . }}.svc.cluster.local"
+    - "{{ .Release.Name }}.{{ include "app.namespace" . }}.svc.cluster"
+    - "{{ .Release.Name }}.{{ include "app.namespace" . }}.svc"
+    - "{{ .Release.Name }}.{{ include "app.namespace" . }}"
+    - "{{ .Release.Name }}"
 {{- end }}
\ No newline at end of file
diff --git a/src/main/helm/templates/deployment.yaml b/src/main/helm/templates/deployment.yaml
index e8f5ea015ea704e945a155d1cda4075846feeb51..a602dfe739eede70e7ec97d6994296e953c50ce3 100644
--- a/src/main/helm/templates/deployment.yaml
+++ b/src/main/helm/templates/deployment.yaml
@@ -25,7 +25,7 @@
 apiVersion: apps/v1
 kind: Deployment
 metadata:
-  name: {{ include "app.name" . }}
+  name: {{ .Release.Name }}
   namespace: {{ include "app.namespace" . }}
   labels:
     {{- include "app.defaultLabels" . | indent 4 }}
@@ -57,7 +57,7 @@ spec:
         whenUnsatisfiable: ScheduleAnyway
         labelSelector:
           matchLabels:
-            app.kubernetes.io/name: {{ include "app.name" . }}
+            app.kubernetes.io/name: {{ .Release.Name }}
       containers:
       - env:
         - name: QUARKUS_MONGODB_CONNECTION_STRING
diff --git a/src/main/helm/templates/ingress.yaml b/src/main/helm/templates/ingress.yaml
index 1a1a9357b8c38c12a0fa12201667a1f35d7d5adb..a70a6b30d3fe88b62cca06d458525b2c6543c52b 100644
--- a/src/main/helm/templates/ingress.yaml
+++ b/src/main/helm/templates/ingress.yaml
@@ -36,7 +36,7 @@ metadata:
     cert-manager.io/cluster-issuer: letsencrypt-prod
     {{- end }}
     {{- end }}
-  name: {{ include "app.name" . }}
+  name: {{ .Release.Name }}
   namespace: {{ include "app.namespace" . }}
 spec:
   {{- if (.Values.ingress).className }}
@@ -49,7 +49,7 @@ spec:
               service:
                 port:
                   number: 8080
-                name: {{ include "app.name" . }}
+                name: {{ .Release.Name }}
             path: ''
             pathType: ImplementationSpecific
       host: {{ ( include "app.baseDomain" . ) }}
@@ -60,6 +60,6 @@ spec:
       {{- if (.Values.ingress).tlsSecretName }}
       secretName: {{ (.Values.ingress).tlsSecretName }}
       {{- else }}
-      secretName: {{ .Values.ozgcloud.bezeichner }}-{{ include "app.name" . }}-tls
+      secretName: {{ .Values.ozgcloud.bezeichner }}-{{ .Release.Name }}-tls
       {{- end }}
       {{- end }}
\ No newline at end of file
diff --git a/src/main/helm/templates/service.yaml b/src/main/helm/templates/service.yaml
index a8311d49e31232410a1a7f5e9c0c249abee700b2..dd175e4b848bd56b7cb19f226b3b45e65582f8b3 100644
--- a/src/main/helm/templates/service.yaml
+++ b/src/main/helm/templates/service.yaml
@@ -25,7 +25,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "app.name" . }}
+  name: {{ .Release.Name }}
   namespace: {{ include "app.namespace" . }}
   labels:
     {{- include "app.defaultLabels" . | indent 4 }}
diff --git a/src/main/helm/templates/service_monitor.yaml b/src/main/helm/templates/service_monitor.yaml
index a5f69f134456736c7af093646d22e4dea4b95b6e..29e7125bbb9d391b3cf0081ab78ed17e643a1d79 100644
--- a/src/main/helm/templates/service_monitor.yaml
+++ b/src/main/helm/templates/service_monitor.yaml
@@ -26,7 +26,7 @@
 apiVersion: monitoring.coreos.com/v1
 kind: ServiceMonitor
 metadata:
-  name: {{ include "app.name" . }}
+  name: {{ .Release.Name }}
   namespace: {{ include "app.namespace" . }}
   labels:
     {{- include "app.defaultLabels" . | indent 4 }}
diff --git a/src/test/helm/deployment_63_char_test.yaml b/src/test/helm/deployment_63_char_test.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..e6a14d3a5c38808a8fc4c3a25920dc4dedc6f093
--- /dev/null
+++ b/src/test/helm/deployment_63_char_test.yaml
@@ -0,0 +1,58 @@
+#
+# Copyright (C) 2024 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 deyploment less than 63 chars
+release:
+  name: user-manager
+  namespace: sh-helm-test
+
+templates:
+  - templates/deployment.yaml
+set:
+  ozgcloud:
+    bundesland: by
+    bezeichner: helm
+    environment: dev
+  sso.serverUrl: https://sso.company.local
+  baseUrl: test.company.local
+
+tests:
+  - it: should fail on .Release.Namespace length longer than 63 characters
+    release:
+      namespace: test1234567890123123456789012345678901234567890123456789012345678901234567890123456789012345678904567890
+    asserts:
+      - failedTemplate:
+          errorMessage: .Release.Namespace test1234567890123123456789012345678901234567890123456789012345678901234567890123456789012345678904567890 ist zu lang (max. 63 Zeichen)
+  - it: should not fail on .Release.Namespace length less than 63 characters
+    asserts:
+      - notFailedTemplate: {}
+  - it: should fail on .Chart.Name-.Chart.Version length longer than 63 characters
+    chart:
+      version: 1.0-test1234567890123123456789012345678901234567890123456789012345678901234567890123456789012345678904567890
+    asserts:
+      - failedTemplate:
+          errorMessage: .Chart.Name-.Chart.Version user-manager-1.0-test1234567890123123456789012345678901234567890123456789012345678901234567890123456789012345678904567890 ist zu lang (max. 63 Zeichen)
+  - it: should not fail on .Chart.Name-.Chart.Version length less than 63 characters
+    asserts:
+      - notFailedTemplate: {}
\ No newline at end of file