hashicorp / hashicorp/consul

Using node details in envoy_extra_static_clusters_json

Open
#15,941 1 comment 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.