From 8a577f9f9b52df390a8ef68ca27551bd503329cb Mon Sep 17 00:00:00 2001 From: Abhay Narayan Katare Date: Tue, 27 Oct 2020 01:31:13 +0530 Subject: [PATCH 1/4] v2 packages to v3 Signed-off-by: Abhay Narayan Katare --- .../filters/thrift/router/v3/router.proto | 17 ++++++++++++++ .../health_checker/redis/v3/redis.proto | 22 +++++++++++++++++++ .../fixed_heap/v3/fixed_heap.proto | 21 ++++++++++++++++++ .../v3/injected_resource.proto | 22 +++++++++++++++++++ .../v3/omit_canary_hosts.proto | 16 ++++++++++++++ .../previous_hosts/v3/previous_hosts.proto | 16 ++++++++++++++ 6 files changed, 114 insertions(+) create mode 100644 api/envoy/extensions/filters/thrift/router/v3/router.proto create mode 100644 api/envoy/extensions/health_checker/redis/v3/redis.proto create mode 100644 api/envoy/extensions/resource_monitor/fixed_heap/v3/fixed_heap.proto create mode 100644 api/envoy/extensions/resource_monitor/injected_resource/v3/injected_resource.proto create mode 100644 api/envoy/extensions/retry/host/omit_canary_hosts/v3/omit_canary_hosts.proto create mode 100644 api/envoy/extensions/retry/host/previous_hosts/v3/previous_hosts.proto diff --git a/api/envoy/extensions/filters/thrift/router/v3/router.proto b/api/envoy/extensions/filters/thrift/router/v3/router.proto new file mode 100644 index 000000000000..33841a74d295 --- /dev/null +++ b/api/envoy/extensions/filters/thrift/router/v3/router.proto @@ -0,0 +1,17 @@ +syntax = "proto3"; + +package envoy.extensions.filter.thrift.router.v3; + +import "udpa/annotations/status.proto"; + +option java_package = "io.envoyproxy.envoy.extensions.filter.thrift.router.v3"; +option java_outer_classname = "RouterProto"; +option java_multiple_files = true; +option (udpa.annotations.file_status).package_version_status = ACTIVE; + +// [#protodoc-title: Router] +// Thrift router :ref:`configuration overview `. +// [#extension: envoy.filters.thrift.router] + +message Router { +} diff --git a/api/envoy/extensions/health_checker/redis/v3/redis.proto b/api/envoy/extensions/health_checker/redis/v3/redis.proto new file mode 100644 index 000000000000..44518e2e67f3 --- /dev/null +++ b/api/envoy/extensions/health_checker/redis/v3/redis.proto @@ -0,0 +1,22 @@ +syntax = "proto3"; + +package envoy.extensions.health_checker.redis.v3; + +import "udpa/annotations/status.proto"; + +option java_package = "io.envoyproxy.envoy.extensions.health_checker.redis.v3"; +option java_outer_classname = "RedisProto"; +option java_multiple_files = true; +option (udpa.annotations.file_status).package_version_status = ACTIVE; + +// [#protodoc-title: Redis] +// Redis health checker :ref:`configuration overview `. +// [#extension: envoy.health_checkers.redis] + +message Redis { + // If set, optionally perform ``EXISTS `` instead of ``PING``. A return value + // from Redis of 0 (does not exist) is considered a passing healthcheck. A return value other + // than 0 is considered a failure. This allows the user to mark a Redis instance for maintenance + // by setting the specified key to any value and waiting for traffic to drain. + string key = 1; +} diff --git a/api/envoy/extensions/resource_monitor/fixed_heap/v3/fixed_heap.proto b/api/envoy/extensions/resource_monitor/fixed_heap/v3/fixed_heap.proto new file mode 100644 index 000000000000..214610550de3 --- /dev/null +++ b/api/envoy/extensions/resource_monitor/fixed_heap/v3/fixed_heap.proto @@ -0,0 +1,21 @@ +syntax = "proto3"; + +package envoy.extensions.resource_monitor.fixed_heap.v3; + +import "udpa/annotations/status.proto"; +import "validate/validate.proto"; + +option java_package = "io.envoyproxy.envoy.config.resource_monitor.fixed_heap.v3"; +option java_outer_classname = "FixedHeapProto"; +option java_multiple_files = true; +option (udpa.annotations.file_status).package_version_status = ACTIVE; + +// [#protodoc-title: Fixed heap] +// [#extension: envoy.resource_monitors.fixed_heap] + +// The fixed heap resource monitor reports the Envoy process memory pressure, computed as a +// fraction of currently reserved heap memory divided by a statically configured maximum +// specified in the FixedHeapConfig. +message FixedHeapConfig { + uint64 max_heap_size_bytes = 1 [(validate.rules).uint64 = {gt: 0}]; +} diff --git a/api/envoy/extensions/resource_monitor/injected_resource/v3/injected_resource.proto b/api/envoy/extensions/resource_monitor/injected_resource/v3/injected_resource.proto new file mode 100644 index 000000000000..2a00cf8e0c82 --- /dev/null +++ b/api/envoy/extensions/resource_monitor/injected_resource/v3/injected_resource.proto @@ -0,0 +1,22 @@ +syntax = "proto3"; + +package envoy.extensions.resource_monitor.injected_resource.v3; + +import "udpa/annotations/status.proto"; +import "validate/validate.proto"; + +option java_package = "io.envoyproxy.envoy.config.resource_monitor.injected_resource.v3"; +option java_outer_classname = "InjectedResourceProto"; +option java_multiple_files = true; +option (udpa.annotations.file_status).package_version_status = ACTIVE; + +// [#protodoc-title: Injected resource] +// [#extension: envoy.resource_monitors.injected_resource] + +// The injected resource monitor allows injecting a synthetic resource pressure into Envoy +// via a text file, which must contain a floating-point number in the range [0..1] representing +// the resource pressure and be updated atomically by a symbolic link swap. +// This is intended primarily for integration tests to force Envoy into an overloaded state. +message InjectedResourceConfig { + string filename = 1 [(validate.rules).string = {min_bytes: 1}]; +} diff --git a/api/envoy/extensions/retry/host/omit_canary_hosts/v3/omit_canary_hosts.proto b/api/envoy/extensions/retry/host/omit_canary_hosts/v3/omit_canary_hosts.proto new file mode 100644 index 000000000000..b6cf1dee86fd --- /dev/null +++ b/api/envoy/extensions/retry/host/omit_canary_hosts/v3/omit_canary_hosts.proto @@ -0,0 +1,16 @@ +syntax = "proto3"; + +package envoy.extensions.retry.host.omit_canary_hosts.v3; + +import "udpa/annotations/status.proto"; + +option java_package = "io.envoyproxy.envoy.extensions.retry.host.omit_canary_hosts.v3"; +option java_outer_classname = "OmitCanaryHostsProto"; +option java_multiple_files = true; +option (udpa.annotations.file_status).package_version_status = ACTIVE; + +// [#protodoc-title: Omit Canary Hosts Predicate] +// [#extension: envoy.retry_host_predicates.omit_canary_hosts] + +message OmitCanaryHostsPredicate { +} diff --git a/api/envoy/extensions/retry/host/previous_hosts/v3/previous_hosts.proto b/api/envoy/extensions/retry/host/previous_hosts/v3/previous_hosts.proto new file mode 100644 index 000000000000..fe31b9e305c6 --- /dev/null +++ b/api/envoy/extensions/retry/host/previous_hosts/v3/previous_hosts.proto @@ -0,0 +1,16 @@ +syntax = "proto3"; + +package envoy.extensions.retry.host.previous_hosts.v3; + +import "udpa/annotations/status.proto"; + +option java_package = "io.envoyproxy.envoy.extensions.retry.host.previous_hosts.v3"; +option java_outer_classname = "PreviousHostsProto"; +option java_multiple_files = true; +option (udpa.annotations.file_status).package_version_status = ACTIVE; + +// [#protodoc-title: Previous Hosts Predicate] +// [#extension: envoy.retry_host_predicates.previous_hosts] + +message PreviousHostsPredicate { +} From 6f8f28962a9d4845ad1f905b8da622cabec5057b Mon Sep 17 00:00:00 2001 From: Abhay Narayan Katare Date: Thu, 29 Oct 2020 13:00:18 +0530 Subject: [PATCH 2/4] Fixing bug 12841 Signed-off-by: Abhay Narayan Katare --- api/BUILD | 6 ++++++ .../filters/thrift/router/v3/router.proto | 17 ----------------- .../extensions/health_checker/redis/v3/BUILD | 9 +++++++++ .../resource_monitor/fixed_heap/v3/BUILD | 9 +++++++++ .../fixed_heap/v3/fixed_heap.proto | 2 +- .../resource_monitor/injected_resource/v3/BUILD | 9 +++++++++ .../v3/injected_resource.proto | 2 +- .../retry/host/omit_canary_hosts/v3/BUILD | 9 +++++++++ .../retry/host/previous_hosts/v3/BUILD | 9 +++++++++ api/versioning/BUILD | 6 ++++++ 10 files changed, 59 insertions(+), 19 deletions(-) delete mode 100644 api/envoy/extensions/filters/thrift/router/v3/router.proto create mode 100644 api/envoy/extensions/health_checker/redis/v3/BUILD create mode 100644 api/envoy/extensions/resource_monitor/fixed_heap/v3/BUILD create mode 100644 api/envoy/extensions/resource_monitor/injected_resource/v3/BUILD create mode 100644 api/envoy/extensions/retry/host/omit_canary_hosts/v3/BUILD create mode 100644 api/envoy/extensions/retry/host/previous_hosts/v3/BUILD diff --git a/api/BUILD b/api/BUILD index 345732128a0d..f296e5383807 100644 --- a/api/BUILD +++ b/api/BUILD @@ -164,6 +164,7 @@ proto_library( "//envoy/extensions/common/tap/v3:pkg", "//envoy/extensions/compression/gzip/compressor/v3:pkg", "//envoy/extensions/compression/gzip/decompressor/v3:pkg", + "//envoy/extensions/filter/thrift/router/v3:pkg", "//envoy/extensions/filters/common/fault/v3:pkg", "//envoy/extensions/filters/http/adaptive_concurrency/v3:pkg", "//envoy/extensions/filters/http/admission_control/v3alpha:pkg", @@ -231,11 +232,16 @@ proto_library( "//envoy/extensions/filters/network/zookeeper_proxy/v3:pkg", "//envoy/extensions/filters/udp/dns_filter/v3alpha:pkg", "//envoy/extensions/filters/udp/udp_proxy/v3:pkg", + "//envoy/extensions/health_checker/redis/v3:pkg", "//envoy/extensions/internal_redirect/allow_listed_routes/v3:pkg", "//envoy/extensions/internal_redirect/previous_routes/v3:pkg", "//envoy/extensions/internal_redirect/safe_cross_scheme/v3:pkg", "//envoy/extensions/network/socket_interface/v3:pkg", + "//envoy/extensions/resource_monitor/fixed_heap/v3:pkg", + "//envoy/extensions/resource_monitor/injected_resource/v3:pkg", + "//envoy/extensions/retry/host/omit_canary_hosts/v3:pkg", "//envoy/extensions/retry/host/omit_host_metadata/v3:pkg", + "//envoy/extensions/retry/host/previous_hosts/v3:pkg", "//envoy/extensions/retry/priority/previous_priorities/v3:pkg", "//envoy/extensions/stat_sinks/wasm/v3:pkg", "//envoy/extensions/transport_sockets/alts/v3:pkg", diff --git a/api/envoy/extensions/filters/thrift/router/v3/router.proto b/api/envoy/extensions/filters/thrift/router/v3/router.proto deleted file mode 100644 index 33841a74d295..000000000000 --- a/api/envoy/extensions/filters/thrift/router/v3/router.proto +++ /dev/null @@ -1,17 +0,0 @@ -syntax = "proto3"; - -package envoy.extensions.filter.thrift.router.v3; - -import "udpa/annotations/status.proto"; - -option java_package = "io.envoyproxy.envoy.extensions.filter.thrift.router.v3"; -option java_outer_classname = "RouterProto"; -option java_multiple_files = true; -option (udpa.annotations.file_status).package_version_status = ACTIVE; - -// [#protodoc-title: Router] -// Thrift router :ref:`configuration overview `. -// [#extension: envoy.filters.thrift.router] - -message Router { -} diff --git a/api/envoy/extensions/health_checker/redis/v3/BUILD b/api/envoy/extensions/health_checker/redis/v3/BUILD new file mode 100644 index 000000000000..ee92fb652582 --- /dev/null +++ b/api/envoy/extensions/health_checker/redis/v3/BUILD @@ -0,0 +1,9 @@ +# DO NOT EDIT. This file is generated by tools/proto_format/proto_sync.py. + +load("@envoy_api//bazel:api_build_system.bzl", "api_proto_package") + +licenses(["notice"]) # Apache 2 + +api_proto_package( + deps = ["@com_github_cncf_udpa//udpa/annotations:pkg"], +) diff --git a/api/envoy/extensions/resource_monitor/fixed_heap/v3/BUILD b/api/envoy/extensions/resource_monitor/fixed_heap/v3/BUILD new file mode 100644 index 000000000000..ee92fb652582 --- /dev/null +++ b/api/envoy/extensions/resource_monitor/fixed_heap/v3/BUILD @@ -0,0 +1,9 @@ +# DO NOT EDIT. This file is generated by tools/proto_format/proto_sync.py. + +load("@envoy_api//bazel:api_build_system.bzl", "api_proto_package") + +licenses(["notice"]) # Apache 2 + +api_proto_package( + deps = ["@com_github_cncf_udpa//udpa/annotations:pkg"], +) diff --git a/api/envoy/extensions/resource_monitor/fixed_heap/v3/fixed_heap.proto b/api/envoy/extensions/resource_monitor/fixed_heap/v3/fixed_heap.proto index 214610550de3..e4865d348b97 100644 --- a/api/envoy/extensions/resource_monitor/fixed_heap/v3/fixed_heap.proto +++ b/api/envoy/extensions/resource_monitor/fixed_heap/v3/fixed_heap.proto @@ -5,7 +5,7 @@ package envoy.extensions.resource_monitor.fixed_heap.v3; import "udpa/annotations/status.proto"; import "validate/validate.proto"; -option java_package = "io.envoyproxy.envoy.config.resource_monitor.fixed_heap.v3"; +option java_package = "io.envoyproxy.envoy.extensions.resource_monitor.fixed_heap.v3"; option java_outer_classname = "FixedHeapProto"; option java_multiple_files = true; option (udpa.annotations.file_status).package_version_status = ACTIVE; diff --git a/api/envoy/extensions/resource_monitor/injected_resource/v3/BUILD b/api/envoy/extensions/resource_monitor/injected_resource/v3/BUILD new file mode 100644 index 000000000000..ee92fb652582 --- /dev/null +++ b/api/envoy/extensions/resource_monitor/injected_resource/v3/BUILD @@ -0,0 +1,9 @@ +# DO NOT EDIT. This file is generated by tools/proto_format/proto_sync.py. + +load("@envoy_api//bazel:api_build_system.bzl", "api_proto_package") + +licenses(["notice"]) # Apache 2 + +api_proto_package( + deps = ["@com_github_cncf_udpa//udpa/annotations:pkg"], +) diff --git a/api/envoy/extensions/resource_monitor/injected_resource/v3/injected_resource.proto b/api/envoy/extensions/resource_monitor/injected_resource/v3/injected_resource.proto index 2a00cf8e0c82..13a7a2ab4edf 100644 --- a/api/envoy/extensions/resource_monitor/injected_resource/v3/injected_resource.proto +++ b/api/envoy/extensions/resource_monitor/injected_resource/v3/injected_resource.proto @@ -5,7 +5,7 @@ package envoy.extensions.resource_monitor.injected_resource.v3; import "udpa/annotations/status.proto"; import "validate/validate.proto"; -option java_package = "io.envoyproxy.envoy.config.resource_monitor.injected_resource.v3"; +option java_package = "io.envoyproxy.envoy.extensions.resource_monitor.injected_resource.v3"; option java_outer_classname = "InjectedResourceProto"; option java_multiple_files = true; option (udpa.annotations.file_status).package_version_status = ACTIVE; diff --git a/api/envoy/extensions/retry/host/omit_canary_hosts/v3/BUILD b/api/envoy/extensions/retry/host/omit_canary_hosts/v3/BUILD new file mode 100644 index 000000000000..ee92fb652582 --- /dev/null +++ b/api/envoy/extensions/retry/host/omit_canary_hosts/v3/BUILD @@ -0,0 +1,9 @@ +# DO NOT EDIT. This file is generated by tools/proto_format/proto_sync.py. + +load("@envoy_api//bazel:api_build_system.bzl", "api_proto_package") + +licenses(["notice"]) # Apache 2 + +api_proto_package( + deps = ["@com_github_cncf_udpa//udpa/annotations:pkg"], +) diff --git a/api/envoy/extensions/retry/host/previous_hosts/v3/BUILD b/api/envoy/extensions/retry/host/previous_hosts/v3/BUILD new file mode 100644 index 000000000000..ee92fb652582 --- /dev/null +++ b/api/envoy/extensions/retry/host/previous_hosts/v3/BUILD @@ -0,0 +1,9 @@ +# DO NOT EDIT. This file is generated by tools/proto_format/proto_sync.py. + +load("@envoy_api//bazel:api_build_system.bzl", "api_proto_package") + +licenses(["notice"]) # Apache 2 + +api_proto_package( + deps = ["@com_github_cncf_udpa//udpa/annotations:pkg"], +) diff --git a/api/versioning/BUILD b/api/versioning/BUILD index 2e0a1cd4997d..c521064b4281 100644 --- a/api/versioning/BUILD +++ b/api/versioning/BUILD @@ -47,6 +47,7 @@ proto_library( "//envoy/extensions/common/tap/v3:pkg", "//envoy/extensions/compression/gzip/compressor/v3:pkg", "//envoy/extensions/compression/gzip/decompressor/v3:pkg", + "//envoy/extensions/filter/thrift/router/v3:pkg", "//envoy/extensions/filters/common/fault/v3:pkg", "//envoy/extensions/filters/http/adaptive_concurrency/v3:pkg", "//envoy/extensions/filters/http/admission_control/v3alpha:pkg", @@ -114,11 +115,16 @@ proto_library( "//envoy/extensions/filters/network/zookeeper_proxy/v3:pkg", "//envoy/extensions/filters/udp/dns_filter/v3alpha:pkg", "//envoy/extensions/filters/udp/udp_proxy/v3:pkg", + "//envoy/extensions/health_checker/redis/v3:pkg", "//envoy/extensions/internal_redirect/allow_listed_routes/v3:pkg", "//envoy/extensions/internal_redirect/previous_routes/v3:pkg", "//envoy/extensions/internal_redirect/safe_cross_scheme/v3:pkg", "//envoy/extensions/network/socket_interface/v3:pkg", + "//envoy/extensions/resource_monitor/fixed_heap/v3:pkg", + "//envoy/extensions/resource_monitor/injected_resource/v3:pkg", + "//envoy/extensions/retry/host/omit_canary_hosts/v3:pkg", "//envoy/extensions/retry/host/omit_host_metadata/v3:pkg", + "//envoy/extensions/retry/host/previous_hosts/v3:pkg", "//envoy/extensions/retry/priority/previous_priorities/v3:pkg", "//envoy/extensions/stat_sinks/wasm/v3:pkg", "//envoy/extensions/transport_sockets/alts/v3:pkg", From 7dfa9ad7a0d7cce556e30126e9d69a0db806d1b1 Mon Sep 17 00:00:00 2001 From: Abhay Narayan Katare Date: Thu, 29 Oct 2020 23:27:06 +0530 Subject: [PATCH 3/4] fixing format issues in build Signed-off-by: Abhay Narayan Katare --- .../extensions/filter/thrift/router/v3/BUILD | 9 +++++++++ .../filter/thrift/router/v3/router.proto | 17 +++++++++++++++++ .../v3/injected_resource.proto | 2 +- 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 api/envoy/extensions/filter/thrift/router/v3/BUILD create mode 100644 api/envoy/extensions/filter/thrift/router/v3/router.proto diff --git a/api/envoy/extensions/filter/thrift/router/v3/BUILD b/api/envoy/extensions/filter/thrift/router/v3/BUILD new file mode 100644 index 000000000000..ee92fb652582 --- /dev/null +++ b/api/envoy/extensions/filter/thrift/router/v3/BUILD @@ -0,0 +1,9 @@ +# DO NOT EDIT. This file is generated by tools/proto_format/proto_sync.py. + +load("@envoy_api//bazel:api_build_system.bzl", "api_proto_package") + +licenses(["notice"]) # Apache 2 + +api_proto_package( + deps = ["@com_github_cncf_udpa//udpa/annotations:pkg"], +) diff --git a/api/envoy/extensions/filter/thrift/router/v3/router.proto b/api/envoy/extensions/filter/thrift/router/v3/router.proto new file mode 100644 index 000000000000..33841a74d295 --- /dev/null +++ b/api/envoy/extensions/filter/thrift/router/v3/router.proto @@ -0,0 +1,17 @@ +syntax = "proto3"; + +package envoy.extensions.filter.thrift.router.v3; + +import "udpa/annotations/status.proto"; + +option java_package = "io.envoyproxy.envoy.extensions.filter.thrift.router.v3"; +option java_outer_classname = "RouterProto"; +option java_multiple_files = true; +option (udpa.annotations.file_status).package_version_status = ACTIVE; + +// [#protodoc-title: Router] +// Thrift router :ref:`configuration overview `. +// [#extension: envoy.filters.thrift.router] + +message Router { +} diff --git a/api/envoy/extensions/resource_monitor/injected_resource/v3/injected_resource.proto b/api/envoy/extensions/resource_monitor/injected_resource/v3/injected_resource.proto index 13a7a2ab4edf..436948fbc2e0 100644 --- a/api/envoy/extensions/resource_monitor/injected_resource/v3/injected_resource.proto +++ b/api/envoy/extensions/resource_monitor/injected_resource/v3/injected_resource.proto @@ -18,5 +18,5 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE; // the resource pressure and be updated atomically by a symbolic link swap. // This is intended primarily for integration tests to force Envoy into an overloaded state. message InjectedResourceConfig { - string filename = 1 [(validate.rules).string = {min_bytes: 1}]; + string filename = 1 [(validate.rules).string = {min_len: 1}]; } From a95405685e842fa06d0b4fd21f92c37257ba698b Mon Sep 17 00:00:00 2001 From: Abhay Narayan Katare Date: Tue, 3 Nov 2020 23:41:07 +0530 Subject: [PATCH 4/4] docs changes for #12841 Signed-off-by: Abhay Narayan Katare --- .../other_protocols/thrift_filters/router_filter.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/root/configuration/other_protocols/thrift_filters/router_filter.rst b/docs/root/configuration/other_protocols/thrift_filters/router_filter.rst index 22ce7bcbf137..3d1d39b42ef7 100644 --- a/docs/root/configuration/other_protocols/thrift_filters/router_filter.rst +++ b/docs/root/configuration/other_protocols/thrift_filters/router_filter.rst @@ -7,7 +7,7 @@ The router filter implements Thrift forwarding. It will be used in almost all Th scenarios. The filter's main job is to follow the instructions specified in the configured :ref:`route table `. -* :ref:`v3 API reference ` +* :ref:`v3 API reference ` * This filter should be configured with the name *envoy.filters.thrift.router*. Statistics