https://github.com/opencopilot/consulkvjson
KV Pairs ↔️ JSON for Consul
https://github.com/opencopilot/consulkvjson
consul golang json kv
Last synced: 3 months ago
JSON representation
KV Pairs ↔️ JSON for Consul
- Host: GitHub
- URL: https://github.com/opencopilot/consulkvjson
- Owner: opencopilot
- License: bsd-3-clause
- Created: 2018-04-17T20:34:11.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-05-02T18:21:37.000Z (almost 8 years ago)
- Last Synced: 2026-01-11T13:53:51.854Z (3 months ago)
- Topics: consul, golang, json, kv
- Language: Go
- Homepage:
- Size: 15.6 KB
- Stars: 13
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## consulkvjson 🌲
The Consul KV store has some nice tree properties for querying for a subtree (`-recurse` with a prefix). However, the output is still a flat list of KV pairs.
It would be nice if it were possible to return a JSON representation of the subtree at a path. The inverse would also be nice, to convert a JSON blob into a list of KV pairs, accounting for key hierarchy.
This is a small `golang` implementation of that.
Calling `ToKVs` with a JSON blob like this:
```js
{
"key": {
"at" : {
"some": {
"depth": true
}
}
},
"at_root": 123
}
```
Will return something like this:
```js
[
{"key": "key/at/some/depth", "value": "true"},
{"key": "at_root", "value": "123"},
]
```
And `ToJSON` will do the inverse. Note that JSON -> KVs turns all "leaves" of the JSON tree (numeric, boolean, string, null values) to strings.