Skip to content

A user interface for the HashiCorp Nomad scheduler

License

Notifications You must be signed in to change notification settings

brendan-munro/nomad-ui

 
 

Repository files navigation

Nomad UI

An awesome user interface for an awesome scheduler, plain and simple :-)

Nomad UI Nomad UI Nomad UI

Usage

Since Nomad UI is a web-based application it needs to connect to the Nomad server directly. In order to make this work you need to enable CORS for the Nomad server. You can use the following config as an example:

http_api_response_headers {
  Access-Control-Allow-Origin   = "*"
  Access-Control-Expose-Headers = "x-nomad-index"
  Access-Control-Allow-Methods  = "GET, POST, OPTIONS"
}

The easiest way to run nomad-ui is through Docker. This way you won't have to install any dependencies. Run the following command to start a webserver that will serve the application.

docker run -e NOMAD_ADDR=... -p 8000:3000 iverberk/nomad-ui

The user interface will be accessible on localhost, port 8000. Adjust the Docker run parameters as needed. If you need to change the port that Nomad is listening on, you can use the additional -e NOMAD_PORT=... environment variable.

NOMAD_ADDR (IP or DNS name) and NOMAD_PORT should point to the correct location of your Nomad server. If you have a Node environment you can also build the production version yourself with:

npm install
NODE_ENV=production webpack -p --progress

This requires that the webpack command is available somewhere in your path. The resulting files will be stored in the dist/ folder and can be served by any webserver. You will have to adjust the value in config/settings.prod.json to the correct URL for the Nomad API.

Development

Just run npm install and npm start and start developing. Hot reloading is enabled, so any changes will be visible in the browser immediately. Unfortunately there are no tests yet.

If you would like to contribute please open a pull-request.

Credits

The awesome dashboard theme is created by Creative Tim and can be found here

About

A user interface for the HashiCorp Nomad scheduler

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 78.0%
  • JavaScript 21.0%
  • Other 1.0%