From 829df33ac5a762c3cb055719df8b760debc4dd3b Mon Sep 17 00:00:00 2001 From: "Javier J. Salmeron Garcia" Date: Fri, 21 Sep 2018 16:49:37 +0200 Subject: [PATCH] [bitnami/nginx-ingress-controller] Fix chart not being upgradable Signed-off-by: Javier J. Salmeron Garcia --- bitnami/nginx-ingress-controller/Chart.yaml | 2 +- bitnami/nginx-ingress-controller/README.md | 15 +++++++++++++++ .../templates/controller-daemonset.yaml | 5 +++++ .../templates/controller-deployment.yaml | 5 +++++ .../templates/default-backend-deployment.yaml | 4 ++++ 5 files changed, 30 insertions(+), 1 deletion(-) diff --git a/bitnami/nginx-ingress-controller/Chart.yaml b/bitnami/nginx-ingress-controller/Chart.yaml index 922ea6b1af62e6..ecb004a99cdbee 100644 --- a/bitnami/nginx-ingress-controller/Chart.yaml +++ b/bitnami/nginx-ingress-controller/Chart.yaml @@ -1,5 +1,5 @@ name: nginx-ingress-controller -version: 0.0.1 +version: 1.0.0 appVersion: 0.18.0 description: Chart for the nginx Ingress controller keywords: diff --git a/bitnami/nginx-ingress-controller/README.md b/bitnami/nginx-ingress-controller/README.md index 697ce5e1794605..788c0c6c15c6c1 100644 --- a/bitnami/nginx-ingress-controller/README.md +++ b/bitnami/nginx-ingress-controller/README.md @@ -177,3 +177,18 @@ $ helm install --name my-release -f values.yaml bitnami/nginx-ingress-controller ``` > **Tip**: You can use the default [values.yaml](values.yaml) + +## Upgrading + +### To 1.0.0 + +Backwards compatibility is not guaranteed unless you modify the labels used on the chart's deployments. +Use the workaround below to upgrade from versions previous to 1.0.0. The following example assumes that the release name is nginx-ingress-controller: + +```console +$ kubectl patch deployment nginx-ingress-controller-default-backend --type=json -p='[{"op": "remove", "path": "/spec/selector/matchLabels/chart"}]' +# If using deployments +$ kubectl patch deployment nginx-ingress-controller --type=json -p='[{"op": "remove", "path": "/spec/selector/matchLabels/chart"}]' +# If using daemonsets +$ kubectl patch daemonset nginx-ingress-controller --type=json -p='[{"op": "remove", "path": "/spec/selector/matchLabels/chart"}]' +``` diff --git a/bitnami/nginx-ingress-controller/templates/controller-daemonset.yaml b/bitnami/nginx-ingress-controller/templates/controller-daemonset.yaml index 0f71b5d87d5901..4cd27dd64d5974 100644 --- a/bitnami/nginx-ingress-controller/templates/controller-daemonset.yaml +++ b/bitnami/nginx-ingress-controller/templates/controller-daemonset.yaml @@ -10,6 +10,11 @@ metadata: release: {{ .Release.Name }} name: {{ template "nginx-ingress.fullname" . }} spec: + selector: + matchLabels: + app: {{ template "nginx-ingress.name" . }} + release: "{{ .Release.Name }}" + component: "{{ .Values.name }}" revisionHistoryLimit: {{ .Values.revisionHistoryLimit }} updateStrategy: {{ toYaml .Values.updateStrategy | indent 4 }} diff --git a/bitnami/nginx-ingress-controller/templates/controller-deployment.yaml b/bitnami/nginx-ingress-controller/templates/controller-deployment.yaml index 538486002f544b..da74b664f12b7e 100644 --- a/bitnami/nginx-ingress-controller/templates/controller-deployment.yaml +++ b/bitnami/nginx-ingress-controller/templates/controller-deployment.yaml @@ -10,6 +10,11 @@ metadata: release: {{ .Release.Name }} name: {{ template "nginx-ingress.fullname" . }} spec: + selector: + matchLabels: + app: {{ template "nginx-ingress.name" . }} + release: "{{ .Release.Name }}" + component: "{{ .Values.name }}" replicas: {{ .Values.replicaCount }} revisionHistoryLimit: {{ .Values.revisionHistoryLimit }} strategy: diff --git a/bitnami/nginx-ingress-controller/templates/default-backend-deployment.yaml b/bitnami/nginx-ingress-controller/templates/default-backend-deployment.yaml index de5d80ec1c1169..58d6c15194c5d5 100644 --- a/bitnami/nginx-ingress-controller/templates/default-backend-deployment.yaml +++ b/bitnami/nginx-ingress-controller/templates/default-backend-deployment.yaml @@ -10,6 +10,10 @@ metadata: release: {{ .Release.Name }} name: {{ template "nginx-ingress.defaultBackend.fullname" . }} spec: + selector: + matchLabels: + app: {{ template "nginx-ingress.name" . }} + release: "{{ .Release.Name }}" replicas: {{ .Values.defaultBackend.replicaCount }} revisionHistoryLimit: {{ .Values.revisionHistoryLimit }} template: