Thrift health checker support (#23043)

Signed-off-by: kuochunghsu <kuochunghsu@pinterest.com>

Mirrored from https://github.com/envoyproxy/envoy @ d079cb3b5cfc37f7f9c2d49e266c98d4a91b63e5
pull/626/head
data-plane-api(Azure Pipelines) 2 years ago
parent 375bd0d043
commit 871c92f2b2
  1. 1
      BUILD
  2. 1
      envoy/data/core/v3/health_check_event.proto
  3. 12
      envoy/extensions/health_checkers/thrift/v3/BUILD
  4. 41
      envoy/extensions/health_checkers/thrift/v3/thrift.proto
  5. 1
      versioning/BUILD

@ -225,6 +225,7 @@ proto_library(
"//envoy/extensions/formatter/metadata/v3:pkg",
"//envoy/extensions/formatter/req_without_query/v3:pkg",
"//envoy/extensions/health_checkers/redis/v3:pkg",
"//envoy/extensions/health_checkers/thrift/v3:pkg",
"//envoy/extensions/http/header_formatters/preserve_case/v3:pkg",
"//envoy/extensions/http/header_validators/envoy_default/v3:pkg",
"//envoy/extensions/http/original_ip_detection/custom_header/v3:pkg",

@ -31,6 +31,7 @@ enum HealthCheckerType {
TCP = 1;
GRPC = 2;
REDIS = 3;
THRIFT = 4;
}
// [#next-free-field: 10]

@ -0,0 +1,12 @@
# 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 = [
"//envoy/extensions/filters/network/thrift_proxy/v3:pkg",
"@com_github_cncf_udpa//udpa/annotations:pkg",
],
)

@ -0,0 +1,41 @@
syntax = "proto3";
package envoy.extensions.health_checkers.thrift.v3;
import "envoy/extensions/filters/network/thrift_proxy/v3/thrift_proxy.proto";
import "udpa/annotations/status.proto";
import "validate/validate.proto";
option java_package = "io.envoyproxy.envoy.extensions.health_checkers.thrift.v3";
option java_outer_classname = "ThriftProto";
option java_multiple_files = true;
option go_package = "github.com/envoyproxy/go-control-plane/envoy/extensions/health_checkers/thrift/v3;thriftv3";
option (udpa.annotations.file_status).package_version_status = ACTIVE;
// [#protodoc-title: Thrift]
// Thrift health checker :ref:`configuration overview <config_health_checkers_thrift>`.
// [#extension: envoy.health_checkers.thrift]
message Thrift {
// Specifies the method name that will be set on each health check request dispatched to an upstream host.
// Note that method name is case sensitive.
string method_name = 1 [(validate.rules).string = {min_len: 1}];
// Configures the transport type to be used with the health checks. Note that
// :ref:`AUTO_TRANSPORT<envoy_v3_api_enum_value_extensions.filters.network.thrift_proxy.v3.TransportType.AUTO_TRANSPORT>`
// is not supported, and we don't honor :ref:`ThriftProtocolOptions<envoy_v3_api_msg_extensions.filters.network.thrift_proxy.v3.ThriftProtocolOptions>`
// since it's possible to set to :ref:`AUTO_TRANSPORT<envoy_v3_api_enum_value_extensions.filters.network.thrift_proxy.v3.TransportType.AUTO_TRANSPORT>`.
// [#extension-category: envoy.filters.network]
filters.network.thrift_proxy.v3.TransportType transport = 2
[(validate.rules).enum = {defined_only: true}];
// Configures the protocol type to be used with the health checks. Note that
// :ref:`AUTO_PROTOCOL<envoy_v3_api_enum_value_extensions.filters.network.thrift_proxy.v3.ProtocolType.AUTO_PROTOCOL>`
// and :ref:`TWITTER<envoy_v3_api_enum_value_extensions.filters.network.thrift_proxy.v3.ProtocolType.TWITTER>`
// are not supported, and we don't honor :ref:`ThriftProtocolOptions<envoy_v3_api_msg_extensions.filters.network.thrift_proxy.v3.ThriftProtocolOptions>`
// since it's possible to set to :ref:`AUTO_PROTOCOL<envoy_v3_api_enum_value_extensions.filters.network.thrift_proxy.v3.ProtocolType.AUTO_PROTOCOL>`
// or :ref:`TWITTER<envoy_v3_api_enum_value_extensions.filters.network.thrift_proxy.v3.ProtocolType.TWITTER>`.
filters.network.thrift_proxy.v3.ProtocolType protocol = 3
[(validate.rules).enum = {defined_only: true}];
}

@ -165,6 +165,7 @@ proto_library(
"//envoy/extensions/formatter/metadata/v3:pkg",
"//envoy/extensions/formatter/req_without_query/v3:pkg",
"//envoy/extensions/health_checkers/redis/v3:pkg",
"//envoy/extensions/health_checkers/thrift/v3:pkg",
"//envoy/extensions/http/header_formatters/preserve_case/v3:pkg",
"//envoy/extensions/http/header_validators/envoy_default/v3:pkg",
"//envoy/extensions/http/original_ip_detection/custom_header/v3:pkg",

Loading…
Cancel
Save