hashicorp / hashicorp/consul

AWS/cloud awareness for consul agent

Open
#7,379 1 comment 0 reactions 0 assignees View on GitHub
type/enhancement waiting-reply
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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.