Configure S3
Configure Ursula cold storage with S3-compatible object storage.
Ursula keeps recent data in the hot payload backend and flushes cold chunks and snapshot blobs to the configured cold backend. Multi-node clusters should use S3 or an S3-compatible object store.
Minimal S3 config
[cold]
backend = "s3"
s3_bucket = "ursula-prod"
s3_region = "us-east-1"
Ursula reads standard AWS credentials from the process environment through the AWS SDK stack. For explicit credentials in the config, prefer environment references:
[cold]
backend = "s3"
s3_bucket = "ursula-prod"
s3_region = "us-east-1"
s3_access_key_id = "$URSULA_AWS_ACCESS_KEY_ID"
s3_secret_access_key = "$URSULA_AWS_SECRET_ACCESS_KEY"
s3_session_token = "$URSULA_AWS_SESSION_TOKEN"
If an environment reference is missing, startup fails instead of silently running with an incomplete credential.
S3-compatible endpoints
Set s3_endpoint for compatible stores:
[cold]
backend = "s3"
s3_bucket = "ursula-dev"
s3_region = "us-east-1"
s3_endpoint = "http://127.0.0.1:9000"
Local development
Single-node development can use the filesystem backend:
[cold]
backend = "fs"
Do not use the filesystem cold backend for multi-node clusters.