version: '3.8'

services:
  function:
    platform: linux/amd64
    build:
      context: .
      args:
        DOCKER_BUILDKIT: 1
      dockerfile: ./Dockerfile
      secrets:
        - GITHUB_NPM_TOKEN
    volumes:
      - ./:/var/task/
      - ./node_modules:/var/task/node_modules
      - ~/.aws/credentials:/home/worker/.aws/credentials
    ports:
      - '9000:8080'
    environment:
      - GITHUB_NPM_TOKEN=/run/secrets/GITHUB_NPM_TOKEN
      - NODE_ENV=dev
      - ENV=qa
      - LOG_LEVEL=debug
      - DD_LAMBDA_HANDLER=app.handler
      - DD_ENV=dev
      - DD_TRACE_ENABLED=false
      - DD_ENHANCED_METRICS=false

  lint-and-test:
    platform: linux/amd64
    build:
      context: .
      dockerfile: ./Dockerfile.tests
      args:
        DOCKER_BUILDKIT: 1
      secrets:
        - GITHUB_NPM_TOKEN
    environment:
      - NODE_ENV=test
      - ENV=test
      - GITHUB_NPM_TOKEN=/run/secrets/GITHUB_NPM_TOKEN

secrets:
  GITHUB_NPM_TOKEN:
    environment: GITHUB_NPM_TOKEN
