From 13d860f7f45bfa5fd4c7d19ff033f52905044adb Mon Sep 17 00:00:00 2001 From: Laszlo Fogas Date: Wed, 29 Sep 2021 10:34:18 +0200 Subject: [PATCH] Using networking.k8s.io/v1 Ingress; requires cluster versions >= 1.19 --- charts/onechart/templates/ingress.yaml | 15 ++++++--- .../onechart/tests/ingress_domain_test.yaml | 33 ++++++++++++++----- charts/onechart/tests/ingress_port_test.yaml | 4 +-- values.yaml | 17 +--------- 4 files changed, 39 insertions(+), 30 deletions(-) diff --git a/charts/onechart/templates/ingress.yaml b/charts/onechart/templates/ingress.yaml index 56248bd..a9cb58b 100644 --- a/charts/onechart/templates/ingress.yaml +++ b/charts/onechart/templates/ingress.yaml @@ -6,7 +6,7 @@ {{- $resourceName = printf "%s-%s" $robustName (include "robustName" .ingress.host) -}} {{- end }} --- -apiVersion: networking.k8s.io/v1beta1 +apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: {{ $resourceName }} @@ -26,6 +26,9 @@ metadata: {{- end }} {{- end }} spec: + {{- if .ingress.ingressClassName }} + ingressClassName: {{ .ingress.ingressClassName }} + {{- end }} {{- if default false .ingress.tlsEnabled }} tls: - hosts: @@ -36,9 +39,13 @@ spec: - host: {{ .ingress.host | quote }} http: paths: - - backend: - serviceName: {{ $robustName }} - servicePort: {{ if .root.Values.svcPort }}{{ .root.Values.svcPort }}{{ else }}{{ .root.Values.containerPort }}{{ end }} + - path: "/" + pathType: "Prefix" + backend: + service: + name: {{ $robustName }} + port: + number: {{ if .root.Values.svcPort }}{{ .root.Values.svcPort }}{{ else }}{{ .root.Values.containerPort }}{{ end }} {{- end }} {{- with .Values.ingress }} diff --git a/charts/onechart/tests/ingress_domain_test.yaml b/charts/onechart/tests/ingress_domain_test.yaml index df420b6..d9cb613 100644 --- a/charts/onechart/tests/ingress_domain_test.yaml +++ b/charts/onechart/tests/ingress_domain_test.yaml @@ -20,9 +20,13 @@ tests: - host: chart-example.local http: paths: - - backend: - serviceName: release-name - servicePort: 80 + - path: "/" + pathType: "Prefix" + backend: + service: + name: release-name + port: + number: 80 - it: Should pass ingress host name as is, user must sanitize it set: ingress: @@ -41,20 +45,33 @@ tests: - host: feature/my_branch.local http: paths: - - backend: - serviceName: release-name - servicePort: 80 + - path: "/" + pathType: "Prefix" + backend: + service: + name: release-name + port: + number: 80 - it: Should set Ingress annotation set: ingress: host: chart-example.local annotations: - kubernetes.io/ingress.class: nginx + just/a-random: annotation asserts: - equal: path: metadata.annotations value: - kubernetes.io/ingress.class: nginx + just/a-random: annotation + - it: Should set ingress class + set: + ingress: + host: chart-example.local + ingressClassName: nginx + asserts: + - equal: + path: spec.ingressClassName + value: nginx - it: Should generate multiple ingresses set: ingresses: diff --git a/charts/onechart/tests/ingress_port_test.yaml b/charts/onechart/tests/ingress_port_test.yaml index 8ed4d0c..a83ea97 100644 --- a/charts/onechart/tests/ingress_port_test.yaml +++ b/charts/onechart/tests/ingress_port_test.yaml @@ -9,7 +9,7 @@ tests: containerPort: 1234 asserts: - equal: - path: spec.rules[0].http.paths[0].backend.servicePort + path: spec.rules[0].http.paths[0].backend.service.port.number value: 1234 - it: Should use service port set: @@ -19,5 +19,5 @@ tests: containerPort: 5678 asserts: - equal: - path: spec.rules[0].http.paths[0].backend.servicePort + path: spec.rules[0].http.paths[0].backend.service.port.number value: 1234 diff --git a/values.yaml b/values.yaml index 7457449..5af427f 100644 --- a/values.yaml +++ b/values.yaml @@ -1,24 +1,9 @@ ingress: host: chart-example.local - annotations: - kubernetes.io/ingress.class: nginx -ingresses: - - host: chart-example.local - tlsEnabled: true - annotations: - kubernetes.io/ingress.class: nginx - - host: another.local - tlsEnabled: true - annotations: - kubernetes.io/ingress.class: nginx + ingressClassName: nginx gitRepository: github.com/laszlocph/demo-app gitSha: xyz vars: MY_VAR: "value" - -volumes: - - name: data - path: /data - existingClaim: myclaim