{ "info": { "author": "zylphrex", "author_email": "zylphrex@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3 :: Only", "Topic :: Security" ], "description": "# gkms\n\n`gkms` is a simple utility for using GCP Cloud KMS to encrypt and decrypt secrets and storing them in GCS.\n\n## Installation\n\n```shell\npip install gkms\n```\n\n## Setup\n\nPlease see [https://googleapis.github.io/google-cloud-python/latest/core/auth.html](https://googleapis.github.io/google-cloud-python/latest/core/auth.html) for authentication with Google Cloud SDK.\n\n## Usage\n\n### CLI\n\n```shell\ngkms encrypt \\\n --project my-project \\\n --location global \\\n --ring my-key-ring \\\n --key my-crypto-key \\\n --bucket my-bucket \\\n --target my-target.txt \\\n --secret my-secret.txt\n\ngkms decrypt \\\n --project my-project \\\n --bucket my-bucket \\\n --target my-target.txt\n\ngkms reencrypt \\\n --project my-project \\\n --bucket my-bucket \\\n --target my-target.txt\n```\n\n### Python\n\n```python\nimport gkms\n\ngkms.encrypt(\n project='my-project',\n location='global',\n keyring='my-key-ring',\n cryptokey='my-crypto-key',\n bucket='my-bucket',\n target='my-secret.txt',\n secret_name='my-secret.txt',\n)\n\ndecrypted = gkms.decrypt(\n project='my-project',\n bucket='my-bucket',\n target='my-secret.txt',\n)\n\ngkms.reencrypt(\n project='my-project',\n bucket='my-bucket',\n target='my-secret.txt',\n)\n```\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\n### Getting Started\n\nSet up your virual environment however you like.\n\n```shell\npip install -e .[dev]\n```\n\nYou're ready to start developing!\n\n### Running Tests\n\n```shell\npytest\n```\n\n## Disclaimer\n\n`gkms` merely allows you to keep your secrets in GCS buckets allowing you to specify permissions via IAM roles. _This does **not** replace projects like HashiCorp Vault!_ Attackers who gain access to your service accounts will have access to the secrets.\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/getsentry/gkms", "keywords": "cloudgcp,gcs,google,google-cloud-kms,google-cloud-storage,kms,encrypt,decrypt", "license": "", "maintainer": "zylphrex", "maintainer_email": "zylphrex@gmail.com", "name": "gkms", "package_url": "https://pypi.org/project/gkms/", "platform": "Posix; MacOS X; Windows", "project_url": "https://pypi.org/project/gkms/", "project_urls": { "Homepage": "https://github.com/getsentry/gkms" }, "release_url": "https://pypi.org/project/gkms/0.0.1/", "requires_dist": [ "google-cloud-storage (<2,>=1.16.1)", "google-cloud-kms (<2,>=1.1.0)", "pytest (<6,>=5.0.1) ; extra == 'dev'" ], "requires_python": "", "summary": "A simple utility for using GCP Cloud KMS to encrypt and decrypt secrets and storing them in GCS.", "version": "0.0.1" }, "last_serial": 5609448, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "320117b84b36cd9d8df13e21c297a940", "sha256": "55f76ae51f74eed566dd29bf1439d09e30b956d88d595b387e47a37d80393682" }, "downloads": -1, "filename": "gkms-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "320117b84b36cd9d8df13e21c297a940", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10009, "upload_time": "2019-07-30T18:30:40", "url": "https://files.pythonhosted.org/packages/19/7c/34c7a9b509621da628ce46d00fcdcd8e197085690fda3cad22b2c66ea366/gkms-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "db3d4af7933e709a6d5be6a84475a21d", "sha256": "a2ba2f2b3feb0bd41fd0515f18253ef6596fcb3a45552549dfa7a1e8079e2077" }, "downloads": -1, "filename": "gkms-0.0.1.tar.gz", "has_sig": false, "md5_digest": "db3d4af7933e709a6d5be6a84475a21d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4434, "upload_time": "2019-07-30T18:30:42", "url": "https://files.pythonhosted.org/packages/6d/77/d822b67016551aa5d928531ac452cfce2f1dd6a5b2360929cb1ae75692c7/gkms-0.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "320117b84b36cd9d8df13e21c297a940", "sha256": "55f76ae51f74eed566dd29bf1439d09e30b956d88d595b387e47a37d80393682" }, "downloads": -1, "filename": "gkms-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "320117b84b36cd9d8df13e21c297a940", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10009, "upload_time": "2019-07-30T18:30:40", "url": "https://files.pythonhosted.org/packages/19/7c/34c7a9b509621da628ce46d00fcdcd8e197085690fda3cad22b2c66ea366/gkms-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "db3d4af7933e709a6d5be6a84475a21d", "sha256": "a2ba2f2b3feb0bd41fd0515f18253ef6596fcb3a45552549dfa7a1e8079e2077" }, "downloads": -1, "filename": "gkms-0.0.1.tar.gz", "has_sig": false, "md5_digest": "db3d4af7933e709a6d5be6a84475a21d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4434, "upload_time": "2019-07-30T18:30:42", "url": "https://files.pythonhosted.org/packages/6d/77/d822b67016551aa5d928531ac452cfce2f1dd6a5b2360929cb1ae75692c7/gkms-0.0.1.tar.gz" } ] }