Alcali
What's Alcali?
Alcali is a web based tool for monitoring and administrating Saltstack Salt.
Features
-
Get notified in real time when a job is created, updated or has returned.
-
Store your jobs results by leveraging the
master_job_store
setting with database master returner. -
Check your minions conformity to their highstate or any state.
-
Keep track of custom state at a glance.
-
Use custom auth module to login into both Alcali and the Salt-api using JWT.
-
LDAP and Google OAuth2 authentication.
Try it!
If you just want to have a look, just clone the repository and use docker-compose:
git clone https://github.com/latenighttales/alcali.git
cd alcali
docker compose up --scale minion=2
Once you see minions waiting to be approved by the master, you're good to go:
...
minion_1 | [ERROR ] The Salt Master has cached the public key for this node, this salt minion will wait for 10 seconds before attempting to re-authenticate
minion_1 | [INFO ] Waiting 10 seconds before retry.
...
Just connect on http://127.0.0.1:8000, login with:
username: admin
password: password
and follow the walkthrough.
Installation
The easiest way to install it is to use the salt formula.
Make sure to check the installation docs first!
Screenshots
Dashboard
Minion Details
Job Details
More here.
License
Image: Jean-Philippe WMFr, derivative work : User:Benoit Rochon CC BY-SA 4.0
Contributing
If you'd like to contribute, check the contribute documentation on how to install a dev environment and submit PR!
And if you like this project, consider donating:
via GitHub Sponsors, or
Changelog
[3006.3.0] dev
-
int: bugfix and deps update
-
feat: i18n (#353)
3003.1.0 - 2021-04-23
-
int: updated deps (#317)
-
fix: py36 compatible (#306)
-
fix: non-standard-minion-response (#281)
-
int: offline version (#225)
3000.1.0 - 2020-04-26
-
use salt 3000
-
updated deps (#185)
-
fix: UI errors (#187)
-
fix: users are able to reset their pw (#184)
-
fix: responsive layout (#178)
2019.2.4 - 2020-02-14
-
fix: password update (#164)
-
update deps 20200207 (#155)
-
fix: Less restrictive minion_id regex and error mgmt (#140)
2019.2.3 - 2019-12-10
-
feat: Google OAuth2 (#130)
-
updated deps (#111)
-
feat: Group jobs by jid (#106)
-
int: error mgmt (#105)
-
fix: favicon and boolrepr (#102)
-
fix: removed useless icon files, fixed boolean repr (#100)
-
fix: state render,Layout removed admin
-
feat: predefined jobs (#98)
-
fix: Boolean repr (#97)
-
feat: LDAP auth backend (#84)
-
fix: async run, updated deps (#82)
-
feat: fold/unfold all
-
feat: display current version in gui and cli dynamically (#76)
-
fix: timezone, success bool for custom modules (#75)
-
async link: resolve #69 (#74)
-
feat: schedule disable/enable (#72)
-
fix: schedules, keys, updated vuetify (#71)
-
int: updated docs, added contribute section, screenshots (#62)
2019.2.2 - 2019-09-21
-
use slim docker image
-
Added rest auth
-
Added pillar override
-
Updated deps
2019.2.1 - 2019-09-21
- Frontend refactor