Chart: Make controller.config
templatable. (#11181)
* [helm] pass controller.config through tpl * add unittest * update README.md * Update charts/ingress-nginx/README.md Co-authored-by: Marco Ebert <marco_ebert@icloud.com> * Update charts/ingress-nginx/tests/controller-configmap_test.yaml Co-authored-by: Marco Ebert <marco_ebert@icloud.com> * Update charts/ingress-nginx/values.yaml Co-authored-by: Marco Ebert <marco_ebert@icloud.com> --------- Co-authored-by: Marco Ebert <marco_ebert@icloud.com>
This commit is contained in:
parent
3599a4c6cc
commit
ad274ab2c6
4 changed files with 21 additions and 3 deletions
|
@ -285,7 +285,7 @@ As of version `1.26.0` of this chart, by simply not providing any clusterIP valu
|
||||||
| controller.autoscaling.targetCPUUtilizationPercentage | int | `50` | |
|
| controller.autoscaling.targetCPUUtilizationPercentage | int | `50` | |
|
||||||
| controller.autoscaling.targetMemoryUtilizationPercentage | int | `50` | |
|
| controller.autoscaling.targetMemoryUtilizationPercentage | int | `50` | |
|
||||||
| controller.autoscalingTemplate | list | `[]` | |
|
| controller.autoscalingTemplate | list | `[]` | |
|
||||||
| controller.config | object | `{}` | Will add custom configuration options to Nginx https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/ |
|
| controller.config | object | `{}` | Global configuration passed to the ConfigMap consumed by the controller. Values may contain Helm templates. Ref.: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/ |
|
||||||
| controller.configAnnotations | object | `{}` | Annotations to be added to the controller config configuration configmap. |
|
| controller.configAnnotations | object | `{}` | Annotations to be added to the controller config configuration configmap. |
|
||||||
| controller.configMapNamespace | string | `""` | Allows customization of the configmap / nginx-configmap namespace; defaults to $(POD_NAMESPACE) |
|
| controller.configMapNamespace | string | `""` | Allows customization of the configmap / nginx-configmap namespace; defaults to $(POD_NAMESPACE) |
|
||||||
| controller.containerName | string | `"controller"` | Configures the controller container name |
|
| controller.containerName | string | `"controller"` | Configures the controller container name |
|
||||||
|
|
|
@ -24,5 +24,5 @@ data:
|
||||||
ssl-dh-param: {{ include "ingress-nginx.namespace" . }}/{{ include "ingress-nginx.controller.fullname" . }}
|
ssl-dh-param: {{ include "ingress-nginx.namespace" . }}/{{ include "ingress-nginx.controller.fullname" . }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- range $key, $value := .Values.controller.config }}
|
{{- range $key, $value := .Values.controller.config }}
|
||||||
{{- $key | nindent 2 }}: {{ $value | quote }}
|
{{- $key | nindent 2 }}: {{ tpl (toString $value) $ | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
|
@ -12,3 +12,20 @@ tests:
|
||||||
- equal:
|
- equal:
|
||||||
path: metadata.name
|
path: metadata.name
|
||||||
value: RELEASE-NAME-ingress-nginx-controller
|
value: RELEASE-NAME-ingress-nginx-controller
|
||||||
|
|
||||||
|
- it: should create a ConfigMap with templated values if `controller.config` contains templates
|
||||||
|
set:
|
||||||
|
controller.config:
|
||||||
|
global-rate-limit-memcached-host: "memcached.{{ .Release.Namespace }}.svc.kubernetes.local"
|
||||||
|
global-rate-limit-memcached-port: 11211
|
||||||
|
use-gzip: true
|
||||||
|
asserts:
|
||||||
|
- equal:
|
||||||
|
path: data.global-rate-limit-memcached-host
|
||||||
|
value: memcached.NAMESPACE.svc.kubernetes.local
|
||||||
|
- equal:
|
||||||
|
path: data.global-rate-limit-memcached-port
|
||||||
|
value: "11211"
|
||||||
|
- equal:
|
||||||
|
path: data.use-gzip
|
||||||
|
value: "true"
|
||||||
|
|
|
@ -45,7 +45,8 @@ controller:
|
||||||
containerPort:
|
containerPort:
|
||||||
http: 80
|
http: 80
|
||||||
https: 443
|
https: 443
|
||||||
# -- Will add custom configuration options to Nginx https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/
|
# -- Global configuration passed to the ConfigMap consumed by the controller. Values may contain Helm templates.
|
||||||
|
# Ref.: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/
|
||||||
config: {}
|
config: {}
|
||||||
# -- Annotations to be added to the controller config configuration configmap.
|
# -- Annotations to be added to the controller config configuration configmap.
|
||||||
configAnnotations: {}
|
configAnnotations: {}
|
||||||
|
|
Loading…
Reference in a new issue