{ "info": { "author": "Jonathan M. Lange", "author_email": "jml@mumak.net", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: Apache Software License" ], "description": "==========\nquay-admin\n==========\n\nquay.io is pretty neat, but how do you know who has access to your repositories?\n\nIf you've got a small number of them, you can click through to each one and see who has what permissions.\nBut if you're an organization with a large number of repositories, it's very hard to see who can access your repositories.\n\nIn particular, when someone *leaves* your organization, how can you be sure that they can no longer upload images?\n\nquay-admin is a simple command-line tool that shows which users who are *outside* your organization have access to which repositories.\n\nFor example:\n\n.. code-block:: console\n\n $ QUAY_TOKEN= quay-admin woofshop\n woofshop/landscape\n - niceperson [admin]\n\n woofshop/spoonbridge\n - cooldude [admin]\n\n woofshop/thingdoer\n - dodgybloke [admin]\n\nInstalling\n==========\n\n.. code-block:: console\n\n $ pip install quayadmin\n\nRunning\n=======\n\nEverything is under the ``quay-admin`` command, which has its own help.\n\n.. code-block:: console\n\n usage: quay-admin [-h] [--from-state FROM_STATE] [--api-root API_ROOT]\n [--dump-state DUMP_STATE]\n namespace\n\n Show information about quay.io permissions\n\n positional arguments:\n namespace Namespace to look in\n\n optional arguments:\n -h, --help show this help message and exit\n --from-state FROM_STATE\n If provided, get quay.io state from a file, rather\n than an API\n --api-root API_ROOT Root of quay.io API. Ignored if --from-state provided.\n --dump-state DUMP_STATE\n If provided, dump state to a file. Will overwrite file\n if it exists.\n\nTo do anything useful, you will need an access token that has permission to \"Administer Repositories\".\nSee the `quay.io API documentation`_ for more information.\n\nRunning ``quay-admin`` will produce a text report of users who aren't in your organization\nbut who do have access to your repositories.\nIf such users exist, the script will exit with code 1.\n\nThe normal state is to gather data from quay.io.\nHowever, you can save all that state with the ``--dump-state`` flag, and then load it later with ``--from--state``.\nThis can be useful for performing your own analysis, or developing new reporting functionality.\n\n\n.. _`quay.io API documentation`: https://docs.quay.io/api/\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jml/quay-admin", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "quayadmin", "package_url": "https://pypi.org/project/quayadmin/", "platform": "", "project_url": "https://pypi.org/project/quayadmin/", "project_urls": { "Homepage": "https://github.com/jml/quay-admin" }, "release_url": "https://pypi.org/project/quayadmin/0.1.2/", "requires_dist": [ "attrs", "treq", "twisted[tls]" ], "requires_python": "", "summary": "Do administrative stuff on quay.io.", "version": "0.1.2" }, "last_serial": 3877603, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "4cde54bc059759b5090c26e3b1fc5bb5", "sha256": "df1cea0d7d5347ffcc9cda4b7db0af4909090c4f2737def4b610eb7f28d4f074" }, "downloads": -1, "filename": "quayadmin-0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4cde54bc059759b5090c26e3b1fc5bb5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19590, "upload_time": "2018-05-18T21:01:26", "url": "https://files.pythonhosted.org/packages/84/b6/bd66c5826a493c7a8cbaed8db9f41d75423877dcbea57df1da08829a466f/quayadmin-0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "066e0f344ebcb0cb5202890b1aa96379", "sha256": "d899dec24207c3820aa00ff1ae9d04008780709425146f8498b0e3dcd8d6d2db" }, "downloads": -1, "filename": "quayadmin-0.1.tar.gz", "has_sig": false, "md5_digest": "066e0f344ebcb0cb5202890b1aa96379", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7765, "upload_time": "2018-05-18T21:01:39", "url": "https://files.pythonhosted.org/packages/bd/ed/fb31215e59240f26d1e6dd95d553e10c6ead86c38dbf677ea868d9a81e17/quayadmin-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "72746995624249873a329fbcc23d36ae", "sha256": "9cd91d7943f1c6bc6cbda487189bef4eb1ae974084f6231d02a09e3cde47a002" }, "downloads": -1, "filename": "quayadmin-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "72746995624249873a329fbcc23d36ae", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20660, "upload_time": "2018-05-18T21:04:06", "url": "https://files.pythonhosted.org/packages/42/57/1b9e15aa94c6bd93abcb6dd4840f3f266812a3f5584d20b9219e3aa72c5b/quayadmin-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a2023674ed258e5a940ac3f57f1218fa", "sha256": "a49feb1bd7dc606157a75d49bd1d8f1a1c1b383f96cf2c617427008975ea553d" }, "downloads": -1, "filename": "quayadmin-0.1.1.tar.gz", "has_sig": false, "md5_digest": "a2023674ed258e5a940ac3f57f1218fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7772, "upload_time": "2018-05-18T21:04:09", "url": "https://files.pythonhosted.org/packages/60/bd/a719d541fadebb8fb635a674a53363ce1d4e227c853413316ef959b394bd/quayadmin-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "838996abf957a6e8da4c0cd11197d17f", "sha256": "60265438f7ca9ea2725a376c94713b2e4ad5962c6452792cb814226cc72d18ab" }, "downloads": -1, "filename": "quayadmin-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "838996abf957a6e8da4c0cd11197d17f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20690, "upload_time": "2018-05-18T21:10:13", "url": "https://files.pythonhosted.org/packages/12/2a/5f541c31da1bc20481eada10a36ff65861f9398989684192a329f75db53d/quayadmin-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ddc42bad0a6e70d9b8f5ef6ddbb4d78e", "sha256": "8c7b5f0e166c62136f828f0a966589515ffcf74a37654304e0cb38ad7d899b7c" }, "downloads": -1, "filename": "quayadmin-0.1.2.tar.gz", "has_sig": false, "md5_digest": "ddc42bad0a6e70d9b8f5ef6ddbb4d78e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8035, "upload_time": "2018-05-18T21:10:17", "url": "https://files.pythonhosted.org/packages/cf/fe/a1705ce9c8dcfabfd01576c6d046b51230ea9786bfd09526cca9149f2357/quayadmin-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "838996abf957a6e8da4c0cd11197d17f", "sha256": "60265438f7ca9ea2725a376c94713b2e4ad5962c6452792cb814226cc72d18ab" }, "downloads": -1, "filename": "quayadmin-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "838996abf957a6e8da4c0cd11197d17f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20690, "upload_time": "2018-05-18T21:10:13", "url": "https://files.pythonhosted.org/packages/12/2a/5f541c31da1bc20481eada10a36ff65861f9398989684192a329f75db53d/quayadmin-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ddc42bad0a6e70d9b8f5ef6ddbb4d78e", "sha256": "8c7b5f0e166c62136f828f0a966589515ffcf74a37654304e0cb38ad7d899b7c" }, "downloads": -1, "filename": "quayadmin-0.1.2.tar.gz", "has_sig": false, "md5_digest": "ddc42bad0a6e70d9b8f5ef6ddbb4d78e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8035, "upload_time": "2018-05-18T21:10:17", "url": "https://files.pythonhosted.org/packages/cf/fe/a1705ce9c8dcfabfd01576c6d046b51230ea9786bfd09526cca9149f2357/quayadmin-0.1.2.tar.gz" } ] }