Backends
minio (default)
For local dev and on-prem deployments. docker-compose boots MinIO automatically and seeds matching credentials.
s3
AWS S3 or any other S3-compatible service.
S3_ENDPOINT blank for AWS S3 proper. Set S3_FORCE_PATH_STYLE=true for any third-party service that requires path-style addressing.
noop
Disables storage entirely. Useful for pure-stdin / stdout pipelines or integration tests.
Key layout
Input
greenlight/screenplays/input/.
Submission references the full object key relative to the bucket:
Output
output_key is supplied per-job; task.output_dir is defined per task in config/tasks.yml.
Example, submitting with output_key: "screenplays/output/script-v1" and tasks: ["convert-fdx-to-screenjson", "validate-screenjson"] produces:
Browsing storage
The service exposesGET /storage to list buckets and objects directly. Convenient for debugging but usually not exposed publicly — put it behind auth.
IAM (AWS S3)
Minimum permissions for a dedicated service account:Large files
DefaultJOB_TIMEOUT=30m handles multi-hundred-megabyte PDFs comfortably. For unusually large source material, raise the timeout and scale worker replicas horizontally; no single worker is sharded per task.