services:
  unit-lint:
    build:
      context: .
      target: unit-lint
    environment:
      - DD_TRACE_ENABLED=0
    volumes:
      - .:/var/app

  product-dev:
    build:
      context: .
      target: dev
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:5000/hello/"]
      interval: 1m30s
      timeout: 10s
      retries: 3
      start_period: 40s
    ports:
      - "5000:5000"
    volumes:
      - .:/var/app
    env_file:
      - path: .env
        required: false
    environment:
      - Environment=dev

  integration-test:
    build:
      context: .
      target: integration-test
    environment:
      - BASE_QA_OA_URL
      - QA_DB_PASS
      - QA_GRASS_HOST
      - QA_DB_HOST
      - QA_DB_USER
      - BASE_QA_URL
      - BASE_QA_GRASS_URL
      - QA_DB_DATABASE
      - AWS_REGION
      - AWS_DEFAULT_REGION=us-east-1
      - AWS_ACCESS_KEY_ID
      - AWS_SECRET_ACCESS_KEY
      - AWS_SESSION_TOKEN
    volumes:
      - .:/var/app

  deploy:
    build:
      context: .
      target: deploy
    volumes:
      - .:/var/app
    ports:
      - "8080:8080"
