hashicorp / hashicorp/consul

Consul KV api enhancements

Open
#4,142 4 comments 4 reactions 0 assignees View on GitHub
theme/api thinking type/enhancement
Dominant language
Go
Stars
30.1k
Forks
4.6k
Avg merge
2d 6h
Merged PRs (30d)
43

Description

#### Feature Description

Extend the Consul KV rest api with additional blocking query options:
```
$ curl \
https://consul.rocks/v1/kv/my-key?meta=true&filter=true&index=X
```
The meta=true option would result in returning keys and metadata but no values
The filter=true would only include keys whose modify indices were > X
```
$ curl \
https://consul.rocks/v1/kv/my-key?recurse=true&filter=true&index=X
```
The filter=true option would only return key/value/metadata for keys whose modify indices were > X

#### Use Case(s)

There are two use cases of interest:
1. Support clients doing blocking query of a key prefix in order to detect keys being added/removed. Currently the blocking query returns the complete set of keys, so the client needs to maintain state and do set difference operations in order to detect added/removed keys.

2. Support clients doing blocking query of a key prefix in order to detect values being modified. Right now this has to be done via a blocking query returning values for *all* keys.
As suggested in this thread (https://groups.google.com/forum/#!msg/consul-tool/Axow65BtSuY/TCLD5AFmCgAJ;context-place=forum/consul-tool) it would be great if there was an option for Consul to filter and return just the keys with a X-Consul-Index > the index specified in the query

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.