Using node details in envoy_extra_static_clusters_json
- Dominant language
- Go
- Stars
- 30.1k
- Forks
- 4.6k
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 39
Description
#### Feature Description
I am running consul connect in k8s and I want to configure a static cluster in the sidecar that points to a telemetry collector running as a daemonset on each node. Consul knows the node name + ip but there is no way to get them into the static cluster definition, at least based on my reading of the docmentation (apologies if I have missed something).
I propose that the static cluster definition is pre-processed before sending to envoy to replace a token such as ${NODE_IP} with the actual node ip registered in consul.
#### Use Case(s)
To create static cluster definitions that point to a node-local address rather than a dns entry or a static cluster IP. Currently it is impossible to define a static cluster that points to a port on the same node because the required ip is not static.
Contributor guide
Research direction
The issue does not identify implementation files, tests, or an entry point. Start by tracing how envoy_extra_static_clusters_json is processed for Consul Connect sidecars, then define how the node name or IP is obtained and substituted; done means a node-local static cluster can be configured for a Kubernetes sidecar and is covered by tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100