App resources
Declare S3, SQS, ElastiCache Redis and RDS/Aurora in laminar.yml and provision them in your own AWS — no console clicking. All commands take --stage (defaults to the config stage).
Storage (S3)
storage:
bucket: my-app-assets # optional; auto = laminar-<name>-<stage>-storage
versioning: true
public: false # default: private + SSE-S3 + public access blockedlaminar storage provision
laminar storage upload ./logo.png --key assets/logo.png
laminar storage ls assets/
laminar storage url assets/logo.png --expires 3600 # presigned GET
laminar storage download assets/logo.png ./logo.png
laminar storage rm assets/logo.pngBuckets are private, SSE-S3 encrypted, with public access blocked.
Queues (SQS)
queues:
- jobs # shorthand: a standard queue named "jobs"
- name: events
fifo: true
dlq: true # also create a dead-letter queue + redrive
max_receive_count: 5
visibility_timeout: 30laminar queues provision
laminar queues list
laminar queues send jobs '{"hello":"world"}' # FIFO: add --group-id
laminar queues purge jobs
laminar queues delete jobsPhysical name: laminar-<name>-<stage>-<queue>[.fifo].
Caches (ElastiCache Redis)
caches:
- name: sessions # standard: a Redis cache named "sessions"
engine: redis
node_type: cache.t3.microlaminar caches provision
laminar caches list # status + endpoint:port
laminar caches delete sessionsCaches run inside your vpc: with security groups wired to your functions/services. The connection endpoint and port are returned by list.
Databases (RDS / Aurora Serverless v2)
databases:
- name: main
engine: postgres # postgres | mysql
mode: instance # instance | aurora-serverless
instance_class: db.t3.micro
allocated_storage_gb: 20
- name: analytics
engine: postgres
mode: aurora-serverless
min_acu: 0.5
max_acu: 4laminar databases provision
laminar databases list # status + endpoint
laminar databases info main # endpoint + Secrets Manager location
laminar databases info main --show-password
laminar databases delete main # skips final snapshotMaster credentials are generated and stored in Secrets Manager at laminar/<name>/<stage>/<db>/db (never printed unless --show-password). VPC subnet group + security groups are wired from vpc:; instances are encrypted with 7-day backups. Creation takes a few minutes — re-run list/info to check status.