Consul comes with a built-in UI but at times I feel its getting in my way. I needed something that can let me jump to keys immediately and add/update keys right there and then. So last week I started working on Consul-UX which can be hooked into any Consul instance and talks to it using the http interface.

image

Its built usign React + Redux + Webpack, axios for making async requests and sports Milligram as css framework.

It supports the following features:

  • Keys filtering
  • Inline adding/updating/deleting keys
  • Settings for customizing Consul endpoint + token

One of the issues I ran into was that Consul’s KV endpoint doesn’t support preflight request which means CORS doesn’t work when doing OPTIONS requests. So what to do? I forked the project, did some tracing where are the endpoints and opened this PR#1807 which adds support to OPTIONS request.

image

Consul’s written in Golang so I had func going around its source code. I had fun and learned a lot while building this.