{
"info": {
"author": "Matt Melquiond",
"author_email": "matt.LLVW@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 5 - Production/Stable",
"Environment :: Web Environment",
"Framework :: Django",
"Intended Audience :: Developers",
"Intended Audience :: Information Technology",
"Intended Audience :: System Administrators",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Topic :: System :: Installation/Setup",
"Topic :: System :: Systems Administration"
],
"description": "# Alcali\n\n[](https://travis-ci.org/latenighttales/alcali)\n[](https://opensource.org/licenses/MIT)\n[](https://dependabot.com)\n[](https://codecov.io/gh/latenighttales/alcali)\n[](https://github.com/python/black)\n\n
\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.\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## 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\nOnce you're done, you can [install it](https://alcali.dev/installation/) using the salt [formula](https://github.com/latenighttales/alcali-formula).\n\n## Screenshots\n\nSee what it looks like [here](https://github.com/latenighttales/alcali/blob/2019.2/docs/docs/screenshots.md).\n\n## Licence\n\n[MIT](LICENSE)\n\n## Contributing\n\nIf you'd like to contribute, simply fork the repository, commit your changes, run the tests and send a pull request.\n\nImage: Jean-Philippe WMFr, derivative work\u00a0: User:Benoit Rochon [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0)\n\n\n",
"description_content_type": "text/markdown",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/latenighttales/alcali.git",
"keywords": "",
"license": "",
"maintainer": "",
"maintainer_email": "",
"name": "alcali",
"package_url": "https://pypi.org/project/alcali/",
"platform": "",
"project_url": "https://pypi.org/project/alcali/",
"project_urls": {
"Homepage": "https://github.com/latenighttales/alcali.git"
},
"release_url": "https://pypi.org/project/alcali/2019.2.2/",
"requires_dist": [
"ansi2html (==1.5.2)",
"Django (==2.2.6)",
"django-cors-headers (==3.1.1)",
"django-currentuser (==0.4.2)",
"djangorestframework (==3.10.3)",
"djangorestframework-simplejwt (==4.3.0)",
"gunicorn (==19.9.0)",
"python-dotenv (==0.10.3)",
"pytz",
"requests (==2.22.0)",
"salt-pepper (==0.7.5)",
"whitenoise (==4.1.4)",
"black (==19.3b0) ; extra == 'dev'",
"django-extensions (==2.2.3) ; extra == 'dev'",
"ipython (==7.8.0) ; extra == 'dev'"
],
"requires_python": "",
"summary": "Alcali",
"version": "2019.2.2"
},
"last_serial": 5939248,
"releases": {
"2018.3.1": [
{
"comment_text": "",
"digests": {
"md5": "2500695f6b95406b06374dcaa44d0bc5",
"sha256": "58cb7eb681bce98e2a42a7e064a3b65040547579c47525d321e41e2266c9700c"
},
"downloads": -1,
"filename": "alcali-2018.3.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2500695f6b95406b06374dcaa44d0bc5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 43262,
"upload_time": "2019-09-21T19:15:36",
"url": "https://files.pythonhosted.org/packages/f1/60/6da3f1b5635fb41dbbfa245176b750fbc43cdd48153a70367f1919310e88/alcali-2018.3.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "b7c3672a5cb3be226b1501821c5466ad",
"sha256": "843a4f275301f6bef705a2a5159315e93c5d9ae7345d36d88b5cf9b5e9f7bde1"
},
"downloads": -1,
"filename": "alcali-2018.3.1.tar.gz",
"has_sig": false,
"md5_digest": "b7c3672a5cb3be226b1501821c5466ad",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3423595,
"upload_time": "2019-09-21T19:16:27",
"url": "https://files.pythonhosted.org/packages/20/0b/776025e24c5b031fa1fb795dfb0c23295deaee9fc2f256bc84bd59fdf163/alcali-2018.3.1.tar.gz"
}
],
"2018.3.1.post0": [
{
"comment_text": "",
"digests": {
"md5": "e9b78d6563e1c6b5762f31941df977e0",
"sha256": "648988e9e3b553dac26535a374c410c0abd014f38bce30208f25cac05b745ca3"
},
"downloads": -1,
"filename": "alcali-2018.3.1.post0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e9b78d6563e1c6b5762f31941df977e0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 3452579,
"upload_time": "2019-09-22T07:27:20",
"url": "https://files.pythonhosted.org/packages/a4/d9/099123e716e9d8a71c028ad4061e489f938936c8755c3a59029378aabb3f/alcali-2018.3.1.post0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "8edd3b56e703c27245da57c340d2ae23",
"sha256": "ac054f8b0b9bba2145d5dcdd98e0658429caf59315e5365d96792fba3ef3e934"
},
"downloads": -1,
"filename": "alcali-2018.3.1.post0.tar.gz",
"has_sig": false,
"md5_digest": "8edd3b56e703c27245da57c340d2ae23",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3423649,
"upload_time": "2019-09-22T07:28:22",
"url": "https://files.pythonhosted.org/packages/60/f9/7abc9d2991c366840bb7cc831c3c3a477a425fc21a6e4a3aec3113e52a4c/alcali-2018.3.1.post0.tar.gz"
}
],
"2018.3.2": [
{
"comment_text": "",
"digests": {
"md5": "657fd56ca5cd7de485cf55927fce5c4c",
"sha256": "c7b239785d7396dc3856cc03ff3eba862eba94b3f0b661cf8839633333229b41"
},
"downloads": -1,
"filename": "alcali-2018.3.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "657fd56ca5cd7de485cf55927fce5c4c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 3204256,
"upload_time": "2019-10-07T14:54:26",
"url": "https://files.pythonhosted.org/packages/da/65/4aec28d28c3239dd33b90eeeb2bc83759a1bd14ea927964e3a5f1ca07073/alcali-2018.3.2-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "32c9c15df529622313d2772943ae3162",
"sha256": "700a04948c4cd8e8e3d08caf08ae67188568f608219bd492e20f21640ea4b0fc"
},
"downloads": -1,
"filename": "alcali-2018.3.2.tar.gz",
"has_sig": false,
"md5_digest": "32c9c15df529622313d2772943ae3162",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3177016,
"upload_time": "2019-10-07T14:55:01",
"url": "https://files.pythonhosted.org/packages/0a/2b/bf0c1b1f8dc3597f3504ea3536f41a17b78b17db8293c31f7c20b59c93ea/alcali-2018.3.2.tar.gz"
}
],
"2019.2.0": [
{
"comment_text": "",
"digests": {
"md5": "12f86c26259566f3494ad30c9968ea66",
"sha256": "780893a6be76e4eb34fc2736a51f592a1046a1b1257d7e561597d4a0eddd72be"
},
"downloads": -1,
"filename": "alcali-2019.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "12f86c26259566f3494ad30c9968ea66",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 2228701,
"upload_time": "2019-06-21T20:30:11",
"url": "https://files.pythonhosted.org/packages/aa/af/5ac79d52703d157393539e3ce95f342ef4dd509343012b5c0eaffb433692/alcali-2019.2.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "b71bba1825c901006d0ca4aefa328b77",
"sha256": "d50b518d15d7475fc437f4c252553fdc0f258e2af99470b92421ff54c5993588"
},
"downloads": -1,
"filename": "alcali-2019.2.0.tar.gz",
"has_sig": false,
"md5_digest": "b71bba1825c901006d0ca4aefa328b77",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 2178189,
"upload_time": "2019-06-21T20:30:31",
"url": "https://files.pythonhosted.org/packages/14/f0/0506458b96677ebc4231b0b8c953ee5601450902c01b51b80280424bce3e/alcali-2019.2.0.tar.gz"
}
],
"2019.2.1": [
{
"comment_text": "",
"digests": {
"md5": "c3d3bc9f837d4a3ccda2329bac07fbad",
"sha256": "5fecc970d15cc000c9edb3a3b9bd0c52eecc9abf9f5168ae614e8b0bd22f407e"
},
"downloads": -1,
"filename": "alcali-2019.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c3d3bc9f837d4a3ccda2329bac07fbad",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 43258,
"upload_time": "2019-09-21T18:51:36",
"url": "https://files.pythonhosted.org/packages/9f/6c/d20fed8b09d665b6d31c102f78b4c65b3901ca33bbef89a6ef40de34164f/alcali-2019.2.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "60759d365c8ba18537f4e7aecd6ab03f",
"sha256": "d36c54ccf24269026bf1f1f22f74e0c506c63178d8c5a8dac02fccc2072bd7c8"
},
"downloads": -1,
"filename": "alcali-2019.2.1.tar.gz",
"has_sig": false,
"md5_digest": "60759d365c8ba18537f4e7aecd6ab03f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3423591,
"upload_time": "2019-09-21T18:52:27",
"url": "https://files.pythonhosted.org/packages/d4/02/65120af8b9e40b18a401156533dc2c735291088f032478b6394b815a1ede/alcali-2019.2.1.tar.gz"
}
],
"2019.2.1.post0": [
{
"comment_text": "",
"digests": {
"md5": "75b3add96f4fde94748de7edbc250659",
"sha256": "60625346f0e33cdea3ae476a1cc307e30fe4967a88ddf2585f5e4f5cdbd73e54"
},
"downloads": -1,
"filename": "alcali-2019.2.1.post0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "75b3add96f4fde94748de7edbc250659",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 3452576,
"upload_time": "2019-09-22T07:32:13",
"url": "https://files.pythonhosted.org/packages/35/8b/79e72d81b3abca9d10db4b4e28fcfd1631e0cfdcafc4b3445a6a756178e4/alcali-2019.2.1.post0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "ae0e2e18a24185892bb95af9bc322045",
"sha256": "fff166b9dfcaabb5b826e4c56385b5ff84bd0c6af4e6b9fdb06cd4350e4dc31f"
},
"downloads": -1,
"filename": "alcali-2019.2.1.post0.tar.gz",
"has_sig": false,
"md5_digest": "ae0e2e18a24185892bb95af9bc322045",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3423646,
"upload_time": "2019-09-22T07:33:08",
"url": "https://files.pythonhosted.org/packages/d9/cf/f82afc4d9cab157c35f11d0d5eb8a62d3e4ac42f6f8f38765a70dde5054f/alcali-2019.2.1.post0.tar.gz"
}
],
"2019.2.2": [
{
"comment_text": "",
"digests": {
"md5": "26911bbc61de52c6f4074acbc4ac7652",
"sha256": "c72c3594b2be825ac9dda62f2877566b7b4f97b652ab92a4d558c067cb2adc5a"
},
"downloads": -1,
"filename": "alcali-2019.2.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "26911bbc61de52c6f4074acbc4ac7652",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 3204250,
"upload_time": "2019-10-07T14:57:03",
"url": "https://files.pythonhosted.org/packages/81/f7/de295932bcde954db09b9e8299bcc303d29e1b255cbf3e5359a8060a9dd5/alcali-2019.2.2-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "6bafa1e388e38a2b62157b06a7e61dd5",
"sha256": "3eaadc5a80017c83dbd4d58c84268a0a79e3d3c87da3ea5b4e40c327d66c8380"
},
"downloads": -1,
"filename": "alcali-2019.2.2.tar.gz",
"has_sig": false,
"md5_digest": "6bafa1e388e38a2b62157b06a7e61dd5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3177012,
"upload_time": "2019-10-07T14:57:36",
"url": "https://files.pythonhosted.org/packages/d5/61/1f1430e60582f06cbbe7811f32453c5c958a65ab1e8e18def7298eefc550/alcali-2019.2.2.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "26911bbc61de52c6f4074acbc4ac7652",
"sha256": "c72c3594b2be825ac9dda62f2877566b7b4f97b652ab92a4d558c067cb2adc5a"
},
"downloads": -1,
"filename": "alcali-2019.2.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "26911bbc61de52c6f4074acbc4ac7652",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 3204250,
"upload_time": "2019-10-07T14:57:03",
"url": "https://files.pythonhosted.org/packages/81/f7/de295932bcde954db09b9e8299bcc303d29e1b255cbf3e5359a8060a9dd5/alcali-2019.2.2-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "6bafa1e388e38a2b62157b06a7e61dd5",
"sha256": "3eaadc5a80017c83dbd4d58c84268a0a79e3d3c87da3ea5b4e40c327d66c8380"
},
"downloads": -1,
"filename": "alcali-2019.2.2.tar.gz",
"has_sig": false,
"md5_digest": "6bafa1e388e38a2b62157b06a7e61dd5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3177012,
"upload_time": "2019-10-07T14:57:36",
"url": "https://files.pythonhosted.org/packages/d5/61/1f1430e60582f06cbbe7811f32453c5c958a65ab1e8e18def7298eefc550/alcali-2019.2.2.tar.gz"
}
]
}