WebUI for monitoring CoreOS clusters including fleet and etcd
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs/images
lib
routes
services
site
.dockerignore
.gitignore
Dockerfile
LICENSE
README.md
bower.json
coregi.js
gulpfile.js
index.js
package.json
supervisord.conf

README.md

CoreGI

DockerHub Stats

WebUI for monitoring CoreOS clusters including fleet and etcd

CoreGI

Built with love by the Yodlr team

What is CoreGI

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 Dashboard

CoreGI runs in CoreOS

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

Getting Started

CoreOS
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
$ docker run --name coregi -p 3000:3000 yodlr/coregi:latest
Node.js

To change default options, see options. Example with custom option:

$ FLEET_BINARY=/usr/local/bin/fleetctl npm start

CoreGI Options

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 Features

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

Future Features

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

CoreGI is built with: