---
services:
  function:
    platform: linux/amd64
    build:
      context: .
      additional_contexts:
        common: ../../common
      args:
        version: "local-dev"
    volumes:
      - ./src:/var/task/src
      - ./config.py:/var/task/config.py
    ports:
      - "9000:8080"
    environment:
      - ENVIRONMENT=dev
      - AWS_REGION=us-east-1
      - SENTRY_DSN=${SENTRY_DSN}
      - DD_ENV=dev
      - DD_SERVICE=sr-delivery-tiktok-ack-processor
      - DD_TRACE_ENABLED=false
      - DD_ENHANCED_METRICS=false
      - AWS_ACCESS_KEY_ID
      - AWS_SECRET_ACCESS_KEY
      - AWS_SESSION_TOKEN
      - SNOWFLAKE_ACCOUNT
      - SNOWFLAKE_USER
      - SNOWFLAKE_WAREHOUSE
      - SNOWFLAKE_DATABASE
      - SNOWFLAKE_SCHEMA
      - SNOWFLAKE_ROLE
      - SNOWFLAKE_PRIVATE_KEY=${SNOWFLAKE_KEY}
      - SNOWFLAKE_KEY_PASSPHRASE=${SNOWFLAKE_KEY_PASSPHRASE}
      - TIKTOK_AWS_ACCESS_KEY_ID=${TIKTOK_AWS_ACCESS_KEY_ID}
      - TIKTOK_AWS_SECRET_ACCESS_KEY=${TIKTOK_AWS_SECRET_ACCESS_KEY}
    deploy:
      resources:
        limits:
          memory: 2048MB
  lint-and-test:
    platform: linux/amd64
    build:
      context: .
      additional_contexts:
        common: ../../common
      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!)
