feat(chart): Allow configuring envoy proxy image via helm chart#8785
Conversation
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 <[email protected]>
✅ Deploy Preview for cerulean-figolla-1f9435 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
💡 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) }} |
There was a problem hiding this comment.
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 👍 / 👎.
| {{- 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 }} |
There was a problem hiding this comment.
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 Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8785 +/- ##
==========================================
- Coverage 74.38% 74.37% -0.02%
==========================================
Files 246 246
Lines 39292 39292
==========================================
- Hits 29229 29225 -4
- Misses 8035 8038 +3
- Partials 2028 2029 +1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
thanks ! can you add some tests |
Signed-off-by: Michael Sommerville <[email protected]>
There was a problem hiding this comment.
Can you update the descriptions to include envoyProxy?
|
Overall LGTM! One nit on yaml comments and then please add a release note as well |
|
/retest |
Signed-off-by: Michael Sommerville <[email protected]>
…l registry Signed-off-by: Michael Sommerville <[email protected]>
|
/retest |
…yproxy#8785) * feat: Allow configuring envoy proxy defaults via helm chart 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 <[email protected]> Signed-off-by: Jake Oliver <[email protected]>
…rt (envoyproxy#8785)" This reverts commit 092cc67. Signed-off-by: Karol Szwaj <[email protected]>
* fix json report (#8614) Signed-off-by: Huabing (Robin) Zhao <[email protected]> (cherry picked from commit 4768ca7) * fix: deep copy status in translator layer to avoid race (#8778) Signed-off-by: Rudrakh Panigrahi <[email protected]> (cherry picked from commit 3f70a89) * fix: force HTTP1 for upstream connections for WS and WSS backends (#8699) * force HTTP1 for upstream connections for WS and WSS backends Signed-off-by: Huabing (Robin) Zhao <[email protected]> * use different clusters for mixed upstream protocols Signed-off-by: Huabing (Robin) Zhao <[email protected]> * update Signed-off-by: Huabing (Robin) Zhao <[email protected]> * fix lint Signed-off-by: Huabing (Robin) Zhao <[email protected]> --------- Signed-off-by: Huabing (Robin) Zhao <[email protected]> (cherry picked from commit 7633125) * fix: reason with multiple errors rejected validation (#8859) * fix: reason with multiple errors rejected validation Signed-off-by: zirain <[email protected]> * release notes Signed-off-by: zirain <[email protected]> * fix lint Signed-off-by: zirain <[email protected]> --------- Signed-off-by: zirain <[email protected]> (cherry picked from commit 7811d86) * feat(chart): Allow configuring envoy proxy image via helm chart (#8785) * feat: Allow configuring envoy proxy defaults via helm chart 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. Signed-off-by: Michael Sommerville <[email protected]> (cherry picked from commit 8570285) * add rn and version bump Signed-off-by: Karol Szwaj <[email protected]> * fix: respect backend endpoint hostname for health checks (#8929) * fix: respect backend endpoint hostname for health checks - Keep BackendTrafficPolicy HTTP health check hostnames as explicit cluster-level hosts, and leave route-derived host fallback to xDS cluster translation. - Preserve Backend endpoint hostnames as per-endpoint overrides via Endpoint.HealthCheckConfig.hostname, ahead of the route fallback. - Update gatewayapi/xDS fixtures, release notes, and generated API docs/CRDs for the host selection order. - go test ./internal/ir - go test ./internal/xds/translator - go test ./internal/gatewayapi -run TestTranslate/backendtrafficpolicy - go test ./internal/gatewayapi -run TestTranslate/(clienttrafficpolicy-http-health-check|envoyextensionpolicy-with-extproc-with-retries|envoyextensionpolicy-with-extproc-with-traffic-features|envoyproxy-accesslog-with-traffic|envoyproxy-tracing-backend-uds|envoyproxy-tracing-backend|securitypolicy-with-jwt-backendcluster|securitypolicy-with-jwt-backendsettings) - make generate - make manifests - git diff --check Signed-off-by: Arko Dasgupta <[email protected]> Co-authored-by: Codex <[email protected]> * fix gen Signed-off-by: zirain <[email protected]> --------- Signed-off-by: Arko Dasgupta <[email protected]> Signed-off-by: zirain <[email protected]> Co-authored-by: Codex <[email protected]> Co-authored-by: zirain <[email protected]> * update release notes Signed-off-by: Karol Szwaj <[email protected]> * fix gen-check Signed-off-by: Karol Szwaj <[email protected]> * Revert "feat(chart): Allow configuring envoy proxy image via helm chart (#8785)" This reverts commit 092cc67. Signed-off-by: Karol Szwaj <[email protected]> --------- Signed-off-by: Huabing (Robin) Zhao <[email protected]> Signed-off-by: Rudrakh Panigrahi <[email protected]> Signed-off-by: zirain <[email protected]> Signed-off-by: Michael Sommerville <[email protected]> Signed-off-by: Karol Szwaj <[email protected]> Signed-off-by: Arko Dasgupta <[email protected]> Co-authored-by: Huabing (Robin) Zhao <[email protected]> Co-authored-by: Rudrakh Panigrahi <[email protected]> Co-authored-by: zirain <[email protected]> Co-authored-by: Michael Sommerville <[email protected]> Co-authored-by: Arko Dasgupta <[email protected]> Co-authored-by: Codex <[email protected]>
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:global.images.envoyProxy.image""registry/repo:tag) for the Envoy Proxy containerglobal.images.envoyProxy.pullPolicy""global.images.envoyProxy.pullSecrets[]When any of these are set, the chart generates an
envoyProxy:block inside theEnvoyGatewayConfigMap, wiring into the existingEnvoyGatewaySpec.envoyProxyfield (added in #7698). The globalimageRegistryoverride 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.