{ "info": { "author": "Anssi Syrj\u00e4salo (aio-kong by Luca Sbardella)", "author_email": "anssi.syrjasalo@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only", "Topic :: Utilities" ], "description": "# kongman (fork of aio-kong)\n\nDeclare the [Kong](https://konghq.com/solutions/gateway/) you want, with `yaml`.\nStop manual `curl`s and maintaining docs of them.\nManages resources via Kong Admin API (REST, async HTTP, JSON).\nIncludes an example to add authorization to the Admin API itself.\n\n### Changelog\n\nSome changes backwards incompatible with [aio-kong](https://github.com/lendingblock/aio-kong) by [Luca Sbardella](https://github.com/lsbardel).\n\n - Patch tests (SNI, consumer) to pass on Kong 0.14.x and 1.0.0rc2\n - Add [docker-compose stack](https://github.com/asyrjasalo/kongpose) for tests\n - Add `make` rules for `flake8`, `mypy`, `test`, `build`, `publish_pypi`, ...\n - Add creating `.venvs/` for dev and release, handled by `make` rules\n - Add (opinionated) `pytest` plugins, to help myself\n - Add `--output` to limit output to a JSON property (for scripts), or have `None`\n - Add `examples/` for Kong Admin API loopback and example endpoint via it\n - Add `KONG_ADMIN_URL`, defaults to `http://localhost:8001`\n - Add `KONG_ADMIN_KEY` to use Kong Admin API via loopback and key-auth\n - Add `--admin-url` and `--admin-key` to take precedence over above two\n - Remove `KONG_URL` **BWIC**\n - Remove `--ip` **BWIC**\n\nTODO:\n - Add compatibility for <0.14 Kongs, PR the >=0.14 parts back to aio-kong.\n\n\n## Installation\n\nFrom [PyPI](https://pypi.org/project/kong-incubator):\n\n pip install --upgrade kong-incubator\n\nPython >= 3.6 required.\n\n## Usage\n\n`KONG_ADMIN_URL` defaults [http://localhost:8001](http://localhost:8001).\n\nCreate or upgrade resources (is a [Mockbin](http://mockbin.org) proxy):\n\n kong-incubator --yaml examples/mockbin.yaml\n\nGenerate a random `key` for its consumer:\n\n kong-incubator --key-auth mocker\n\nOutput only if `key` has been already set.\n\nRunning with a changed `--yaml` only upgrades the changed parts.\nResources been removed from the file are not deleted from Kong.\nTo delete a resource from Kong, add `ensure: absent` for it in YAML.\n\nSee `kong-incubator --help` for all options.\n\n### Securing Kong Admin API\n\nCreates [Kong Admin API Loopback](https://docs.konghq.com/0.14.x/secure-admin-api/#kong-api-loopback) requiring key-auth:\n\n kong-incubator --yaml examples/kadmin.yaml\n kong-incubator --key-auth root --output key\n\nFrom now on, manage Kong via the loopback (checks request header `apikey`):\n\n export KONG_ADMIN_URL=http://localhost:8000/kadmin\n export KONG_ADMIN_KEY={{thekeyabove}}\n kong-incubator --yaml ..\n\nOptions `--admin-url` or `--admin-key` can be used instead, or to take precedence:\n\n export KONG_ADMIN_URL=http://localhost:8000/kadmin\n kong-incubator --admin-key={{thekeyabove}} --yaml ..\n\nIn Kubernetes/OpenShift, remove routes to 8001 and 8444 .\n\n### Use as lib\n\n```python\nimport json\nfrom kong.client import Kong\n\nasync with Kong() as cli:\n services = await cli.services.get_list()\n print(json.dumps(services, indent=4))\n```\n\n## Development\n\nTests assume you have Kong Admin API running at [http://localhost:8001](http://localhost:8001).\n\nIf you have `docker-compose` available, you can run `make dc` to get\n[kongpose/](https://github.com/asyrjasalo/kongpose/blob/master/docker-compose.yml) as a git submodule and start it on background for tests.\nUse `make dc_rm` to stop and remove the stack, including the volumes for DBs.\n\nRun `make` as a shortcut for three other rules:\n\n- `make test` creates `.venvs/dev` that has also dev requirements installed.\nTo re-run only the failed tests, if any, use `make retest` which also skips\ninstallation of requirements. Both clean up the Kong resources they create.\n\n- `make build` creates `.venvs/release` on each run,\ninstalls build tools and builds source and wheel dists.\n\n- `make install` to install package from source tree.\n\nRun `make clean` to remove `.venvs`, builds, dists and caches.\n\nSee `make help` for all options.\n\n### Publish\n\n[Twine](https://twine.readthedocs.io/en/latest) included for uploading over HTTPS.\n\nTo [Test PyPI](https://test.pypi.org/project/kong-incubator):\n\n make publish_test\n\nTo [PyPI](https://pypi.org/project/kong-incubator)\n\n make publish_pypi\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/asyrjasalo/kongman", "keywords": "kong admin yaml configuration async cli", "license": "BSD License", "maintainer": "", "maintainer_email": "", "name": "kong-incubator", "package_url": "https://pypi.org/project/kong-incubator/", "platform": "any", "project_url": "https://pypi.org/project/kong-incubator/", "project_urls": { "Homepage": "https://github.com/asyrjasalo/kongman" }, "release_url": "https://pypi.org/project/kong-incubator/0.4.9/", "requires_dist": [ "aiohttp", "click", "pyyaml" ], "requires_python": "", "summary": "Declare and manage Kong resources with yaml", "version": "0.4.9" }, "last_serial": 4574614, "releases": { "0.4.1": [ { "comment_text": "", "digests": { "md5": "de036d099408e40340283189a68d2809", "sha256": "613b399936329eb2a476515820d6010b40e085faba0d9fae89ef9cd68cf6b359" }, "downloads": -1, "filename": "kong_incubator-0.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "de036d099408e40340283189a68d2809", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11743, "upload_time": "2018-11-22T06:23:58", "url": "https://files.pythonhosted.org/packages/a6/87/cc1321c5045fd70116165f43bc3be03fa39b32fe7700fe8fb003043cf396/kong_incubator-0.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ad0a30a689538181f12ba2ad624e63d", "sha256": "35e40d76a13000d685c50897f2b05a23ebe02fb2f5d32ecb741d4570c16c86e0" }, "downloads": -1, "filename": "kong-incubator-0.4.1.tar.gz", "has_sig": false, "md5_digest": "6ad0a30a689538181f12ba2ad624e63d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9195, "upload_time": "2018-11-22T06:24:00", "url": "https://files.pythonhosted.org/packages/5e/0e/fd9582d393edc5255b517cfd50afb550da636dfdfe67007d9a6260aa3bad/kong-incubator-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "d2159848a8fb3f295de6fda9fe7c9d25", "sha256": "e09c812eabebc0054f98dc70f61bc535b4fc59caacf9588e54c0997e5b6a1d66" }, "downloads": -1, "filename": "kong_incubator-0.4.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d2159848a8fb3f295de6fda9fe7c9d25", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11866, "upload_time": "2018-11-22T14:52:52", "url": "https://files.pythonhosted.org/packages/a1/e3/ffdb0857ceda13bcf737468d011caabf74f6d4f78feb8fc8259946c6a5ca/kong_incubator-0.4.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "358a08bb26a5df45e2b8deff5c059fb3", "sha256": "7bd36370365d071b3234882ff043aa5d7421e0b8c5607089c20f93e394efcbee" }, "downloads": -1, "filename": "kong-incubator-0.4.2.tar.gz", "has_sig": false, "md5_digest": "358a08bb26a5df45e2b8deff5c059fb3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9361, "upload_time": "2018-11-22T14:52:53", "url": "https://files.pythonhosted.org/packages/2d/2b/6d00a937da2c62c2968a4cb46595a92a28aa937a0304bc6308c0bc45acfb/kong-incubator-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "a1e609e669b8dfd664517cf7a7232a7a", "sha256": "550db09a80034de1c08062252325340e238016160ca0e20b1ea1e777d7846bd6" }, "downloads": -1, "filename": "kong_incubator-0.4.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a1e609e669b8dfd664517cf7a7232a7a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11920, "upload_time": "2018-11-22T15:28:53", "url": "https://files.pythonhosted.org/packages/37/b6/138348957c5a2a441ee2315ebae1699b47ad2d4cb4af35613506cc4027e8/kong_incubator-0.4.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e14665a4682a14bd0adfd67487ce94e7", "sha256": "4a35a73783864a9167ed00fad22a06976b82b72175023eca084b2d3b5d307a81" }, "downloads": -1, "filename": "kong-incubator-0.4.3.tar.gz", "has_sig": false, "md5_digest": "e14665a4682a14bd0adfd67487ce94e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9465, "upload_time": "2018-11-22T15:28:54", "url": "https://files.pythonhosted.org/packages/14/43/b57704c679fff66180b2780123b2b1da75d19d0707cf84033b11f767890b/kong-incubator-0.4.3.tar.gz" } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "c5425244af49815dbfad90683254fe4f", "sha256": "98467a54f22979a22c0c86930a62b61b9e3e8fcaece3e169f6edfc76961feefd" }, "downloads": -1, "filename": "kong_incubator-0.4.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c5425244af49815dbfad90683254fe4f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11956, "upload_time": "2018-11-23T17:24:33", "url": "https://files.pythonhosted.org/packages/d8/48/e07f7e039f02e93d2ddd62657baabed776de6fcafe7005f46c5dc5d29cb4/kong_incubator-0.4.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0129d35da613dca3240583120c8f22b4", "sha256": "9b0378fcd8a62ff8b21928074dc5d05b2315c67b84e17ce1f5737933bbcf8e4e" }, "downloads": -1, "filename": "kong-incubator-0.4.4.tar.gz", "has_sig": false, "md5_digest": "0129d35da613dca3240583120c8f22b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8876, "upload_time": "2018-11-23T17:24:35", "url": "https://files.pythonhosted.org/packages/44/a8/d11f3c39087cb190a5f9cf910525f5654c0bdd4633a4c11946465a0787da/kong-incubator-0.4.4.tar.gz" } ], "0.4.5": [ { "comment_text": "", "digests": { "md5": "eddcb2dabbf0c18019fcfa441d7cc7b5", "sha256": "fe7a7cfe643a6605c66f4fdaeb1e240573fc9f6e49c96e57f9935440692fdeb4" }, "downloads": -1, "filename": "kong_incubator-0.4.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "eddcb2dabbf0c18019fcfa441d7cc7b5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12263, "upload_time": "2018-11-24T15:02:27", "url": "https://files.pythonhosted.org/packages/ed/cd/50389ea6bee2781f994d366fb67701d67102f2615e576497dffe5f8a428d/kong_incubator-0.4.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bfb54291d59a66f8c56bc57451103a08", "sha256": "9f5ddeba33c266cd789277632f076589962be86f10fa80c8e42a0757bc48e29f" }, "downloads": -1, "filename": "kong-incubator-0.4.5.tar.gz", "has_sig": false, "md5_digest": "bfb54291d59a66f8c56bc57451103a08", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9263, "upload_time": "2018-11-24T15:02:29", "url": "https://files.pythonhosted.org/packages/f3/fe/a0b7da6c21e273233be73104f6e338ea728a43c563b652e1c820b6505917/kong-incubator-0.4.5.tar.gz" } ], "0.4.6": [ { "comment_text": "", "digests": { "md5": "17c9add427394ad33321bac47fd8df43", "sha256": "1e141adc85e91a939e3a51005d8a35b8427d3c40be6e4c7b23e2dc7d2354f640" }, "downloads": -1, "filename": "kong_incubator-0.4.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "17c9add427394ad33321bac47fd8df43", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12482, "upload_time": "2018-11-24T20:48:01", "url": "https://files.pythonhosted.org/packages/98/e7/0064a6edf8d24cd5589c3769c9105e51c0f6abd42af0fdb3c626129fc228/kong_incubator-0.4.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a942142243e8e14ce37f31e5a562eff8", "sha256": "c4f6b6031a5b7a0438c77f5a601fa9c8189805c8c47fa9ad8972e62012860158" }, "downloads": -1, "filename": "kong-incubator-0.4.6.tar.gz", "has_sig": false, "md5_digest": "a942142243e8e14ce37f31e5a562eff8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9602, "upload_time": "2018-11-24T20:48:03", "url": "https://files.pythonhosted.org/packages/7c/dc/63db4d2d17e7fe38fe6b27c08bab7b0ec6fba9ddae9bffc57985d86f00be/kong-incubator-0.4.6.tar.gz" } ], "0.4.7": [ { "comment_text": "", "digests": { "md5": "f60d948f911081d7e0b372711dde294c", "sha256": "3b53c08a6cbc9307b386c55b1e55e9e0e795801926cbae09b760ec3ecde335ed" }, "downloads": -1, "filename": "kong_incubator-0.4.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f60d948f911081d7e0b372711dde294c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12697, "upload_time": "2018-11-25T10:13:21", "url": "https://files.pythonhosted.org/packages/99/f8/52c9d9c9ff06877881548a56575c1075ba2fc9d17a8ad6a9228768b3c607/kong_incubator-0.4.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6b55933298d3567dc83a5d32b3d44aa1", "sha256": "abd3cf8fbe58050cd92cac360b8039a95fc25adf6632fc1d387e4c1d278a0113" }, "downloads": -1, "filename": "kong-incubator-0.4.7.tar.gz", "has_sig": false, "md5_digest": "6b55933298d3567dc83a5d32b3d44aa1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9818, "upload_time": "2018-11-25T10:13:22", "url": "https://files.pythonhosted.org/packages/d6/80/c4ece0babea159aeac0325289e85877407dae121342d4e0e81fe690b7413/kong-incubator-0.4.7.tar.gz" } ], "0.4.8": [ { "comment_text": "", "digests": { "md5": "46cbc557fa33997b924d27cb01948616", "sha256": "61208eb6971b8b36c578abb9122cab4157d7cba1df6df564011a439cdb69930c" }, "downloads": -1, "filename": "kong_incubator-0.4.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "46cbc557fa33997b924d27cb01948616", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12858, "upload_time": "2018-11-25T14:11:46", "url": "https://files.pythonhosted.org/packages/25/4f/e84b075d1d5dcdadfd5fb4daed78fd764144760c4e3953071269f76d3cae/kong_incubator-0.4.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "907f676f77c708d212dcdb230361dbc2", "sha256": "143fb97d4be1f0c868565359748847794a99a529a13d742aa99222f387faa665" }, "downloads": -1, "filename": "kong-incubator-0.4.8.tar.gz", "has_sig": false, "md5_digest": "907f676f77c708d212dcdb230361dbc2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9954, "upload_time": "2018-11-25T14:11:48", "url": "https://files.pythonhosted.org/packages/91/6f/d18b8356da741edb8eac68c533497959ece017b05a57d3089aff3139b87a/kong-incubator-0.4.8.tar.gz" } ], "0.4.9": [ { "comment_text": "", "digests": { "md5": "0e439b7e7401818ce783974327d9ceea", "sha256": "5fd2f943bec659966730635a12bcebe6b1a49a3d1e8c07f006b540ccd4ac80d9" }, "downloads": -1, "filename": "kong_incubator-0.4.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0e439b7e7401818ce783974327d9ceea", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12890, "upload_time": "2018-12-08T07:41:40", "url": "https://files.pythonhosted.org/packages/d3/2e/dd856e1f1d1c9e982aad87846df16df1ec999096093a7281ffe18f873825/kong_incubator-0.4.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "688bfe90e0c76c37075f7afda79ef04b", "sha256": "81359cebbef50bc6915e20949108fd736dd1fc45def9ead026b4ab6025bb530d" }, "downloads": -1, "filename": "kong-incubator-0.4.9.tar.gz", "has_sig": false, "md5_digest": "688bfe90e0c76c37075f7afda79ef04b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9857, "upload_time": "2018-12-08T07:41:42", "url": "https://files.pythonhosted.org/packages/18/23/90544a0bd81440c6ec871ba9901bd6a6cfe8c3030246ab6b96d1ef0239b6/kong-incubator-0.4.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0e439b7e7401818ce783974327d9ceea", "sha256": "5fd2f943bec659966730635a12bcebe6b1a49a3d1e8c07f006b540ccd4ac80d9" }, "downloads": -1, "filename": "kong_incubator-0.4.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0e439b7e7401818ce783974327d9ceea", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12890, "upload_time": "2018-12-08T07:41:40", "url": "https://files.pythonhosted.org/packages/d3/2e/dd856e1f1d1c9e982aad87846df16df1ec999096093a7281ffe18f873825/kong_incubator-0.4.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "688bfe90e0c76c37075f7afda79ef04b", "sha256": "81359cebbef50bc6915e20949108fd736dd1fc45def9ead026b4ab6025bb530d" }, "downloads": -1, "filename": "kong-incubator-0.4.9.tar.gz", "has_sig": false, "md5_digest": "688bfe90e0c76c37075f7afda79ef04b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9857, "upload_time": "2018-12-08T07:41:42", "url": "https://files.pythonhosted.org/packages/18/23/90544a0bd81440c6ec871ba9901bd6a6cfe8c3030246ab6b96d1ef0239b6/kong-incubator-0.4.9.tar.gz" } ] }