Skip to main content

reeln-cli plugin for Cloudflare R2 video uploads

Project description

reeln-plugin-cloudflare

reeln-cli plugin for uploading rendered videos to Cloudflare R2 storage.

Subscribes to POST_RENDER to upload the rendered video file and writes the public CDN URL to context.shared["video_url"] for downstream plugins (e.g. reeln-plugin-meta Instagram Reels publishing).

Installation

uv pip install reeln-plugin-cloudflare

Or install editable for development:

make dev-install

Configuration

Field Type Default Required Description
r2_endpoint str yes Cloudflare R2 S3-compatible endpoint URL
r2_bucket str yes R2 bucket name
r2_access_key_env str yes Environment variable name containing the R2 access key ID
r2_secret_key_env str yes Environment variable name containing the R2 secret access key
public_url_base str yes Public CDN base URL for uploaded objects
upload_video bool false no Enable video upload to R2 on POST_RENDER
upload_prefix str "" no Optional key prefix (folder) for uploaded objects
upload_max_kbps int 0 no Max upload bandwidth in KB/s (0 = unlimited)
dry_run bool false no Log upload actions without executing them
r2_region str "auto" no R2 region (usually 'auto')

Example

In your reeln-cli config.json, list cloudflare before any plugin that consumes video_url (e.g. meta):

{
  "enabled": ["streamn-scoreboard", "openai", "cloudflare", "meta"],
  "cloudflare": {
    "r2_endpoint": "https://<ACCOUNT_ID>.r2.cloudflarestorage.com",
    "r2_bucket": "reeln-videos",
    "r2_access_key_env": "R2_ACCESS_KEY_ID",
    "r2_secret_key_env": "R2_SECRET_ACCESS_KEY",
    "public_url_base": "https://cdn.example.com",
    "upload_video": true,
    "upload_prefix": "reels"
  }
}

Environment Variables

Credentials are resolved indirectly — the config stores the name of the environment variable, not the secret itself:

Env Var (default name) Description
R2_ACCESS_KEY_ID Cloudflare R2 access key ID
R2_SECRET_ACCESS_KEY Cloudflare R2 secret access key

Development

Command Description
make dev-install Create venv, install reeln-cli + plugin with dev deps
make reeln-install Install plugin editable into sibling reeln-cli venv
make test Run pytest with 100% line+branch coverage (parallel via xdist)
make lint Run ruff linter
make format Run ruff formatter
make check Lint, mypy strict, then test (sequential)

License

AGPL-3.0-only

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

reeln_plugin_cloudflare-0.4.0.tar.gz (60.9 kB view details)

Uploaded Source

Built Distribution

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

reeln_plugin_cloudflare-0.4.0-py3-none-any.whl (19.6 kB view details)

Uploaded Python 3

File details

Details for the file reeln_plugin_cloudflare-0.4.0.tar.gz.

File metadata

  • Download URL: reeln_plugin_cloudflare-0.4.0.tar.gz
  • Upload date:
  • Size: 60.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for reeln_plugin_cloudflare-0.4.0.tar.gz
Algorithm Hash digest
SHA256 2c148e2251bd01e29335f3580ed498454626ef6843c34a1a2265840f29f5b0ac
MD5 586bfe4a7b3a26c085836d6158841cf1
BLAKE2b-256 1c3439773b718816d5bf85af27b9725b18ebb0db1607a8eda82f6ec64293189a

See more details on using hashes here.

Provenance

The following attestation bundles were made for reeln_plugin_cloudflare-0.4.0.tar.gz:

Publisher: release.yml on StreamnDad/reeln-plugin-cloudflare

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

File details

Details for the file reeln_plugin_cloudflare-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for reeln_plugin_cloudflare-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 620c5d6167416aa376a9f2ee3797b426b21ff0e51a14d8140fe4191e9e1aa432
MD5 74d8be32571ab985d36b9bb277d164df
BLAKE2b-256 72dd2934d369747a44cfe7b9ce9a47e81bbdf13ce73bf785032bd4e4e885b430

See more details on using hashes here.

Provenance

The following attestation bundles were made for reeln_plugin_cloudflare-0.4.0-py3-none-any.whl:

Publisher: release.yml on StreamnDad/reeln-plugin-cloudflare

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