Skip to main content

Helper library for Fabric to simplify creating and managing GitHub deploy keys when deploying GitHub-hosted repositories

Project description

Plush

A helper library for Fabric to simplify creating and managing GitHub deploy keys when deploying your GitHub-hosted repository. Currently, Plush is tested on Ubuntu 24.04 LTS and 26.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 24.04 or 26.04 machine (ideally a VM).

Usage

This project is intended to be used by projects that use or are considering Fabric 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plush_fabric-1.2.0.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

plush_fabric-1.2.0-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

Details for the file plush_fabric-1.2.0.tar.gz.

File metadata

  • Download URL: plush_fabric-1.2.0.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for plush_fabric-1.2.0.tar.gz
Algorithm Hash digest
SHA256 5277657258a3b89206b67e329637026aee8e54238769762458b77eeb465a46e3
MD5 427bd20e00051e9c04f1692238641b6d
BLAKE2b-256 cb2a458f09d438ca14fc4258ec71d9b91906a735c6fc425514b204399fdeb48d

See more details on using hashes here.

Provenance

The following attestation bundles were made for plush_fabric-1.2.0.tar.gz:

Publisher: release.yml on kbarnes3/Plush

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file plush_fabric-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: plush_fabric-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 14.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for plush_fabric-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 43bb5756a033e6fb6da0763e9f49bb9e1ff5163b2d6082a472c9879023778a01
MD5 693406d57d68931a3f46ec2a833ec98e
BLAKE2b-256 2910277a88a73363b5bcded58675fc55451c5635628681dcced4dc1a78ddafdb

See more details on using hashes here.

Provenance

The following attestation bundles were made for plush_fabric-1.2.0-py3-none-any.whl:

Publisher: release.yml on kbarnes3/Plush

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page