diff --git a/bazel/api_build_system.bzl b/bazel/api_build_system.bzl index a514b68f..ebc27c3b 100644 --- a/bazel/api_build_system.bzl +++ b/bazel/api_build_system.bzl @@ -53,6 +53,7 @@ def api_go_proto_library(name, proto, deps = []): "@com_github_golang_protobuf//ptypes/wrappers:go_default_library", "@com_github_golang_protobuf//ptypes/any:go_default_library", "@com_lyft_protoc_gen_validate//validate:go_default_library", + "@googleapis//:rpc_status_go_proto", ] ) diff --git a/envoy/api/v2/discovery.proto b/envoy/api/v2/discovery.proto index b3077b3a..7f3812e9 100644 --- a/envoy/api/v2/discovery.proto +++ b/envoy/api/v2/discovery.proto @@ -6,6 +6,7 @@ option go_package = "v2"; import "envoy/api/v2/core/base.proto"; import "google/protobuf/any.proto"; +import "google/rpc/status.proto"; import "gogoproto/gogo.proto"; option (gogoproto.equal_all) = true; @@ -46,6 +47,13 @@ message DiscoveryRequest { // may be empty if no nonce is available, e.g. at startup or for non-stream // xDS implementations. string response_nonce = 5; + + // [#not-implemented-hide:] + // This is populated when the previous :ref:`DiscoveryResponse ` + // failed to update configuration. The *message* field in *error_details* provides the Envoy + // internal exception related to the failure. It is only intended for consumption during manual + // debugging, the string provided is not guaranteed to be stable across Envoy versions. + google.rpc.Status error_detail = 6; } message DiscoveryResponse {