Runtimes
Set runtime: in laminar.yml. Laminar builds and deploys each stack the right way.
Overview
| runtime | Target |
|---|---|
| python | AWS Lambda |
| go | AWS Lambda (provided.al2) |
| php / laravel | AWS Lambda via Bref layers |
| fargate | ECS + ALB containers |
| ec2 | EC2 instances + ALB |
Python / Go (Lambda)
name: my-api
runtime: python # or: go
handler: handler.app # go uses a bootstrap binaryZero-downtime via Lambda versions + aliases. Large env sets auto-offload to SSM (AWS limit 4 KB).
PHP / Laravel (Lambda)
runtime: laravel # or: php
handler: public/index.php
layers:
- arn:aws:lambda:us-east-1:209497400698:layer:php-84-fpm:1 # BrefPHP/Laravel run on the provided.al2 custom runtime with Bref layers.
Fargate (containers)
runtime: fargate
fargate:
cpu: 256
memory: 512
port: 8080
desired_count: 1Builds + pushes to ECR, runs on ECS behind an ALB. Rolling updates by default; rollback reverts the task definition.
EC2
runtime: ec2
ec2:
instance_type: t3.micro
container_port: 3000
alb_enabled: true
blue_green: trueBlue/green by default; a failed deploy terminates the new instance so nothing is left billed.