When to configure S3
- You want users to be able to archive sessions and retain the underlying files.
- You want a durable, off-cluster copy of session data before pods and volumes are released.
Prerequisites
- An S3-compatible bucket (AWS S3, or any S3-API-compatible service such as MinIO or Cloudflare R2).
- Credentials available to the control plane with permission to
PutObjectinto the bucket. - Admin access to Cake Agents.
Configure S3 in the UI
- Go to Settings → Organization → AWS.
- Toggle S3 on.
- Fill in the fields:
- Bucket — the bucket name. Required.
- Region — the AWS region where the bucket lives. Defaults to
us-east-1. - Endpoint — optional. Set this when using a non-AWS S3-compatible service.
- Prefix — optional. A key prefix prepended to every object (useful for sharing a bucket across environments).
- Save.
Configure S3 with environment variables
You can also configure storage on the control plane deployment using environment variables. UI values override environment variables when both are set.
Example Helm values snippet:
AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY, an instance role, IRSA on EKS, or Workload Identity).