WebUI for monitoring CoreOS clusters including fleet and etcd
Built with love by the Yodlr team
CoreGI came out of our need for a one-stop dashboard for viewing the status of the applications running in our CoreOS clusters, monitoring etcd keys, and managing rolling software updates. We're pro cli-tools, but have found that simple web-apps provide improved visibility into complex systems.
CoreGI was created to be as simple as possible and deploying CoreGI is as easy as running a docker container. CoreGI can also be installed into a CoreOS cluster using a CoreOS service file. Take a look at our CoreOS service file for an example. CoreGI can also be ran as an application using Node.js by using environment variables to change the default options, see Getting Started.
We have setup automated Docker Hub builds for CoreGI here
git clone https://github.com/yodlr/CoreGI.git
cd CoreGI
fleetctl start services/coregi.service
Our example service file is setup to be a Global service listening on port 3000. This can be modified in the CoreOS service file which can be found here.
$ docker run --name coregi -p 3000:3000 yodlr/coregi:latest
To change default options, see options. Example with custom option:
$ FLEET_BINARY=/usr/local/bin/fleetctl npm start
CoreGI default options. To change the default options, simply set the value of any of the following environment variables.
PORT = 3000
FLEET_BINARY = '/usr/bin/fleetctl'
FLEET_TUNNEL = '172.17.42.1' //If set, will remove FLEET_ENDPOINT option.
FLEET_ENDPOINT = 'http://172.17.42.1:4001'
ETCD_HOST = '172.17.42.1'
ETCD_PORT = 4001
LOG_LEVEL = 'info'
CoreGI currently supports querying Fleet for listing of machines, units, unit-files and Etcd for listing of keys. CoreGI also exposes a REST API with the following endpoints:
- GET /api/machines
- GET /api/units
- GET /api/unitFiles
- GET /api/keys
Some of the features we're thinking/planning on implementing include:
- Unit logs
- Unit status
- Start/stop/load/unload units
- Monitoring and editing etcd keys
- Rolling deployment of units