diff --git a/.gitlab-ci/values.yaml b/.gitlab-ci/values.yaml
index ab176f0aae295a10e71d0e04208c00ebd5d67e1d..b7a16b3fc2b6fa2655fa469b97ce0a5cf8c2936d 100644
--- a/.gitlab-ci/values.yaml
+++ b/.gitlab-ci/values.yaml
@@ -1,7 +1,7 @@
 replicaCount: 1
 containerPort: 8080
 manifests:
-  - https://manifest-service-dummy.k3s.os.oxui.de/manifest.json
+  - https://core-plugin-example-${CI_COMMIT_REF_SLUG}.k3s.os.oxui.de/manifest.json
 ingress:
   enabled: true
   hosts:
diff --git a/helm/core-manifest-service/templates/ingress.yaml b/helm/core-manifest-service/templates/ingress.yaml
index fac2ec7be5940cc24794d3c00e0b0667ca146406..c965713d1b57fee1b395e36b949ff4220622cc64 100644
--- a/helm/core-manifest-service/templates/ingress.yaml
+++ b/helm/core-manifest-service/templates/ingress.yaml
@@ -1,7 +1,14 @@
 {{- if .Values.ingress.enabled -}}
 {{- $fullName := include "core-manifest-service.fullname" . -}}
 {{- $svcPort := .Values.service.port -}}
-{{- if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
+{{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }}
+  {{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }}
+  {{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}}
+  {{- end }}
+{{- end }}
+{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}}
+apiVersion: networking.k8s.io/v1
+{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
 apiVersion: networking.k8s.io/v1beta1
 {{- else -}}
 apiVersion: extensions/v1beta1
@@ -16,6 +23,9 @@ metadata:
     {{- toYaml . | nindent 4 }}
   {{- end }}
 spec:
+  {{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }}
+  ingressClassName: {{ .Values.ingress.className }}
+  {{- end }}
   {{- if .Values.ingress.tls }}
   tls:
     {{- range .Values.ingress.tls }}
@@ -33,9 +43,19 @@ spec:
         paths:
           {{- range .paths }}
           - path: {{ .path }}
+            {{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }}
+            pathType: {{ .pathType }}
+            {{- end }}
             backend:
+              {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
+              service:
+                name: {{ $fullName }}
+                port:
+                  number: {{ $svcPort }}
+              {{- else }}
               serviceName: {{ $fullName }}
               servicePort: {{ $svcPort }}
+              {{- end }}
           {{- end }}
     {{- end }}
-  {{- end }}
+{{- end }}
diff --git a/helm/core-manifest-service/values.yaml b/helm/core-manifest-service/values.yaml
index 1ae3e68afd52e056d73ef30721b1e3f8045014d8..83e68945e1ceb86337d2858f5d8719cae9c1936b 100644
--- a/helm/core-manifest-service/values.yaml
+++ b/helm/core-manifest-service/values.yaml
@@ -44,12 +44,15 @@ service:
 
 ingress:
   enabled: true
+  className: ""
   annotations: {}
     # kubernetes.io/ingress.class: nginx
     # kubernetes.io/tls-acme: "true"
   hosts:
     - host: chart-example.local
-      paths: []
+      paths:
+        - path: /
+          pathType: ImplementationSpecific
   tls: []
   #  - secretName: chart-example-tls
   #    hosts: