A Dahsboard for SaltStack's Job Cache
Project description
![Salt Dash logo](https://cldup.com/pjjyyptW69.png)
# Salt Dash
Read-only web interface to read from Salt’s [external job cache](https://docs.saltstack.com/en/latest/topics/jobs/external_cache.html) using the [pgjsonb](https://docs.saltstack.com/en/latest/ref/returners/all/salt.returners.pgjsonb.html) returner.
![screenshot](https://cldup.com/8TTHBPfhyu.png)
## Running Locally
Install [Yarn](https://yarnpkg.com/lang/en/docs/install/) for building the front-end.
Install [Pipenv](https://docs.pipenv.org/) for the back-end.
`bash make all pipenv shell saltdash migrate saltdash runserver `
## Client-side Development
Currently using [parcel](https://parceljs.org/). To start a development environment with live reloading, run:
`bash cd client yarn run watch `
## Running in Production
saltdash runserver is not suitable for production. A production-level webserver is included and can be started with saltdash serve. If Docker is more your speed, there’s a Dockerfile as well.
### Configuration
Configuration can be done via environment variables, a file, or a combination of both thanks to [Goodconf](https://pypi-hypernode.com/project/goodconf/). By default it will look for a YAML file named saltdash.yml in /etc/saltdash/ or the current directory. You can also specify a configuration file with the -C or –config flags. saltdash-generate-config can be used to generate a sample config file containing the following variables:
DEBUG Enable debugging. type: bool
SECRET_KEY _REQUIRED_ a long random string you keep secret https://docs.djangoproject.com/en/2.0/ref/settings/#secret-key type: str
DATABASE_URL type: str default: postgres://localhost:5432/salt
ALLOWED_HOSTS Hosts allowed to serve the site https://docs.djangoproject.com/en/2.0/ref/settings/#allowed-hosts type: list default: [‘*’]
GITHUB_TEAM_ID type: str
GITHUB_CLIENT_ID type: str
GITHUB_CLIENT_SECRET type: str
SENTRY_DSN type: str
LISTEN Socket for webserver to listen on. type: str default: 127.0.0.1:8077
GitHub Team authentication is included by setting the relevant GITHUB_* variables.
You’ll need to setup an OAuth App at https://github.com/organizations/<org>/settings/applications with a callback URL in the form: https://your-site.example.com/auth/complete/github-team/
To retrieve your team IDs:
Create [a token at GitHub](https://github.com/settings/tokens)
curl -H “Authorization: token <token>” https://api.github.com/orgs/<org>/teams
## Setting up Salt
Once you’ve setup a Postgresql database using saltdash migrate, connect Salt’s external job cache to the database by adding the following lines to /etc/salt/master.d/job_cache.conf:
`ini # Replace items in brackets with actual values master_job_cache: pgjsonb returner.pgjsonb.host: [db-host] returner.pgjsonb.pass: [db-password] returner.pgjsonb.db: [db-database-name] returner.pgjsonb.port: [db-port] returner.pgjsonb.user: [db-user] `
Restart your salt-master and all future jobs should get stored in the database.
If you have lots of jobs, you’ll probably want to purge the cache periodically. A helper command is provided to do just that, run:
`bash saltdash purge_job_cache [days_older_than_to_purge] `
If you want to automate this, use the –no-input flag to bypass the confirmation prompt.
## Attributions
Icon by [BornSymbols](https://thenounproject.com/term/salt/705369) used under CCBY license.
# Changelog for saltdash
0.9 (2018-05-14)
Initial PyPI release
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.
Source Distribution
File details
Details for the file saltdash-0.9.tar.gz
.
File metadata
- Download URL: saltdash-0.9.tar.gz
- Upload date:
- Size: 22.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 557c3682c8f99cde1d48aa931296b8692905e7cd9551188386fe16ad41d7b592 |
|
MD5 | 63b34a8f7cec7e3f78257f5f1f175335 |
|
BLAKE2b-256 | 0833b60a10e84690375c62b66c4d2f7bc10bdf5885d3dc489e2ea8186d354c1f |