XRayConfig_SegmentFields can't be configured correctly from an xDS control plane
- Dominant language
- C++
- Stars
- 28.9k
- Forks
- 5.6k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 437
Description
*Title*: *XRayConfig_SegmentFields can't be configured correctly from an xDS control plane*
*Description*:
Currently the `XRayConfig_SegmentFields.Origin` and `XRayConfig_SegmentFields.Aws` fields will allow configuring that the trace segment comes from the correct `origin` as per the Optional Segment Fields in the AWS Segment fields documentation.
The `aws` object that needs to be sent to make this `origin` be considered valid requires the following data:
```
ecs – Information about an Amazon ECS container.
- container – The hostname of your container.
- container_id – The full container ID of your container.
- container_arn – The ARN of your container instance.
```
This is possible to do using sed and yaml on statically configured envoy hosts.
However, **an xDS server cannot populate this with meaningful data** and it should be handled internally by envoy's XRay tracing features. I believe that detecting the correct data should be up to each individual envoy proxy at runtime, and should not be configurable here either in the yaml or in the xDS gRPC structs.
*Relevant Links*:
- https://github.com/envoyproxy/go-control-plane/blob/main/envoy/config/trace/v3/xray.pb.go#L109
- https://docs.aws.amazon.com/xray/latest/devguide/xray-api-segmentdocuments.html#api-segmentdocuments-fields
Contributor guide
Assessment
This issue has not been assessed yet.