services:
  function:
    platform: linux/amd64
    build:
      context: .
      args:
        DOCKER_BUILDKIT: 1
      dockerfile: ./Dockerfile
      secrets:
        - tokens
    volumes:
      - ./build:/var/task/
      - ./node_modules:/var/task/node_modules
      - ~/.aws/credentials:/home/lambdauser/.aws/credentials
    logging:
      options:
        max-size: '1m'
        max-file: '1'
    ports:
      - '9000:8080'
    environment:
      - NODE_ENV=dev
      - ENV=qa
      - LOG_LEVEL=debug
      - DD_LAMBDA_HANDLER=src/app.handler
      - DD_ENV=dev
      - DD_TRACE_ENABLED=false
      - DD_ENHANCED_METRICS=false

  lint-and-test:
    platform: linux/amd64
    build:
      context: .
      args:
        DOCKER_BUILDKIT: 1
      dockerfile: ./Dockerfile.tests
      secrets:
        - tokens
    environment:
      - NODE_ENV=test
      - ENV=test
    env_file:
      - path: ./.env
        required: false

secrets:
  tokens:
    environment: 'GITHUB_TOKEN'
