Move envoy management to calico#4806
Conversation
nelljerram
left a comment
There was a problem hiding this comment.
Love this, thanks @MichalFupso !
| **In `tigera/operator` (after the calico PR merges):** | ||
|
|
||
| 1. Address build issues if there are any. | ||
| 1. In `go.mod`, update `github.com/envoyproxy/gateway` to match. Run |
There was a problem hiding this comment.
Two small gaps in the new procedure worth tightening, both non-blocking:
-
Operator step 1 (the manual
go mod edit+make mod-tidy) is partially redundant with the auto-flow. The newupdate-envoy-gateway-resourcestarget (Makefile L680–688) already parses calico's pin and runsgo mod edit -require=github.com/envoyproxy/gateway@<new> && go mod tidywhenever the pins differ. So if a human is doing the bump manually (i.e. not via the hourlysync-versions.ymlauto-PR), runningmake gen-versionswould also handle go.mod. Could you either drop step 1 in favour of "runmake gen-versions, which bumps go.mod and refreshes the YAML in one shot", or add a sentence clarifying why you'd want to bump go.mod first (e.g. "do this explicitly so theGO_BUILD_VERbump shows up before you touch the rendered YAML")? Right now a reader might do it both ways and produce a confusing diff. -
The calico-side procedure (steps 3–4) won't actually run via Renovate. Renovate is configured for envoy-gateway patch bumps only, and it doesn't touch the matching
envoy-proxy/envoy-ratelimitversions or the patch-stack refresh. The doc reads as if "Renovate normally does step 1+2" implies Renovate handles the whole thing — it doesn't. For minor/major bumps, a human still has to follow steps 3–4. Worth a one-liner under step 1 like: "Renovate only handles patch bumps and only regenerates the helm output; minor/major bumps still need steps 3–4 by hand."
Description
This PR replaces operator's local helm-template recipe for pkg/render/gatewayapi/gateway_api_resources.yaml with a cp out of the existing fetch-calico-crds clone, making projectcalico/calico's third_party/envoy-gateway/Makefile the single source of truth for the Envoy Gateway version, the rendered manifest, and the operator's go.mod github.com/envoyproxy/gateway pin.
The new update-envoy-gateway-resources target is wired as a prereq of gen-versions-calico, so the existing hourly sync-versions.yml workflow automatically pulls envoy-gateway changes from calico — no new workflow needed; updates land in the same auto-PRs that already sync CRDs and component versions.
The operator's ENVOY_GATEWAY_VERSION pin, the $(ENVOY_GATEWAY_RESOURCES) helm-template recipe, and the HELM3 download machinery (only consumer was that recipe) are all deleted. As a bonus, update-envoy-gateway-resources also parses ENVOY_GATEWAY_VERSION out of calico's Makefile and bumps operator's go.mod github.com/envoyproxy/gateway line in lockstep via go mod edit + go mod tidy.
Paired with projectcalico/calico#12757
Release Note
For PR author
make gen-filesmake gen-versionsFor PR reviewers
A note for code reviewers - all pull requests must have the following:
kind/bugif this is a bugfix.kind/enhancementif this is a a new feature.enterpriseif this PR applies to Calico Enterprise only.