Plush
=====
A helper library for [Fabric](https://www.fabfile.org) to simplify creating and managing GitHub deploy keys when deploying your GitHub-hosted
repository. Currently, Plush is only tested on Ubuntu 22.04 LTS.
Plush aims to make deployments easier by:
- Using OAuth flows to securely connect to the GitHub API on your behalf
(while supporting 2 factor auth and never handling your username/password)
- Generating SSH deploy keys on your target server/computer
- Registering these deploy keys with your GitHub repo programmatically
- Configuring your new clone to use the appropriate deploy key while not conflicting with other
SSH keys used elsewhere on your server
- ACL'ing these keys so they can be reused by people to fetch/deploy on your behalf
(and not readable by anyone else on the server)
- Example PowerShell scripts are provided that give tab completion around fab.exe
To see this project in action, follow the directions in Setup-Dev-Environment.md. You will need access to an Ubuntu 18.04 machine (ideally a VM).
Usage
This project is intended to be used by projects that use or are considering [Fabric](https://www.fabfile.org) for their deployments. Plush expects Fabric 2.0 or greater.
In a project that uses Fabric, install Plush by running:
`pip install plush-fabric`
To get started, see the `fabfile.py` in the [GitHub repo](https://github.com/kbarnes3/Plush) for a minimal usage of Plush.
For a more complete example, see my [BaseDjangoAngular template](https://github.com/kbarnes3/BaseDjangoAngular).
Raw data
{
"_id": null,
"home_page": "https://github.com/kbarnes3/Plush",
"name": "plush-fabric",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "Fabric, GitHub, deployment",
"author": "Kevin Barnes",
"author_email": "kbarnes3@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/a6/a9/9b882bab95caa819fc15e909c78e63dbaf554d054c010acb5c5f1cbe3d46/plush-fabric-0.5.17.tar.gz",
"platform": null,
"description": "Plush\r\n=====\r\n\r\nA helper library for [Fabric](https://www.fabfile.org) to simplify creating and managing GitHub deploy keys when deploying your GitHub-hosted\r\nrepository. Currently, Plush is only tested on Ubuntu 22.04 LTS.\r\n\r\nPlush aims to make deployments easier by:\r\n- Using OAuth flows to securely connect to the GitHub API on your behalf\r\n(while supporting 2 factor auth and never handling your username/password)\r\n- Generating SSH deploy keys on your target server/computer\r\n- Registering these deploy keys with your GitHub repo programmatically\r\n- Configuring your new clone to use the appropriate deploy key while not conflicting with other \r\nSSH keys used elsewhere on your server\r\n- ACL'ing these keys so they can be reused by people to fetch/deploy on your behalf\r\n(and not readable by anyone else on the server)\r\n- Example PowerShell scripts are provided that give tab completion around fab.exe\r\n\r\nTo see this project in action, follow the directions in Setup-Dev-Environment.md. You will need access to an Ubuntu 18.04 machine (ideally a VM).\r\n\r\nUsage\r\n\r\nThis project is intended to be used by projects that use or are considering [Fabric](https://www.fabfile.org) for their deployments. Plush expects Fabric 2.0 or greater.\r\nIn a project that uses Fabric, install Plush by running:\r\n\r\n`pip install plush-fabric`\r\n\r\nTo get started, see the `fabfile.py` in the [GitHub repo](https://github.com/kbarnes3/Plush) for a minimal usage of Plush.\r\nFor a more complete example, see my [BaseDjangoAngular template](https://github.com/kbarnes3/BaseDjangoAngular).\r\n",
"bugtrack_url": null,
"license": null,
"summary": "Helper library for Fabric to simplify creating and managing GitHub deploy keys when deploying GitHub-hosted repositories",
"version": "0.5.17",
"project_urls": {
"Bug Tracker": "https://github.com/kbarnes3/Plush/issues",
"Homepage": "https://github.com/kbarnes3/Plush"
},
"split_keywords": [
"fabric",
" github",
" deployment"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b7a110f83cd86d3f4bd3de6f48369bc5e3e92472342e875fe384215e8693fc40",
"md5": "42f6f7d9cec0625346243964fedc69f5",
"sha256": "8185b66f38926ef1bee6c1cb1f2f938f14f570ccbfe87ba1e50085277081d379"
},
"downloads": -1,
"filename": "plush_fabric-0.5.17-py3-none-any.whl",
"has_sig": false,
"md5_digest": "42f6f7d9cec0625346243964fedc69f5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 9000,
"upload_time": "2024-04-01T22:08:24",
"upload_time_iso_8601": "2024-04-01T22:08:24.896444Z",
"url": "https://files.pythonhosted.org/packages/b7/a1/10f83cd86d3f4bd3de6f48369bc5e3e92472342e875fe384215e8693fc40/plush_fabric-0.5.17-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a6a99b882bab95caa819fc15e909c78e63dbaf554d054c010acb5c5f1cbe3d46",
"md5": "cc25993c50f54debcc571b289bcc7790",
"sha256": "989be11abb5952a6bade17873507164456ee9fd5db40ebe7a2524b495258374c"
},
"downloads": -1,
"filename": "plush-fabric-0.5.17.tar.gz",
"has_sig": false,
"md5_digest": "cc25993c50f54debcc571b289bcc7790",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 8342,
"upload_time": "2024-04-01T22:08:26",
"upload_time_iso_8601": "2024-04-01T22:08:26.515457Z",
"url": "https://files.pythonhosted.org/packages/a6/a9/9b882bab95caa819fc15e909c78e63dbaf554d054c010acb5c5f1cbe3d46/plush-fabric-0.5.17.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-01 22:08:26",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kbarnes3",
"github_project": "Plush",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "plush-fabric"
}