Cloud Storage
Cloud Storage
Section titled “Cloud Storage”S3-compatible object storage with presigned URLs.
Entry Kinds
Section titled “Entry Kinds”| Kind | Description |
|---|---|
config.aws | AWS credentials and region configuration |
cloudstorage.s3 | S3 bucket connection |
AWS Configuration
Section titled “AWS Configuration”- name: aws_config kind: config.aws region: "us-east-1" access_key_id_env: "AWS_ACCESS_KEY_ID" secret_access_key_env: "AWS_SECRET_ACCESS_KEY"| Field | Type | Required | Description |
|---|---|---|---|
region | string | Conditional | AWS region. Required unless region_env is set |
region_env | string | Conditional | Env variable name holding the region |
access_key_id_env | string | No | Environment variable name for access key |
secret_access_key_env | string | No | Environment variable name for secret key |
Credentials load from the specified environment variables. Both access_key_id_env and secret_access_key_env must resolve to non-empty values for static credentials to apply; otherwise the AWS SDK default credential chain is used (IAM roles, instance profiles, etc.).
Requests are signed with AWS Signature Version 4 by the AWS SDK using the resolved credentials. No signing configuration is required.
_env variants (region_env, and bucket_env/endpoint_env below) when a value differs per deployment. The variable name is resolved from the environment registry at startup.
config.aws entry can be reused across AWS-backed services. queue.driver.sqs references the same entry via its config: field.
S3 Storage
Section titled “S3 Storage”- name: files kind: cloudstorage.s3 bucket: "my-bucket" config: app.infra:aws_config| Field | Type | Required | Description |
|---|---|---|---|
bucket | string | Conditional | S3 bucket name. Required unless bucket_env is set |
bucket_env | string | Conditional | Env variable name holding the bucket name |
config | reference | Yes | AWS config entry reference |
endpoint | string | No | Custom endpoint for S3-compatible services |
endpoint_env | string | No | Env variable name holding the custom endpoint |
S3-Compatible Services
Section titled “S3-Compatible Services”For MinIO or other S3-compatible services, set a custom endpoint:
- name: local_storage kind: cloudstorage.s3 bucket: "local-bucket" config: app.infra:aws_config endpoint: "http://localhost:9000"When an endpoint is provided, path-style access is enabled automatically.
Lua API
Section titled “Lua API”See Cloud Storage Module for operations (list, upload, download, delete, presigned URLs).
See Also
Section titled “See Also”- Cloud Storage Module - Lua API reference
- Filesystem - Local filesystem entries
- Queue - SQS handler shares the same
config.awsentries