A simple webapp for presenting data as offered by SaltStack's Redis Returner
Project description
This is a simple webapp for presenting data as offered by Salt’s Redis Returner written in Flask.
A static demo is available here.
Features
a simple and responsive interface based on purecss (and their example email layout to be exact)
- three main views:
a function view showing all minions that ran a particular function (as shown on the screenshot)
a history view for looking at a minion’s history with a specific function
a job view listing all minions which ran a specific job
a customizable navbar, which links to function views
searchpages for everything
live updates for the function view using websockets and Redis’ Keyspace Notifications
a collapsible representation of raw job data using the awesome renderjson
Running it from PyPI
Just install it using pip install saltobserver. As always, it is recommended to do so in a virtualenv. After that, the command run_saltobserver will be available within this virtualenv. If you want to use non-default settings (at least look at the defaults) prefix the command with export SALTOBSERVER_SETTINGS=/path/to/config. Other than that, you may pass gunicorn options to the run_saltobserver command, they will be passed on so that you can configure gunicorn for use with a proxy server.
A typical deployment could use this command with supervisord:
$ export SALTOBSERVER_SETTINGS=/home/saltobserver/config.cfg run_saltobserver -u saltobserver --bind unix:/var/run/saltobserver/socket
Running it from Source
If your minions return their data to some Redis instance, it is as simple as cloning this repo running scripts/run_saltobserver (and putting that behind a reverse proxy, if needed). This uses Gunicorn, which is pretty flexible and can be configured for pretty much any setup.
Note that your Redis instance has to have a version greater than v2.8.0 for the live updates to work.
Also look at the configuration in saltobserver/config.py.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.