-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Consolidate envoy gateway into calico #12757
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from 4 commits
2bfb366
12d73b1
2f2f6de
c37f3b5
62dd5b1
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -47,6 +47,14 @@ | |
| "depNameTemplate": "calico/base", | ||
| "datasourceTemplate": "docker", | ||
| "versioningTemplate": "regex:^(?<compatibility>ubi\\d+)-(?<patch>\\d+)$" | ||
| }, | ||
| { | ||
| "description": "Renovate only manages ENVOY_GATEWAY_VERSION. On any bump, manually verify the Envoy Gateway compatibility matrix (https://gateway.envoyproxy.io/news/releases/matrix/) is satisfied for envoy-proxy (ENVOYBINARY_IMAGE in third_party/envoy-proxy/Makefile) and envoy-ratelimit (ENVOY_RATELIMIT_VERSION in third_party/envoy-ratelimit/Makefile), which Renovate does not track.", | ||
| "customType": "regex", | ||
| "managerFilePatterns": ["/^third_party\\/envoy-gateway\\/Makefile$/"], | ||
| "matchStrings": ["ENVOY_GATEWAY_VERSION=(?<currentValue>v\\d+\\.\\d+\\.\\d+)"], | ||
| "depNameTemplate": "envoyproxy/gateway", | ||
| "datasourceTemplate": "github-releases" | ||
| } | ||
| ], | ||
| "packageRules": [ | ||
|
|
@@ -90,13 +98,32 @@ | |
| "groupName": "dependency-updates" | ||
| }, | ||
| { | ||
| "description": "Run gen-deps-files on selected branches only", | ||
| "matchBaseBranches": ["release-v3.31", "release-v3.32", "master"], | ||
| "description": "Run gen-deps-files after updates", | ||
| "postUpgradeTasks": { | ||
| "commands": ["make gen-deps-files"], | ||
| "fileFilters": ["**/deps.txt"], | ||
| "executionMode": "branch" | ||
| } | ||
| }, | ||
| { | ||
| "description": "envoy-gateway: only patch updates allowed (block minor/major/digest)", | ||
| "matchPackageNames": ["envoyproxy/gateway"], | ||
| "matchUpdateTypes": ["minor", "major", "digest"], | ||
| "enabled": false | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The PR body already documents this as a known limitation, but it's worth pinning the follow-up here so it doesn't get lost: when envoy-gateway eventually moves to a new minor (v1.8.0+), whoever does the bump has to manually update the matching versions in |
||
| }, | ||
| { | ||
| "description": "Group envoy-gateway updates into a dedicated PR", | ||
| "matchPackageNames": ["envoyproxy/gateway"], | ||
| "groupName": "envoy-gateway" | ||
| }, | ||
| { | ||
| "description": "Regenerate envoy-gateway helm-rendered resources after version bump", | ||
| "matchPackageNames": ["envoyproxy/gateway"], | ||
| "postUpgradeTasks": { | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Two flags on the new
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. For 2. I think we don't need it, 100 - 107 was added because we ran renovate on release 3.30 that did not contain the deps files, but renovate is only allowed to run on 3.31, 3.32 and master. Line 6. We can now remove the scope for make gen deps |
||
| "commands": ["make -C third_party/envoy-gateway gen-gateway-api-resources"], | ||
| "fileFilters": ["third_party/envoy-gateway/gateway_api_resources.yaml"], | ||
| "executionMode": "branch" | ||
| } | ||
| } | ||
| ] | ||
| } | ||
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -7,6 +7,13 @@ BUILD_IMAGES ?= $(ENVOY_GATEWAY_IMAGE) | |||||||||
|
|
||||||||||
| # For updating this version please see | ||||||||||
| # https://github.com/tigera/operator/blob/master/docs/common_tasks.md#updating-the-bundled-version-of-envoy-gateway | ||||||||||
| # Keep literal `KEY=value` form (no spaces, no `?=`); Renovate regex + operator's | ||||||||||
| # update-envoy-gateway-resources both parse this line. | ||||||||||
| # Renovate only bumps this version, and patch releases only. On any bump, | ||||||||||
| # especially a minor, manually verify the Envoy Gateway compatibility | ||||||||||
| # matrix (https://gateway.envoyproxy.io/news/releases/matrix/) and update the | ||||||||||
| # matching envoy-proxy (ENVOYBINARY_IMAGE) and envoy-ratelimit | ||||||||||
| # (ENVOY_RATELIMIT_VERSION) pins; Renovate does not track those. | ||||||||||
| ENVOY_GATEWAY_VERSION=v1.7.2 | ||||||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I know it's not part of your changes but reading your operator change, it seems to depend on having this strict format. if this changes format, renovate will silently fail. maybe adding commentary here helps? Idk what a better way would be
Suggested change
|
||||||||||
|
|
||||||||||
| ############################################################################## | ||||||||||
|
|
@@ -58,6 +65,32 @@ clean: | |||||||||
| rm -fr bin/ envoy-gateway/ | ||||||||||
| -docker image rm -f $$(docker images $(ENVOY_GATEWAY_IMAGE) -a -q) | ||||||||||
|
|
||||||||||
| ############################################################################## | ||||||||||
| # Helm-rendered manifests | ||||||||||
| # | ||||||||||
| # gateway_api_resources.yaml is the bundle of resources tigera/operator consumes | ||||||||||
| # (via //go:embed). Operator's update-envoy-gateway-resources target copies this | ||||||||||
| # file from a calico clone, keeping the helm-template recipe, the image build, | ||||||||||
| # and the CVE patch set in lockstep at a single version pin. | ||||||||||
| ############################################################################## | ||||||||||
| ENVOY_GATEWAY_HELM_CHART ?= oci://docker.io/envoyproxy/gateway-helm | ||||||||||
| ENVOY_GATEWAY_PREFIX ?= tigera-gateway-api | ||||||||||
| ENVOY_GATEWAY_NAMESPACE ?= tigera-gateway | ||||||||||
| ENVOY_GATEWAY_RESOURCES ?= gateway_api_resources.yaml | ||||||||||
|
|
||||||||||
| .PHONY: gen-gateway-api-resources | ||||||||||
| gen-gateway-api-resources: bin/helm | ||||||||||
| echo "---" > $(ENVOY_GATEWAY_RESOURCES) | ||||||||||
| echo "apiVersion: v1" >> $(ENVOY_GATEWAY_RESOURCES) | ||||||||||
| echo "kind: Namespace" >> $(ENVOY_GATEWAY_RESOURCES) | ||||||||||
| echo "metadata:" >> $(ENVOY_GATEWAY_RESOURCES) | ||||||||||
| echo " name: $(ENVOY_GATEWAY_NAMESPACE)" >> $(ENVOY_GATEWAY_RESOURCES) | ||||||||||
| bin/helm template $(ENVOY_GATEWAY_PREFIX) $(ENVOY_GATEWAY_HELM_CHART) \ | ||||||||||
| --version $(ENVOY_GATEWAY_VERSION) \ | ||||||||||
| -n $(ENVOY_GATEWAY_NAMESPACE) \ | ||||||||||
| --include-crds \ | ||||||||||
| >> $(ENVOY_GATEWAY_RESOURCES) | ||||||||||
|
|
||||||||||
| ############################################################################## | ||||||||||
| # Image | ||||||||||
| ############################################################################## | ||||||||||
|
|
||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why this addition? I wouldn't expect the image building to depend on the YAMLs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's part of the ignore config, so if there is a change in the yaml and nothing else we won't run the build.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh right - nice.