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.2.0.tar.gz (55.1 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.2.0-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for reeln_plugin_cloudflare-0.2.0.tar.gz
Algorithm Hash digest
SHA256 9573d7801b69f035d91191bed6c8924c3884858e24fded0c9f26c94efb6da19b
MD5 5540498f07eb6d4921d39f886f750288
BLAKE2b-256 60bb7e78e37e01b86d3434720e42102be6beaa1247cd8d8b488e627d53afc205

See more details on using hashes here.

Provenance

The following attestation bundles were made for reeln_plugin_cloudflare-0.2.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.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for reeln_plugin_cloudflare-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dbef28b68b726c75a3ac6c6ffbcf6e6e8379be41e39c8ab0e4b9d2e05c84af66
MD5 58b5555d0e1f85ac628ab1543186f289
BLAKE2b-256 413ac3baf76f893b835d30931c74ad9727ac179c2a6facfefd083f7ce9f458a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for reeln_plugin_cloudflare-0.2.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