open-consul/ui
2014-05-01 12:17:05 -04:00
..
dist ui: ignore compiled js, dist 2014-05-01 11:22:30 -04:00
javascripts ui: fix datacenter route typo 2014-05-01 12:17:05 -04:00
scripts ui: update ember, dist steps 2014-05-01 11:21:55 -04:00
static ui: experiment with the vertical line 2014-04-30 23:44:29 -04:00
styles ui: pre fixes, dist build changes 2014-05-01 11:31:56 -04:00
tests
Gemfile ui: update ember, dist steps 2014-05-01 11:21:55 -04:00
Gemfile.lock ui: update ember, dist steps 2014-05-01 11:21:55 -04:00
index.html ui: add default js path for dist 2014-05-01 11:32:40 -04:00
Makefile ui: clean with makefile 2014-05-01 11:39:56 -04:00
README.md ui: pre fixes, dist build changes 2014-05-01 11:31:56 -04:00
style-guide.html

Consul Web UI

This directory contains the Consul Web UI. Consul contains a built-in HTTP server that serves this directoy, but any common HTTP server is capable of serving it.

It uses JavaScript and Ember to communicate with the Consul API. The basic features it provides are:

  • Service view. A list of your registered services, their health and the nodes they run on.
  • Node view. A list of your registered nodes, the services running on each and the health of the node.
  • Key/value view and update

It's aware of multiple data centers, so you can get a quick global overview before drilling into specific data-centers for detailed views.

The UI uses some internal undocumented HTTP APIs to optimize performance and usability.

Development

Improvements and bug fixes are welcome and encouraged for the Web UI.

You'll need sass to compile CSS stylesheets. Install that with bundler:

cd ui/
bundle

Reloading compilation for development:

make watch

Consul ships with an HTTP server for the API and UI. By default, when you run the agent, it is off. However, if you pass a -ui-dir flag with a path to this directoy, you'll be able to access the UI via the Consul HTTP server address, which defaults to localhost:8500/ui.

An example of this command, from inside the ui/ directory, would be:

consul agent -bootstrap -server -data-dir /tmp/ -ui-dir .

Releasing

These steps are slightly manual at the moment.

  1. Build with make dist

  2. In dist/index.html, replace the JS files between <!-- ASSETS --> tags with: