AWS/cloud awareness for consul agent
- Dominant language
- Go
- Stars
- 30.1k
- Forks
- 4.6k
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 39
Description
#### Feature Description
Consul already has some features that are specific to clouds, like integration with AWS Service Mesh or discovery based on EC2 tags. It would be nice to have some AWS information automatically embedded in agent's [node-meta](https://www.consul.io/docs/agent/options.html#_node_meta) for service filtering.
This can be configured as agent flag and turned off by default. Any cloud providers can be used, AWS is just an example.
#### Use Case(s)
One of the use-cases.
If availability zone is set, service A that talks to service B can query IPs of service B in availability zone where it runs first and then use others as fall-back. That may save costs for [cross-zone traffic](https://www.lastweekinaws.com/blog/aws-cross-az-data-transfer-costs-more-than-aws-says/).
Additional use-case would be to set all available instance tags for the same filtering. Like you have instances in multiple accounts connected to the same consul cluster and having different account name in meta for example.
Contributor guide
Research direction
Start with the Consul agent's node-meta configuration and the existing AWS Service Mesh or EC2-tag integrations mentioned in the issue. Define how an opt-in, default-disabled setting would expose availability-zone and instance-tag data in node-meta, and document support boundaries for other cloud providers. Done means the behavior and configuration are specified and covered by appropriate agent tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws
- Domain
- backend, cloud
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100