From 0f1afc89524f957f8b5bad3fcf50a023fa3e6b0e Mon Sep 17 00:00:00 2001 From: "data-plane-api(Azure Pipelines)" Date: Sun, 8 Aug 2021 15:58:06 +0000 Subject: [PATCH] api: move generic matcher proto to its own package (#17096) In order to unblock a dependency between route_components.proto and the matcher tree, move the alpha Matcher to its own package. To provide an upgrade path for users using this, we'll keep the old copy around for a single deprecation cycle. Risk Level: Low Testing: n/a Docs Changes: n/a Release Notes: Deprecation note Signed-off-by: Snow Pettersen Mirrored from https://github.com/envoyproxy/envoy @ 40ed33327c23a9e4e88aec448694eb1d03098efd --- API_VERSIONING.md | 1 + bazel/repository_locations.bzl | 6 +++--- envoy/extensions/common/matching/v3/BUILD | 2 ++ .../common/matching/v3/extension_matcher.proto | 9 ++++++++- envoy/extensions/common/matching/v4alpha/BUILD | 2 +- .../common/matching/v4alpha/extension_matcher.proto | 9 +++++++-- 6 files changed, 22 insertions(+), 7 deletions(-) diff --git a/API_VERSIONING.md b/API_VERSIONING.md index 3f5d41e7..f1bf6a89 100644 --- a/API_VERSIONING.md +++ b/API_VERSIONING.md @@ -72,6 +72,7 @@ An exception to the above policy exists for: * API versions tagged `vNalpha`. Within an alpha major version, arbitrary breaking changes are allowed. * Any field, message or enum with a `[#not-implemented-hide:..` comment. * Any proto with a `(udpa.annotations.file_status).work_in_progress` option annotation. +* Any proto marked as [#alpha:]. Note that changes to default values for wrapped types, e.g. `google.protobuf.UInt32Value` are not governed by the above policy. Any management server requiring stability across Envoy API or diff --git a/bazel/repository_locations.bzl b/bazel/repository_locations.bzl index 968c6a9f..bb35ff77 100644 --- a/bazel/repository_locations.bzl +++ b/bazel/repository_locations.bzl @@ -44,9 +44,9 @@ REPOSITORY_LOCATIONS_SPEC = dict( project_desc = "xDS API Working Group (xDS-WG)", project_url = "https://github.com/cncf/xds", # During the UDPA -> xDS migration, we aren't working with releases. - version = "b88cc788a63e5b38ee334a2e702c67901355ae2c", - sha256 = "3220df8564f217665b6e17776569c5f748178c2b9cbf83bb55a13ddc0a3738f0", - release_date = "2021-03-23", + version = "dd25fe81a44506ab21ea666fb70b3b1c4bb183ee", + sha256 = "9184235cd31272679e4c7f9232c341d4ea75351ded74d3fbba28b05c290bfa71", + release_date = "2021-07-22", strip_prefix = "xds-{version}", urls = ["https://github.com/cncf/xds/archive/{version}.tar.gz"], use_category = ["api"], diff --git a/envoy/extensions/common/matching/v3/BUILD b/envoy/extensions/common/matching/v3/BUILD index 5fa93360..1afd4545 100644 --- a/envoy/extensions/common/matching/v3/BUILD +++ b/envoy/extensions/common/matching/v3/BUILD @@ -6,8 +6,10 @@ licenses(["notice"]) # Apache 2 api_proto_package( deps = [ + "//envoy/annotations:pkg", "//envoy/config/common/matcher/v3:pkg", "//envoy/config/core/v3:pkg", "@com_github_cncf_udpa//udpa/annotations:pkg", + "@com_github_cncf_udpa//xds/type/matcher/v3:pkg", ], ) diff --git a/envoy/extensions/common/matching/v3/extension_matcher.proto b/envoy/extensions/common/matching/v3/extension_matcher.proto index e317d885..eee82a38 100644 --- a/envoy/extensions/common/matching/v3/extension_matcher.proto +++ b/envoy/extensions/common/matching/v3/extension_matcher.proto @@ -5,6 +5,9 @@ package envoy.extensions.common.matching.v3; import "envoy/config/common/matcher/v3/matcher.proto"; import "envoy/config/core/v3/extension.proto"; +import "xds/type/matcher/v3/matcher.proto"; + +import "envoy/annotations/deprecation.proto"; import "udpa/annotations/status.proto"; import "validate/validate.proto"; @@ -21,8 +24,12 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE; // // [#alpha:] message ExtensionWithMatcher { + // The associated matcher. This is deprecated in favor of xds_matcher. + config.common.matcher.v3.Matcher matcher = 1 + [deprecated = true, (envoy.annotations.deprecated_at_minor_version) = "3.0"]; + // The associated matcher. - config.common.matcher.v3.Matcher matcher = 1 [(validate.rules).message = {required: true}]; + xds.type.matcher.v3.Matcher xds_matcher = 3; // The underlying extension config. config.core.v3.TypedExtensionConfig extension_config = 2 diff --git a/envoy/extensions/common/matching/v4alpha/BUILD b/envoy/extensions/common/matching/v4alpha/BUILD index 95ccc22a..8082008a 100644 --- a/envoy/extensions/common/matching/v4alpha/BUILD +++ b/envoy/extensions/common/matching/v4alpha/BUILD @@ -6,9 +6,9 @@ licenses(["notice"]) # Apache 2 api_proto_package( deps = [ - "//envoy/config/common/matcher/v4alpha:pkg", "//envoy/config/core/v4alpha:pkg", "//envoy/extensions/common/matching/v3:pkg", "@com_github_cncf_udpa//udpa/annotations:pkg", + "@com_github_cncf_udpa//xds/type/matcher/v3:pkg", ], ) diff --git a/envoy/extensions/common/matching/v4alpha/extension_matcher.proto b/envoy/extensions/common/matching/v4alpha/extension_matcher.proto index 88ac7c75..9077facc 100644 --- a/envoy/extensions/common/matching/v4alpha/extension_matcher.proto +++ b/envoy/extensions/common/matching/v4alpha/extension_matcher.proto @@ -2,9 +2,10 @@ syntax = "proto3"; package envoy.extensions.common.matching.v4alpha; -import "envoy/config/common/matcher/v4alpha/matcher.proto"; import "envoy/config/core/v4alpha/extension.proto"; +import "xds/type/matcher/v3/matcher.proto"; + import "udpa/annotations/status.proto"; import "udpa/annotations/versioning.proto"; import "validate/validate.proto"; @@ -25,8 +26,12 @@ message ExtensionWithMatcher { option (udpa.annotations.versioning).previous_message_type = "envoy.extensions.common.matching.v3.ExtensionWithMatcher"; + reserved 1; + + reserved "matcher"; + // The associated matcher. - config.common.matcher.v4alpha.Matcher matcher = 1 [(validate.rules).message = {required: true}]; + xds.type.matcher.v3.Matcher xds_matcher = 3; // The underlying extension config. config.core.v4alpha.TypedExtensionConfig extension_config = 2