From 10e466c7211bf6474336d774990bc98caed70079 Mon Sep 17 00:00:00 2001 From: Blanko2 Date: Mon, 29 Jun 2020 15:26:17 +1200 Subject: [PATCH] adding backwards compatible component label key override (#22983) Signed-off-by: Rodrigo Lomonaco Co-authored-by: rodrigo.lomonaco --- stable/nginx-ingress/Chart.yaml | 2 +- stable/nginx-ingress/README.md | 2 ++ stable/nginx-ingress/templates/controller-daemonset.yaml | 8 ++++---- stable/nginx-ingress/templates/controller-deployment.yaml | 7 ++++--- .../templates/controller-metrics-service.yaml | 2 +- .../templates/controller-poddisruptionbudget.yaml | 4 ++-- .../templates/controller-service-internal.yaml | 2 +- stable/nginx-ingress/templates/controller-service.yaml | 2 +- .../templates/controller-webhook-service.yaml | 2 +- .../templates/default-backend-deployment.yaml | 6 +++--- .../templates/default-backend-poddisruptionbudget.yaml | 4 ++-- .../nginx-ingress/templates/default-backend-service.yaml | 2 +- stable/nginx-ingress/values.yaml | 6 ++++++ 13 files changed, 29 insertions(+), 20 deletions(-) diff --git a/stable/nginx-ingress/Chart.yaml b/stable/nginx-ingress/Chart.yaml index bdd58b6c91..d241e068ef 100644 --- a/stable/nginx-ingress/Chart.yaml +++ b/stable/nginx-ingress/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: nginx-ingress -version: 1.40.1 +version: 1.40.2 appVersion: 0.32.0 home: https://github.com/kubernetes/ingress-nginx description: An nginx Ingress controller that uses ConfigMap to store the nginx configuration. diff --git a/stable/nginx-ingress/README.md b/stable/nginx-ingress/README.md index c76f9ccc2e..907b9548ba 100644 --- a/stable/nginx-ingress/README.md +++ b/stable/nginx-ingress/README.md @@ -53,6 +53,7 @@ Parameter | Description | Default `controller.image.pullPolicy` | controller container image pull policy | `IfNotPresent` `controller.image.runAsUser` | User ID of the controller process. Value depends on the Linux distribution used inside of the container image. | `101` `controller.useComponentLabel` | Wether to add component label so the HPA can work separately for controller and defaultBackend. *Note: don't change this if you have an already running deployment as it will need the recreation of the controller deployment* | `false` +`controller.componentLabelKeyOverride` | Allows override of the component label key | `""` `controller.containerPort.http` | The port that the controller container listens on for http connections. | `80` `controller.containerPort.https` | The port that the controller container listens on for https connections. | `443` `controller.config` | nginx [ConfigMap](https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/configmap.md) entries | none @@ -191,6 +192,7 @@ Parameter | Description | Default `defaultBackend.image.pullPolicy` | default backend container image pull policy | `IfNotPresent` `defaultBackend.image.runAsUser` | User ID of the controller process. Value depends on the Linux distribution used inside of the container image. By default uses nobody user. | `65534` `defaultBackend.useComponentLabel` | Whether to add component label so the HPA can work separately for controller and defaultBackend. *Note: don't change this if you have an already running deployment as it will need the recreation of the defaultBackend deployment* | `false` +`defaultBackend.componentLabelKeyOverride` | Allows override of the component label key | `""` `defaultBackend.extraArgs` | Additional default backend container arguments | `{}` `defaultBackend.extraEnvs` | any additional environment variables to set in the defaultBackend pods | `[]` `defaultBackend.port` | Http port number | `8080` diff --git a/stable/nginx-ingress/templates/controller-daemonset.yaml b/stable/nginx-ingress/templates/controller-daemonset.yaml index f3663fcc81..c6249b2e7e 100644 --- a/stable/nginx-ingress/templates/controller-daemonset.yaml +++ b/stable/nginx-ingress/templates/controller-daemonset.yaml @@ -9,9 +9,9 @@ metadata: chart: {{ template "nginx-ingress.chart" . }} heritage: {{ .Release.Service }} release: {{ template "nginx-ingress.releaseLabel" . }} - app.kubernetes.io/component: controller + {{ .Values.controller.componentLabelKeyOverride | default "app.kubernetes.io/component" }}: controller name: {{ template "nginx-ingress.controller.fullname" . }} - annotations: + annotations: {{ toYaml .Values.controller.deploymentAnnotations | indent 4}} spec: selector: @@ -19,7 +19,7 @@ spec: app: {{ template "nginx-ingress.name" . }} release: {{ template "nginx-ingress.releaseLabel" . }} {{- if .Values.controller.useComponentLabel }} - app.kubernetes.io/component: controller + {{ .Values.controller.componentLabelKeyOverride | default "app.kubernetes.io/component" }}: controller {{- end }} revisionHistoryLimit: {{ .Values.revisionHistoryLimit }} updateStrategy: @@ -37,7 +37,7 @@ spec: app: {{ template "nginx-ingress.name" . }} release: {{ template "nginx-ingress.releaseLabel" . }} component: "{{ .Values.controller.name }}" - app.kubernetes.io/component: controller + {{ .Values.controller.componentLabelKeyOverride | default "app.kubernetes.io/component" }}: controller {{- if .Values.controller.podLabels }} {{ toYaml .Values.controller.podLabels | indent 8}} {{- end }} diff --git a/stable/nginx-ingress/templates/controller-deployment.yaml b/stable/nginx-ingress/templates/controller-deployment.yaml index 84396e8643..b23bcf5a42 100644 --- a/stable/nginx-ingress/templates/controller-deployment.yaml +++ b/stable/nginx-ingress/templates/controller-deployment.yaml @@ -7,7 +7,8 @@ metadata: chart: {{ template "nginx-ingress.chart" . }} heritage: {{ .Release.Service }} release: {{ template "nginx-ingress.releaseLabel" . }} - app.kubernetes.io/component: controller + {{ .Values.controller.componentLabelKeyOverride | default "app.kubernetes.io/component" }}: controller + {{- if .Values.controller.deploymentLabels }} {{ toYaml .Values.controller.deploymentLabels | indent 4 }} {{- end }} @@ -20,7 +21,7 @@ spec: app: {{ template "nginx-ingress.name" . }} release: {{ template "nginx-ingress.releaseLabel" . }} {{- if .Values.controller.useComponentLabel }} - app.kubernetes.io/component: controller + {{ .Values.controller.componentLabelKeyOverride | default "app.kubernetes.io/component" }}: controller {{- end }} {{- if not .Values.controller.autoscaling.enabled }} replicas: {{ .Values.controller.replicaCount }} @@ -41,7 +42,7 @@ spec: app: {{ template "nginx-ingress.name" . }} release: {{ template "nginx-ingress.releaseLabel" . }} component: "{{ .Values.controller.name }}" - app.kubernetes.io/component: controller + {{ .Values.controller.componentLabelKeyOverride | default "app.kubernetes.io/component" }}: controller {{- if .Values.controller.podLabels }} {{ toYaml .Values.controller.podLabels | indent 8 }} {{- end }} diff --git a/stable/nginx-ingress/templates/controller-metrics-service.yaml b/stable/nginx-ingress/templates/controller-metrics-service.yaml index 9e991d69de..43b9759665 100644 --- a/stable/nginx-ingress/templates/controller-metrics-service.yaml +++ b/stable/nginx-ingress/templates/controller-metrics-service.yaml @@ -42,6 +42,6 @@ spec: selector: app: {{ template "nginx-ingress.name" . }} release: {{ template "nginx-ingress.releaseLabel" . }} - app.kubernetes.io/component: controller + {{ .Values.controller.componentLabelKeyOverride | default "app.kubernetes.io/component" }}: controller type: "{{ .Values.controller.metrics.service.type }}" {{- end }} diff --git a/stable/nginx-ingress/templates/controller-poddisruptionbudget.yaml b/stable/nginx-ingress/templates/controller-poddisruptionbudget.yaml index 888515a25a..4f236d41c5 100644 --- a/stable/nginx-ingress/templates/controller-poddisruptionbudget.yaml +++ b/stable/nginx-ingress/templates/controller-poddisruptionbudget.yaml @@ -5,7 +5,7 @@ metadata: labels: app: {{ template "nginx-ingress.name" . }} chart: {{ template "nginx-ingress.chart" . }} - app.kubernetes.io/component: controller + {{ .Values.controller.componentLabelKeyOverride | default "app.kubernetes.io/component" }}: controller heritage: {{ .Release.Service }} release: {{ template "nginx-ingress.releaseLabel" . }} name: {{ template "nginx-ingress.controller.fullname" . }} @@ -14,6 +14,6 @@ spec: matchLabels: app: {{ template "nginx-ingress.name" . }} release: {{ template "nginx-ingress.releaseLabel" . }} - app.kubernetes.io/component: controller + {{ .Values.controller.componentLabelKeyOverride | default "app.kubernetes.io/component" }}: controller minAvailable: {{ .Values.controller.minAvailable }} {{- end }} diff --git a/stable/nginx-ingress/templates/controller-service-internal.yaml b/stable/nginx-ingress/templates/controller-service-internal.yaml index 04cb171c1e..dd6bf7d62b 100644 --- a/stable/nginx-ingress/templates/controller-service-internal.yaml +++ b/stable/nginx-ingress/templates/controller-service-internal.yaml @@ -40,6 +40,6 @@ spec: selector: app: {{ template "nginx-ingress.name" . }} release: {{ template "nginx-ingress.releaseLabel" . }} - app.kubernetes.io/component: controller + {{ .Values.controller.componentLabelKeyOverride | default "app.kubernetes.io/component" }}: controller type: "{{ .Values.controller.service.type }}" {{- end }} diff --git a/stable/nginx-ingress/templates/controller-service.yaml b/stable/nginx-ingress/templates/controller-service.yaml index 15d51a03cb..5ee4278b73 100644 --- a/stable/nginx-ingress/templates/controller-service.yaml +++ b/stable/nginx-ingress/templates/controller-service.yaml @@ -89,6 +89,6 @@ spec: selector: app: {{ template "nginx-ingress.name" . }} release: {{ template "nginx-ingress.releaseLabel" . }} - app.kubernetes.io/component: controller + {{ .Values.controller.componentLabelKeyOverride | default "app.kubernetes.io/component" }}: controller type: "{{ .Values.controller.service.type }}" {{- end }} diff --git a/stable/nginx-ingress/templates/controller-webhook-service.yaml b/stable/nginx-ingress/templates/controller-webhook-service.yaml index 5c4ad85aa3..67041d5328 100644 --- a/stable/nginx-ingress/templates/controller-webhook-service.yaml +++ b/stable/nginx-ingress/templates/controller-webhook-service.yaml @@ -39,6 +39,6 @@ spec: selector: app: {{ template "nginx-ingress.name" . }} release: {{ template "nginx-ingress.releaseLabel" . }} - app.kubernetes.io/component: controller + {{ .Values.controller.componentLabelKeyOverride | default "app.kubernetes.io/component" }}: controller type: "{{ .Values.controller.admissionWebhooks.service.type }}" {{- end }} diff --git a/stable/nginx-ingress/templates/default-backend-deployment.yaml b/stable/nginx-ingress/templates/default-backend-deployment.yaml index b9a1bca90a..3655a98c41 100644 --- a/stable/nginx-ingress/templates/default-backend-deployment.yaml +++ b/stable/nginx-ingress/templates/default-backend-deployment.yaml @@ -7,7 +7,7 @@ metadata: chart: {{ template "nginx-ingress.chart" . }} heritage: {{ .Release.Service }} release: {{ template "nginx-ingress.releaseLabel" . }} - app.kubernetes.io/component: default-backend + {{ .Values.defaultBackend.componentLabelKeyOverride | default "app.kubernetes.io/component" }}: default-backend {{- if .Values.defaultBackend.deploymentLabels }} {{ toYaml .Values.defaultBackend.deploymentLabels | indent 4 }} {{- end }} @@ -18,7 +18,7 @@ spec: app: {{ template "nginx-ingress.name" . }} release: {{ template "nginx-ingress.releaseLabel" . }} {{- if .Values.defaultBackend.useComponentLabel }} - app.kubernetes.io/component: default-backend + {{ .Values.defaultBackend.componentLabelKeyOverride | default "app.kubernetes.io/component" }}: default-backend {{- end }} replicas: {{ .Values.defaultBackend.replicaCount }} revisionHistoryLimit: {{ .Values.revisionHistoryLimit }} @@ -33,7 +33,7 @@ spec: labels: app: {{ template "nginx-ingress.name" . }} release: {{ template "nginx-ingress.releaseLabel" . }} - app.kubernetes.io/component: default-backend + {{ .Values.defaultBackend.componentLabelKeyOverride | default "app.kubernetes.io/component" }}: default-backend {{- if .Values.defaultBackend.podLabels }} {{ toYaml .Values.defaultBackend.podLabels | indent 8 }} {{- end }} diff --git a/stable/nginx-ingress/templates/default-backend-poddisruptionbudget.yaml b/stable/nginx-ingress/templates/default-backend-poddisruptionbudget.yaml index 0713c012ed..8c071e535a 100644 --- a/stable/nginx-ingress/templates/default-backend-poddisruptionbudget.yaml +++ b/stable/nginx-ingress/templates/default-backend-poddisruptionbudget.yaml @@ -5,7 +5,7 @@ metadata: labels: app: {{ template "nginx-ingress.name" . }} chart: {{ template "nginx-ingress.chart" . }} - app.kubernetes.io/component: default-backend + {{ .Values.defaultBackend.componentLabelKeyOverride | default "app.kubernetes.io/component" }}: default-backend heritage: {{ .Release.Service }} release: {{ template "nginx-ingress.releaseLabel" . }} name: {{ template "nginx-ingress.defaultBackend.fullname" . }} @@ -14,6 +14,6 @@ spec: matchLabels: app: {{ template "nginx-ingress.name" . }} release: {{ template "nginx-ingress.releaseLabel" . }} - app.kubernetes.io/component: default-backend + {{ .Values.defaultBackend.componentLabelKeyOverride | default "app.kubernetes.io/component" }}: default-backend minAvailable: {{ .Values.defaultBackend.minAvailable }} {{- end }} diff --git a/stable/nginx-ingress/templates/default-backend-service.yaml b/stable/nginx-ingress/templates/default-backend-service.yaml index 23dba195e7..bfa022a4b0 100644 --- a/stable/nginx-ingress/templates/default-backend-service.yaml +++ b/stable/nginx-ingress/templates/default-backend-service.yaml @@ -40,6 +40,6 @@ spec: selector: app: {{ template "nginx-ingress.name" . }} release: {{ template "nginx-ingress.releaseLabel" . }} - app.kubernetes.io/component: default-backend + {{ .Values.defaultBackend.componentLabelKeyOverride | default "app.kubernetes.io/component" }}: default-backend type: "{{ .Values.defaultBackend.service.type }}" {{- end }} diff --git a/stable/nginx-ingress/values.yaml b/stable/nginx-ingress/values.yaml index 638e8a261d..d0f52ba9e1 100644 --- a/stable/nginx-ingress/values.yaml +++ b/stable/nginx-ingress/values.yaml @@ -16,6 +16,9 @@ controller: # We recommend setting this to true for new deployments. useComponentLabel: false + # Override component label key + # componentLabelKeyOverride: + # Configures the ports the nginx-controller listens on containerPort: http: 80 @@ -458,6 +461,9 @@ defaultBackend: # We recommend setting this to true for new deployments. useComponentLabel: false + # Override component label key + # componentLabelKeyOverride: + extraArgs: {} serviceAccount: