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 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.exe

To 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 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.1.5.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.1.5-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: plush_fabric-1.1.5.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.1.5.tar.gz
Algorithm Hash digest
SHA256 744129fbf995e7800abbc0af4b948798aa88306efaaffac2e74b4e82d26b6f06
MD5 068748a88e8e0554c009acda8e27f0f5
BLAKE2b-256 d8029b1aa9e95116d5e243079fed014d76343c12e8f0f5791f387618525db576

See more details on using hashes here.

Provenance

The following attestation bundles were made for plush_fabric-1.1.5.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.1.5-py3-none-any.whl.

File metadata

  • Download URL: plush_fabric-1.1.5-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.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 dbf217127c5d11a0ab6aed9821b5557bfe5d03532a0f1731a78e0ed6bf067e24
MD5 ba74f1fe1468252464796d34818767ea
BLAKE2b-256 0331055f013863433eb5f405395a9163827200b2e8aff34d7c52c88c2c7adda2

See more details on using hashes here.

Provenance

The following attestation bundles were made for plush_fabric-1.1.5-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