Skip to content
develop
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
api
 
 
bin
 
 
 
 
 
 
 
 
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Alcali

Build License: MIT Dependabot Status codecov Code style: black

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

MIT

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

ko-fi

Changelog

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