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.0.7.tar.gz (12.6 kB view details)

Uploaded Source

Built Distribution

plush_fabric-1.0.7-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: plush_fabric-1.0.7.tar.gz
  • Upload date:
  • Size: 12.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for plush_fabric-1.0.7.tar.gz
Algorithm Hash digest
SHA256 601825b5a35f6bcfd483ac23b3b013cce726133b98d7267873135682d26828ba
MD5 10702f4b8c1e27c80b58b4480d73b7b3
BLAKE2b-256 bc053d44255e7834fe607920c0ff4f63dbfc26f75a11078a57f9f6ba70f4baa9

See more details on using hashes here.

Provenance

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

Publisher: release.yml on kbarnes3/Plush

Attestations:

File details

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

File metadata

  • Download URL: plush_fabric-1.0.7-py3-none-any.whl
  • Upload date:
  • Size: 14.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for plush_fabric-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 6f212b3fcd0caefe1797352130a29b668d9a03d29d3f74b2424b7a040cf7f5af
MD5 52ea33ce14a367dd0c5bd2fcaee4f252
BLAKE2b-256 687f4562202bae109cf7d5ac86e57336edee1eeb69e5c5a06ee7aae13cccd3ad

See more details on using hashes here.

Provenance

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

Publisher: release.yml on kbarnes3/Plush

Attestations:

Supported by

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