hashicorp / hashicorp/consul

Add supporting for blocking agent queries

Open
#1,586 3 comments 0 reactions 0 assignees View on GitHub
theme/api type/enhancement
Dominant language
Go
Stars
30.1k
Forks
4.6k
Avg merge
1d 18h
Merged PRs (30d)
39

Description

This came out of the discussion in https://groups.google.com/d/msgid/consul-tool/4B8FB380-CE57-4919-B505-E18260CC3564%40gmail.com.

In some cases there are agent-level things to manage, and there's no good way to get at events for a specific agent.

> We run dd_agent on every host. This is a "metrics collector" that then forwards the metrics off to DataDog and soon, for us, onto Kafka . It needs to be aware of all the services on the host, when they come and go, and what sort of apps they are (think “app family”; elasicsearch, cassandra, codahale java, …). This allows it to config itself with all the appropriate “checks” against the appropriate services. I just need a “local service registry” file that lists out all the _current_ services info for that node, that I can watch on the file system and react to.
>
> If I was to do this with consul-template, it would result in a huge load against the remote consul service. All of which is quite silly, since all that information came out of the local consul-agent in the first place. So I’d be asking the remote consul to tell me everything about myself, when I was the one who told it in the first place, and when really I should just be self-aware.

Contributor guide

Open the contributing guide

Research direction

Start with the agent-level query and blocking-query behavior described in the issue, then review the linked discussion for the expected local service-registry use case. Done means Consul supports the requested agent-local event access without requiring remote self-queries; no file or test path is named in the payload.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
api, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.