From e9641ba08ed0264c5bf20870a091c51234ee38c8 Mon Sep 17 00:00:00 2001 From: Manuel Alejandro de Brito Fontes Date: Sun, 15 Mar 2020 12:37:59 -0300 Subject: [PATCH] Check chart controller image tag --- charts/ingress-nginx/templates/_helpers.tpl | 9 +++++++++ charts/ingress-nginx/templates/controller-daemonset.yaml | 1 + .../ingress-nginx/templates/controller-deployment.yaml | 1 + 3 files changed, 11 insertions(+) diff --git a/charts/ingress-nginx/templates/_helpers.tpl b/charts/ingress-nginx/templates/_helpers.tpl index 716587f9a..bb3ac40a3 100644 --- a/charts/ingress-nginx/templates/_helpers.tpl +++ b/charts/ingress-nginx/templates/_helpers.tpl @@ -146,3 +146,12 @@ Return the appropriate apiVersion for podSecurityPolicy. {{- print "extensions/v1beta1" -}} {{- end -}} {{- end -}} + +{{/* +Check the ingress controller version tag is at most three versions behind the last release +*/}} +{{- define "isControllerTagValid" -}} +{{- if not (semverCompare ">=0.27.0" .Values.controller.image.tag) -}} +{{- fail "Controller container image tag should be 0.27.0 or higher" -}} +{{- end -}} +{{- end -}} diff --git a/charts/ingress-nginx/templates/controller-daemonset.yaml b/charts/ingress-nginx/templates/controller-daemonset.yaml index 6decaf700..c5ee447d9 100644 --- a/charts/ingress-nginx/templates/controller-daemonset.yaml +++ b/charts/ingress-nginx/templates/controller-daemonset.yaml @@ -1,4 +1,5 @@ {{- if or (eq .Values.controller.kind "DaemonSet") (eq .Values.controller.kind "Both") -}} +{{- include "isControllerTagValid" . -}} apiVersion: {{ template "daemonset.apiVersion" . }} kind: DaemonSet metadata: diff --git a/charts/ingress-nginx/templates/controller-deployment.yaml b/charts/ingress-nginx/templates/controller-deployment.yaml index 742251afc..ec04d1928 100644 --- a/charts/ingress-nginx/templates/controller-deployment.yaml +++ b/charts/ingress-nginx/templates/controller-deployment.yaml @@ -1,4 +1,5 @@ {{- if or (eq .Values.controller.kind "Deployment") (eq .Values.controller.kind "Both") -}} +{{- include "isControllerTagValid" . -}} apiVersion: {{ template "deployment.apiVersion" . }} kind: Deployment metadata: