Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kbarnes3/plush
Easily generate and use GitHub deploy keys with Fabric
https://github.com/kbarnes3/plush
deployment fabric oauth
Last synced: 3 months ago
JSON representation
Easily generate and use GitHub deploy keys with Fabric
- Host: GitHub
- URL: https://github.com/kbarnes3/plush
- Owner: kbarnes3
- License: mit
- Created: 2017-05-20T00:57:52.000Z (over 7 years ago)
- Default Branch: trunk
- Last Pushed: 2024-11-03T00:28:07.000Z (3 months ago)
- Last Synced: 2024-11-11T02:05:49.405Z (3 months ago)
- Topics: deployment, fabric, oauth
- Language: Python
- Size: 314 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
Awesome Lists containing this project
README
Plush
==============[![Publish Python ๐ distribution ๐ฆ to PyPI and TestPyPI](https://github.com/kbarnes3/Plush/actions/workflows/release.yml/badge.svg)](https://github.com/kbarnes3/Plush/actions/workflows/release.yml)
[![Test ๐งช Plush](https://github.com/kbarnes3/Plush/actions/workflows/test.yml/badge.svg)](https://github.com/kbarnes3/Plush/actions/workflows/test.yml)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 24.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.exeTo see this project in action, follow the directions in Setup-Dev-Environment.md. You will need access to an Ubuntu 24.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 1.0 and greater expect Fabric 3.2.2 and greater. 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).