From 682cb9f66c2d86879519ae0de32bad9a042c8e17 Mon Sep 17 00:00:00 2001
From: Frank Paczynski <frank.paczynski@open-xchange.com>
Date: Wed, 9 Jun 2021 17:17:22 +0200
Subject: [PATCH] use manifest of frontend-plugin-example and update chart with
 helm 3.6.0

---
 .gitlab-ci/values.yaml                        |  2 +-
 .../templates/ingress.yaml                    | 24 +++++++++++++++++--
 helm/core-manifest-service/values.yaml        |  5 +++-
 3 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/.gitlab-ci/values.yaml b/.gitlab-ci/values.yaml
index ab176f0..b7a16b3 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 fac2ec7..c965713 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 1ae3e68..83e6894 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:
-- 
GitLab