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 <snowp@lyft.com>

Mirrored from https://github.com/envoyproxy/envoy @ 40ed33327c23a9e4e88aec448694eb1d03098efd
pull/624/head
data-plane-api(Azure Pipelines) 4 years ago
parent 3a71d52b66
commit 0f1afc8952
  1. 1
      API_VERSIONING.md
  2. 6
      bazel/repository_locations.bzl
  3. 2
      envoy/extensions/common/matching/v3/BUILD
  4. 9
      envoy/extensions/common/matching/v3/extension_matcher.proto
  5. 2
      envoy/extensions/common/matching/v4alpha/BUILD
  6. 9
      envoy/extensions/common/matching/v4alpha/extension_matcher.proto

@ -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

@ -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"],

@ -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",
],
)

@ -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

@ -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",
],
)

@ -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

Loading…
Cancel
Save