SaltStack Web UI
Project description
(Code-name) Halite is a Salt GUI. Status is pre-alpha. Contributions are very welcome. Join us in #salt-devel on Freenode or on the salt-users mailing list.
Installation quickstart
Clone the Halite repository:
git clone https://github.com/saltstack/halite
Generate an index.html file:
cd halite/halite ./genindex.py -C
Install salt-api 0.8.2 or greater.
Follow the instructions for installing CherryPy and configuring the rest_cherrypy module.
Configure the app and static settings to point at the files in your halite clone. For example:
rest_cherrypy: port: 8000 debug: True static: /path/to/halite/halite app: /path/to/halite/halite/index.html
Start salt-api:
salt-api
Open a browser and navigate to http://localhost:8000/app (substitute whatever port and app prefix you configured).
Documentation
Browser requirements
Support for ES5 and HTML5 is required. This means any modern browser or IE9+.
Server requirements
This app requires the rest_cherrypy module in salt-api to communicate with a running Salt installation via a REST API.
The static media for this app is server-agnostic and may be served from any web server at a configurable URL prefix.
This app uses the HTML5 history API and so the index.html should should be served from a base URL that otherwise ignores the rest of the URL path. In other words, if the base URL that serves the index.html file is /app, then /app/some/path should also serve that same file.
Libraries used
Client side web application requirements:
AngularJS framework (http://angularjs.org/)
Twitter Bootstrap Layout CSS (http://twitter.github.io/bootstrap/)
AngularUI framework (http://angular-ui.github.io/)
Karma Test Runner (http://karma-runner.github.io/0.8/index.html)
Jasmine unit test framework (http://pivotal.github.io/jasmine/)
CoffeeScript Python/Ruby like javascript transpiler (http://coffeescript.org/)
Express javascript web server
Less CSS compiler
genindex.py
The halite/genindex.py script is used to generate an HTML file that will bootstrap the app containing configurable paths to all required static JS/CSS assets. See the output of genindex.py --help for available options.
For development genindex.py -C will build the index.html file referencing the .coffee files which will be transpiled directly by the browser.
For production builds, JavaScript files should first be generated via coffee -c halite/app, then genindex.py will produce a production-ready build of index.html.
Testing
To run the karma jasmine unit test runner
$ cd halite
$ karma start karma_unit.conf.js
To run the karma angular scenario e2e test runner first start up a web server. A multithreaded or asynchronous one will be needed if more than one browser is tested at once.
$ cd halite
$ karma start karma_e2e.conf.js
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.