Skip to content

Latest commit

 

History

History
31 lines (25 loc) · 874 Bytes

README.md

File metadata and controls

31 lines (25 loc) · 874 Bytes

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:

{
  "key": {
    "at" : {
      "some": {
        "depth": true
      }
    }
  },
  "at_root": 123
}

Will return something like this:

[
  {"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.