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 22.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 versions 0.5.0 and greater expect Fabric 2.0 and greater. Versions before 0.5.0 expect Fabric 1.x. In a project that uses Fabric, install Plush by running:
```
pip install plush-fabric
```
To get started, see the fabfile.py in this repo 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/8e/e4/66effa3d4b2cdb354d8facd2d4aeef78d50070878ea96d807e566eac7832/plush_fabric-0.5.21.tar.gz",
"platform": null,
"description": "Plush\n==============\n\nA helper library for [Fabric](https://www.fabfile.org) to simplify creating and managing GitHub deploy keys when deploying your GitHub-hosted\nrepository. Currently, Plush is only tested on Ubuntu 22.04 LTS.\n\nPlush aims to make deployments easier by:\n- Using OAuth flows to securely connect to the GitHub API on your behalf\n(while supporting 2 factor auth and never handling your username/password)\n- Generating SSH deploy keys on your target server/computer\n- Registering these deploy keys with your GitHub repo programmatically\n- Configuring your new clone to use the appropriate deploy key while not conflicting with other \nSSH keys used elsewhere on your server\n- ACL'ing these keys so they can be reused by people to fetch/deploy on your behalf\n(and not readable by anyone else on the server)\n- Example PowerShell scripts are provided that give tab completion around fab.exe\n\nTo see this project in action, follow the directions in Setup-Dev-Environment.md. You will need access to an Ubuntu 22.04 machine (ideally a VM).\n\n## Usage\n\nThis project is intended to be used by projects that use or are considering [Fabric](https://www.fabfile.org) for their deployments. Plush versions 0.5.0 and greater expect Fabric 2.0 and greater. Versions before 0.5.0 expect Fabric 1.x. In a project that uses Fabric, install Plush by running:\n\n```\npip install plush-fabric\n```\n\nTo get started, see the fabfile.py in this repo for a minimal usage of Plush. For a more complete example, see my [BaseDjangoAngular template](https://github.com/kbarnes3/BaseDjangoAngular).\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.21",
"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": "6b8ec37ef58923ef3016c262681bd7a6c818a9a3289fa0802d1408e62144f182",
"md5": "7e35543a405ead32611283d8697ac252",
"sha256": "e0beb4f2152b71b35654afec079532d2bfca13dac4397ea2b28e5c8d2fb01db3"
},
"downloads": -1,
"filename": "plush_fabric-0.5.21-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7e35543a405ead32611283d8697ac252",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 9002,
"upload_time": "2024-04-29T02:50:26",
"upload_time_iso_8601": "2024-04-29T02:50:26.648551Z",
"url": "https://files.pythonhosted.org/packages/6b/8e/c37ef58923ef3016c262681bd7a6c818a9a3289fa0802d1408e62144f182/plush_fabric-0.5.21-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8ee466effa3d4b2cdb354d8facd2d4aeef78d50070878ea96d807e566eac7832",
"md5": "4b7091f2282779a5e09bc4b2b6225540",
"sha256": "e7342a30421298a565bd0bfed76a677966d566943cbb45c9dc8015e9aaf136bd"
},
"downloads": -1,
"filename": "plush_fabric-0.5.21.tar.gz",
"has_sig": false,
"md5_digest": "4b7091f2282779a5e09bc4b2b6225540",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 8176,
"upload_time": "2024-04-29T02:50:27",
"upload_time_iso_8601": "2024-04-29T02:50:27.839464Z",
"url": "https://files.pythonhosted.org/packages/8e/e4/66effa3d4b2cdb354d8facd2d4aeef78d50070878ea96d807e566eac7832/plush_fabric-0.5.21.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-29 02:50:27",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kbarnes3",
"github_project": "Plush",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "plush-fabric"
}