Skip to content

feat(chart): Allow configuring envoy proxy image via helm chart#8785

Open
mgs255 wants to merge 3 commits intoenvoyproxy:mainfrom
PulseInnovations:helm-chart-add-envoy-proxy-image-options
Open

feat(chart): Allow configuring envoy proxy image via helm chart#8785
mgs255 wants to merge 3 commits intoenvoyproxy:mainfrom
PulseInnovations:helm-chart-add-envoy-proxy-image-options

Conversation

@mgs255
Copy link
Copy Markdown
Contributor

@mgs255 mgs255 commented Apr 18, 2026

This commit is a continuation of the previous work to support supplying default proxy settings added in #7698 and adds three new chart values under global.images.envoyProxy:

Value Type Default Description
global.images.envoyProxy.image string "" Full image name (registry/repo:tag) for the Envoy Proxy container
global.images.envoyProxy.pullPolicy string "" Image pull policy
global.images.envoyProxy.pullSecrets list [] Image pull secrets

When any of these are set, the chart generates an envoyProxy: block inside the EnvoyGateway ConfigMap, wiring into the existing EnvoyGatewaySpec.envoyProxy field (added in #7698). The global imageRegistry override takes highest precedence, consistent with other chart components.

Full EnvoyProxy defaults (replicas, resources, etc.) can be provided via config.envoyGateway.envoyProxy; the image values are merged on top.

Closes #4764.

This commit is a continuation of the previous work to support supplying default proxy settings added in envoyproxy#7698 and adds three new chart values under `global.images.envoyProxy`:

| Value | Type | Default | Description |
|----------------------------------------|--------|------|---------------------------------------------------------------------|
| `global.images.envoyProxy.image`       | string | `""` | Full image name (`registry/repo:tag`) for the Envoy Proxy container |
| `global.images.envoyProxy.pullPolicy`  | string | `""` | Image pull policy                                                   |
| `global.images.envoyProxy.pullSecrets` | list   | `[]` | Image pull secrets                                                  |

When any of these are set, the chart generates an `envoyProxy:` block inside the `EnvoyGateway` ConfigMap, wiring into the existing `EnvoyGatewaySpec.envoyProxy` field (added in envoyproxy#7698). The global `imageRegistry` override takes highest precedence, consistent with other chart components.

Full EnvoyProxy defaults (replicas, resources, etc.) can be provided via `config.envoyGateway.envoyProxy`; the image values are merged on top.

Closes envoyproxy#4764.

Signed-off-by: Michael Sommerville <msommerville@gmail.com>
@mgs255 mgs255 requested a review from a team as a code owner April 18, 2026 18:03
@netlify
Copy link
Copy Markdown

netlify Bot commented Apr 18, 2026

Deploy Preview for cerulean-figolla-1f9435 ready!

Name Link
🔨 Latest commit 4d91abb
🔍 Latest deploy log https://app.netlify.com/projects/cerulean-figolla-1f9435/deploys/69e8d812d94ff90008cdfed9
😎 Deploy Preview https://deploy-preview-8785--cerulean-figolla-1f9435.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f65bd6a196

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

{{- $deployment := dict "container" $container }}
{{- if or .Values.global.imagePullSecrets .Values.global.images.envoyProxy.pullSecrets }}
{{- $pullSecretsYaml := include "eg.envoyProxy.image.pullSecrets" . }}
{{- $pullSecrets := dict "imagePullSecrets" ($pullSecretsYaml | fromYamlArray) }}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Decode pull secrets as map before extracting list

This parses the helper output with fromYamlArray, but eg.envoyProxy.image.pullSecrets renders a YAML object (imagePullSecrets: ...), not a top-level YAML array. Helm’s fromYamlArray only converts YAML arrays, so when users set global.imagePullSecrets or global.images.envoyProxy.pullSecrets, this conversion can yield an invalid/empty value and the generated envoyProxy.provider.kubernetes.envoyDeployment.pod.imagePullSecrets will not be populated as intended.

Useful? React with 👍 / 👎.

Comment on lines +197 to +200
{{- if .Values.global.images.envoyProxy.image }}
{{- $container := dict "image" (include "eg.envoyProxy.image" .) }}
{{- if .Values.global.images.envoyProxy.pullPolicy }}
{{- $_ := set $container "imagePullPolicy" .Values.global.images.envoyProxy.pullPolicy }}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Allow pull policy/secret overrides without image override

The pullPolicy and pullSecrets wiring is nested under if .Values.global.images.envoyProxy.image, so these new values are ignored unless global.images.envoyProxy.image is also set. In practice, users cannot set only pull policy or pull secrets while keeping Envoy Gateway’s default proxy image, even though those values were added as independent chart knobs.

Useful? React with 👍 / 👎.

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 18, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 73.64%. Comparing base (f33ec41) to head (4d91abb).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #8785   +/-   ##
=======================================
  Coverage   73.64%   73.64%           
=======================================
  Files         245      245           
  Lines       48864    48864           
=======================================
  Hits        35985    35985           
  Misses      10874    10874           
  Partials     2005     2005           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@arkodg
Copy link
Copy Markdown
Contributor

arkodg commented Apr 19, 2026

thanks ! can you add some tests

@arkodg arkodg added this to the v1.8.0-rc.1 Release milestone Apr 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support configuring envoyproxy infra attributes in the Helm chart

2 participants