Runtimes

Set runtime: in laminar.yml. Laminar builds and deploys each stack the right way.

Overview

runtimeTarget
pythonAWS Lambda
goAWS Lambda (provided.al2)
php / laravelAWS Lambda via Bref layers
fargateECS + ALB containers
ec2EC2 instances + ALB

Python / Go (Lambda)

name: my-api
runtime: python        # or: go
handler: handler.app   # go uses a bootstrap binary

Zero-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   # Bref

PHP/Laravel run on the provided.al2 custom runtime with Bref layers.

Fargate (containers)

runtime: fargate
fargate:
  cpu: 256
  memory: 512
  port: 8080
  desired_count: 1

Builds + 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: true

Blue/green by default; a failed deploy terminates the new instance so nothing is left billed.