AWS Capabilities
S3 Snapshots
Store project snapshots in S3 instead of local disk
Secrets Manager
Load secrets from AWS Secrets Manager instead of
.envCloudWatch Tracing
Emit structured session logs to CloudWatch
Bedrock Guardrails
Hard-block merges on detected secrets or PII
Quick Setup Wizard
Provision all AWS resources and update.ftlconfig in one command:
1
Install AWS Dependencies
2
Configure AWS Credentials
Use any standard AWS credential method:
- AWS CLI
- Environment Variables
- FTL Auth
3
Run Wizard
The wizard is idempotent. Run it multiple times without creating duplicate resources.
Manual Configuration
You can also configure AWS capabilities individually by editing.ftlconfig.
S3 Snapshots
Store snapshots in S3 instead of local disk:1
Create S3 Bucket
2
Update .ftlconfig
.ftlconfig
- Snapshots are stored as gzipped tarballs at
s3://<bucket>/snapshots/<project-hash>/<id>.tar.gz - Local cache at
~/.ftl/snapshots/is kept so Docker can mount snapshots without per-task downloads - On restore, FTL checks local cache first, then downloads from S3 if needed
Secrets Manager
Load secrets from AWS Secrets Manager instead of.env:
1
Store Secrets
Create secrets in AWS Secrets Manager:
2
Update .ftlconfig
.ftlconfig
JSON Object Secrets
JSON Object Secrets
Secrets with JSON object values are expanded into individual keys:Creates environment variables
API_KEY and DB_PASSWORD.Plain String Secrets
Plain String Secrets
Secrets with plain string values use the last path segment as the key name, uppercased:
CloudWatch Tracing
Emit structured session logs to CloudWatch:1
Create Log Group
2
Update .ftlconfig
.ftlconfig
snapshot, boot, agent_start, agent_complete, tests_complete, merge, reject
Bedrock Guardrails
Hard-block merges on detected secrets or PII:1
Create Guardrail
2
Update .ftlconfig
.ftlconfig
Wizard Implementation
Theftl config --aws wizard is implemented in ftl/cli.py:
ftl/cli.py
Full AWS Example
.ftlconfig with all AWS capabilities enabled:
.ftlconfig
AWS vs Local Mode
IAM Permissions
Required IAM permissions for each capability:S3 Snapshots
S3 Snapshots
CloudWatch Logs
CloudWatch Logs
Secrets Manager
Secrets Manager
Bedrock Guardrails
Bedrock Guardrails
Troubleshooting
boto3 not installed
boto3 not installed
Credentials not configured
Credentials not configured
Check AWS credentials:If this fails, configure credentials:
S3 bucket creation fails
S3 bucket creation fails
Ensure your AWS credentials have
s3:CreateBucket permission.If the bucket already exists in another account, choose a different name in .ftlconfig:.ftlconfig
Guardrail not found
Guardrail not found
If you see “guardrail not found”, verify the ID:Update
.ftlconfig with the correct guardrail_id.