---
services:
  daemon:
    platform: linux/amd64
    build:
      context: .
      target: deploy
    environment:
      - Environment=dev
      - AWS_ACCESS_KEY_ID
      - AWS_SECRET_ACCESS_KEY
      - AWS_SESSION_TOKEN
      - AWS_DEFAULT_REGION=us-east-1
      # LocalStack overrides:
      - AWS_ENDPOINT_URL=http://localstack:4566
      - SQS_TRANSCODING_URL=http://localstack:4566/000000000000/transcoding-dev
      - SQS_NUM_MESSAGES_TO_PROCESS=500
    env_file:
      - path: ./.env
        required: false
    depends_on:
      localstack:
        condition: service_healthy
  unit-lint:
    platform: linux/amd64
    build:
      context: .
      target: lint-and-test
    environment:
      - SKIP_LINT=0
      - TEST_ARGS=-v
  localstack:
    image: localstack/localstack:4.14
    platform: linux/amd64
    environment:
      - AWS_DEFAULT_REGION=us-east-1
      - LS_LOG=debug
    ports:
      - "4566:4566"
    volumes:
      - ./localstack/init:/etc/localstack/init/ready.d
    healthcheck:
      test: ["CMD", "awslocal", "sqs", "get-queue-url", "--queue-name", "transcoding-dev"]
      interval: 5s
      timeout: 5s
      retries: 10
      start_period: 10s
