diff --git a/helm/core/templates/_pod.tpl b/helm/core/templates/_pod.tpl index 4a661d727..6ffc87f79 100644 --- a/helm/core/templates/_pod.tpl +++ b/helm/core/templates/_pod.tpl @@ -20,6 +20,11 @@ template: {{- end }} {{- include "gateway.selectorLabels" . | nindent 6 }} spec: + {{- if .Values.gateway.imagePullPolicy }} + imagePullPolicy: {{ .Values.gateway.imagePullPolicy }} + {{- else if .Values.global.imagePullPolicy }} + imagePullPolicy: {{ .Values.global.imagePullPolicy }} + {{- end }} {{- with .Values.gateway.imagePullSecrets }} imagePullSecrets: {{- toYaml . | nindent 6 }} diff --git a/helm/core/templates/controller-deployment.yaml b/helm/core/templates/controller-deployment.yaml index 407d14d21..be6a3e5a3 100644 --- a/helm/core/templates/controller-deployment.yaml +++ b/helm/core/templates/controller-deployment.yaml @@ -105,7 +105,9 @@ spec: mountPath: /var/log - name: discovery image: "{{ .Values.pilot.hub | default .Values.global.hub }}/higress/{{ .Values.pilot.image | default "pilot" }}:{{ .Values.pilot.tag | default .Chart.AppVersion }}" -{{- if .Values.global.imagePullPolicy }} +{{- if .Values.controller.imagePullPolicy }} + imagePullPolicy: {{ .Values.controller.imagePullPolicy }} +{{- else if .Values.global.imagePullPolicy }} imagePullPolicy: {{ .Values.global.imagePullPolicy }} {{- end }} args: diff --git a/helm/core/templates/plugin-server-deployment.yaml b/helm/core/templates/plugin-server-deployment.yaml index e6c288faa..d0c4aa883 100644 --- a/helm/core/templates/plugin-server-deployment.yaml +++ b/helm/core/templates/plugin-server-deployment.yaml @@ -24,7 +24,9 @@ spec: containers: - name: {{ .Chart.Name }} image: {{ .Values.pluginServer.hub | default .Values.global.hub }}/higress/{{ .Values.pluginServer.image | default "plugin-server" }}:{{ .Values.pluginServer.tag | default "1.0.0" }} - {{- if .Values.global.imagePullPolicy }} + {{- if .Values.pluginServer.imagePullPolicy }} + imagePullPolicy: {{ .Values.pluginServer.imagePullPolicy }} + {{- else if .Values.global.imagePullPolicy }} imagePullPolicy: {{ .Values.global.imagePullPolicy }} {{- end }} ports: diff --git a/helm/core/values.yaml b/helm/core/values.yaml index b1d63d59d..0c4f98cdd 100644 --- a/helm/core/values.yaml +++ b/helm/core/values.yaml @@ -423,6 +423,10 @@ gateway: replicas: 2 image: gateway + # -- Specify image pull policy if default behavior isn't desired. + # Default behavior: latest images will be Always else IfNotPresent. + imagePullPolicy: "" + # -- Use a `DaemonSet` or `Deployment` kind: Deployment @@ -577,6 +581,10 @@ controller: periodSeconds: 3 timeoutSeconds: 5 + # -- Specify image pull policy if default behavior isn't desired. + # Default behavior: latest images will be Always else IfNotPresent. + imagePullPolicy: "" + imagePullSecrets: [] rbac: @@ -786,6 +794,10 @@ pluginServer: hub: "" # Will use global.hub if not set tag: "" + # -- Specify image pull policy if default behavior isn't desired. + # Default behavior: latest images will be Always else IfNotPresent. + imagePullPolicy: "" + imagePullSecrets: [] labels: {} diff --git a/helm/higress/README.md b/helm/higress/README.md index a3760027a..468a8063f 100644 --- a/helm/higress/README.md +++ b/helm/higress/README.md @@ -46,6 +46,7 @@ The command removes all the Kubernetes components associated with the chart and | controller.env | object | `{}` | | | controller.hub | string | `""` | | | controller.image | string | `"higress"` | | +| controller.imagePullPolicy | string | `""` | Specify image pull policy if default behavior isn't desired. Default behavior: latest images will be Always else IfNotPresent. | | controller.imagePullSecrets | list | `[]` | | | controller.labels | object | `{}` | | | controller.name | string | `"higress-controller"` | | @@ -98,6 +99,7 @@ The command removes all the Kubernetes components associated with the chart and | gateway.httpsPort | int | `443` | | | gateway.hub | string | `""` | | | gateway.image | string | `"gateway"` | | +| gateway.imagePullPolicy | string | `""` | Specify image pull policy if default behavior isn't desired. Default behavior: latest images will be Always else IfNotPresent. | | gateway.kind | string | `"Deployment"` | Use a `DaemonSet` or `Deployment` | | gateway.labels | object | `{}` | Labels to apply to all resources | | gateway.metrics.enabled | bool | `false` | If true, create PodMonitor or VMPodScrape for gateway | @@ -270,6 +272,7 @@ The command removes all the Kubernetes components associated with the chart and | pilot.traceSampling | float | `1` | | | pluginServer.hub | string | `""` | | | pluginServer.image | string | `"plugin-server"` | | +| pluginServer.imagePullPolicy | string | `""` | Specify image pull policy if default behavior isn't desired. Default behavior: latest images will be Always else IfNotPresent. | | pluginServer.imagePullSecrets | list | `[]` | | | pluginServer.labels | object | `{}` | | | pluginServer.name | string | `"higress-plugin-server"` | |