---
services:
  function:
    platform: linux/amd64
    build:
      context: .
      args:
        version: "local-dev"
    volumes:
      - ./src:/var/task/src
      - ./config.py:/var/task/config.py
    ports:
      - "9000:8080"
    environment:
      - DD_ENV=dev
      - DD_SERVICE=dd_snowflake_sync
      - DD_TRACE_ENABLED=false
      - DD_ENHANCED_METRICS=false
      - DD_LOCAL_TEST=true
    env_file:
      - path: .env
        required: false
    depends_on:
      - kinesis-listener

  kinesis-listener:
    build:
      context: ./dev_tools
    volumes:
      - ./dev_tools/main.py:/app/main.py
    environment:
      - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-dummy}
      - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-dummy}
      - AWS_SESSION_TOKEN=${AWS_SESSION_TOKEN:-dummy}
      - AWS_REGION=${AWS_REGION:-dummy}
      - AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION:-dummy}
    env_file:
      - path: .env
        required: false
    depends_on:
      - maxwell

  maxwell:
    image: 437795906767.dkr.ecr.us-east-1.amazonaws.com/orchard-maxwells-daemon
    ports:
      - 8080:8080
    environment:
      - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-dummy}
      - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-dummy}
      - AWS_SESSION_TOKEN=${AWS_SESSION_TOKEN:-dummy}
      - AWS_REGION=${AWS_REGION:-dummy}
      - AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION:-dummy}
    env_file:
      - path: .env
        required: false

  lint-and-test:
    platform: linux/amd64
    build:
      context: .
      dockerfile: Dockerfile.tests
    ports:
      - "8000:8000"
    environment:
      - SKIP_LINT=0
      - TEST_ARGS=-v
      - COV_REPORT=term  # --cov-report pytest-cov option or OFF (try html!)
