{"id":14965311,"url":"https://github.com/latenighttales/alcali","last_synced_at":"2025-04-12T20:42:49.182Z","repository":{"id":37884062,"uuid":"186293725","full_name":"latenighttales/alcali","owner":"latenighttales","description":"Featureful Saltstack GUI ","archived":false,"fork":false,"pushed_at":"2024-04-25T12:08:55.000Z","size":34201,"stargazers_count":363,"open_issues_count":60,"forks_count":61,"subscribers_count":19,"default_branch":"develop","last_synced_at":"2025-04-03T22:11:15.775Z","etag":null,"topics":["django","gui","monitoring","salt","saltstack","vue","vuetify"],"latest_commit_sha":null,"homepage":"https://alcali.dev","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/latenighttales.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"mattLLVW","ko_fi":"mattllvw"}},"created_at":"2019-05-12T19:08:55.000Z","updated_at":"2025-03-22T01:06:34.000Z","dependencies_parsed_at":"2024-06-20T11:53:51.857Z","dependency_job_id":"dfd5d156-9d38-4c19-88da-8f0000dec847","html_url":"https://github.com/latenighttales/alcali","commit_stats":{"total_commits":151,"total_committers":11,"mean_commits":"13.727272727272727","dds":0.5364238410596027,"last_synced_commit":"92dfc9af57e2fdff0d7f373fbc48be90b08167ec"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/latenighttales%2Falcali","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/latenighttales%2Falcali/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/latenighttales%2Falcali/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/latenighttales%2Falcali/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/latenighttales","download_url":"https://codeload.github.com/latenighttales/alcali/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248631666,"owners_count":21136554,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","gui","monitoring","salt","saltstack","vue","vuetify"],"created_at":"2024-09-24T13:34:33.916Z","updated_at":"2025-04-12T20:42:49.161Z","avatar_url":"https://github.com/latenighttales.png","language":"Vue","funding_links":["https://github.com/sponsors/mattLLVW","https://ko-fi.com/mattllvw","https://ko-fi.com/J3J3173F6"],"categories":[],"sub_categories":[],"readme":"# Alcali\n\n[![Build](https://github.com/latenighttales/alcali/actions/workflows/test_on_push.yml/badge.svg?branch=develop)](https://github.com/latenighttales/alcali/actions/workflows/test_on_push.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![Dependabot Status](https://api.dependabot.com/badges/status?host=github\u0026repo=latenighttales/alcali)](https://dependabot.com)\n[![codecov](https://codecov.io/gh/latenighttales/alcali/branch/2019.2.0/graph/badge.svg)](https://codecov.io/gh/latenighttales/alcali)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black)\n\n\u003cimg align=\"right\" height=\"300\" src=\"https://upload.wikimedia.org/wikipedia/commons/5/5f/Logo_du_Mois_de_la_contribution_sans_texte.svg\"\u003e\n\n\n## What's Alcali?\n\nAlcali is a web based tool for monitoring and administrating **Saltstack** Salt.\n\n## Features\n\n- Get notified in real time when a job is created, updated or has returned. \n\n- Store your jobs results by leveraging the `master_job_store` setting with database master returner.\n\n- Check your minions conformity to their highstate or **any state**.\n\n- Keep track of custom state at a glance.\n\n- Use custom auth module to login into both Alcali and the Salt-api using JWT.\n\n- **LDAP** and **Google OAuth2** authentication.\n\n## Try it!\n\nIf you just want to have a look, just clone the [repository](https://github.com/latenighttales/alcali.git) and use [docker-compose](https://docs.docker.com/compose/):\n\n```commandline\ngit clone https://github.com/latenighttales/alcali.git\ncd alcali\ndocker compose up --scale minion=2\n```\n\n\nOnce you see minions waiting to be approved by the master, you're good to go:\n\n```commandline\n...\nminion_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\nminion_1  | [INFO    ] Waiting 10 seconds before retry.\n...\n```\n\nJust connect on [http://127.0.0.1:8000](http://127.0.0.1:8000), login with:\n\n```commandline\nusername: admin\npassword: password\n```\n\nand follow the [walkthrough](https://alcali.dev/walkthrough/).\n\n## Installation\n\nThe easiest way to install it is to use the salt [formula](https://github.com/latenighttales/alcali-formula).\n\nMake sure to check the [installation](https://alcali.dev/installation/) docs first!\n\n## Screenshots\n\n#### Dashboard\n![](docs/docs/images/screenshots/dashboard-dark.png)\n\n#### Minion Details\n![](docs/docs/images/screenshots/minion-detail-dark.png)\n\n#### Job Details\n![](docs/docs/images/screenshots/job-detail.png)\n\nMore [here](https://github.com/latenighttales/alcali/blob/2019.2/docs/docs/screenshots.md).\n\n## License\n\n[MIT](LICENSE)\n\n\u003csub\u003e\u003csub\u003eImage: Jean-Philippe WMFr, derivative work : User:Benoit Rochon [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0)\u003c/sub\u003e\u003c/sub\u003e\n\n## Contributing\n\nIf you'd like to contribute, check the [contribute](https://alcali.dev/contribute/) documentation on how to install a dev environment and submit PR!\n\nAnd if you like this project, consider donating:\n\nvia GitHub Sponsors, or\n\n[![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/J3J3173F6)\n\n\n## Changelog\n\n## [3006.3.0] dev\n\n- int: bugfix and deps update\n\n- feat: i18n (#353)\n\n## [3003.1.0] - 2021-04-23\n\n- int: updated deps (#317)\n\n- fix: py36 compatible (#306)\n\n- fix: non-standard-minion-response (#281)\n\n- int: offline version (#225)\n\n[3003.1.0]: https://github.com/latenighttales/alcali/compare/v3003.1.0...HEAD\n\n\n## [3000.1.0] - 2020-04-26\n\n- use salt 3000\n\n- updated deps (#185)\n\n- fix: UI errors (#187)\n\n- fix: users are able to reset their pw (#184)\n\n- fix: responsive layout (#178)\n\n[3000.1.0]: https://github.com/latenighttales/alcali/compare/v2019.2.5...HEAD\n\n## [2019.2.4] - 2020-02-14\n\n- fix: password update (#164)\n\n- update deps 20200207 (#155)\n\n- fix: Less restrictive minion_id regex and error mgmt (#140)\n\n[2019.2.4]: https://github.com/latenighttales/alcali/compare/v2019.2.4...HEAD\n\n## [2019.2.3] - 2019-12-10\n\n- feat: Google OAuth2 (#130)\n\n- updated deps (#111)\n\n- feat: Group jobs by jid (#106)\n\n- int: error mgmt (#105)\n\n- fix: favicon and boolrepr (#102)\n\n- fix: removed useless icon files, fixed boolean repr (#100)\n\n- fix: state render,Layout removed admin\n\n- feat: predefined jobs (#98)\n\n- fix: Boolean repr (#97)\n\n- feat: LDAP auth backend (#84)\n\n- fix: async run, updated deps (#82)\n\n- feat: fold/unfold all\n\n- feat: display current version in gui and cli dynamically (#76)\n\n- fix: timezone, success bool for custom modules (#75)\n\n- async link: resolve #69 (#74)\n\n- feat: schedule disable/enable (#72)\n\n- fix: schedules, keys, updated vuetify (#71)\n\n- int: updated docs, added contribute section, screenshots (#62)\n\n[2019.2.3]: https://github.com/latenighttales/alcali/compare/v2019.2.3...v2019.2.4\n\n## [2019.2.2] - 2019-09-21\n\n- use slim docker image\n\n- Added rest auth\n\n- Added pillar override\n\n- Updated deps\n\n[2019.2.2]: https://github.com/latenighttales/alcali/compare/v2019.2.2...v2019.2.3\n\n## [2019.2.1] - 2019-09-21\n\n- Frontend refactor\n\n[2019.2.1]: https://github.com/latenighttales/alcali/compare/v2019.2.1...v2019.2.2\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flatenighttales%2Falcali","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flatenighttales%2Falcali","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flatenighttales%2Falcali/lists"}