envoyproxy / envoyproxy/envoy

Add optional error message field to DiscoveryResponse

Open
#18,887 4 comments 0 reactions 0 assignees View on GitHub
area/xds help wanted
Dominant language
C++
Stars
28.9k
Forks
5.6k
Avg merge
1d 20h
Merged PRs (30d)
437

Description

*Title*: *Add optional error message field to DiscoveryResponse*

*Description*:
Engineers at Square are allowed to configure their envoy's behavior through certain key/value pairs that we add to the bootstrap [node metadata](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/base.proto#envoy-v3-api-msg-config-core-v3-node). Occasionally, they submit incorrect values. They may use incorrect key names or they may use sets of configuration options that are logically incorrect. We _could_ try to identify these errors through some process that runs alongside the Envoy sidecar, but then we'd need to update that (i.e. update our fleet of envoys) every time we wanted to expose a new configuration option.

Instead, I'd like to propose that we allow adding an error message to a [DiscoveryResponse](https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/discovery/v3/discovery.proto#service-discovery-v3-discoveryresponse). If set, Envoy will log the error message to stdout when it receives the DiscoveryResponse. This will allow our engineers to see why their sidecar is failing to become ready. My team can then try and return actionable feedback that empowers these engineers to correct their configuration mistake!

Let me know if this is reasonable or if there is another way to accomplish what I am trying to do.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.