---
services:
  deploy:
    platform: linux/amd64
    image:
      086679231553.dkr.ecr.us-east-1.amazonaws.com/distro-bug-monitoring:latest
    environment:
      - Environment
      - SNOWFLAKE_USER_NAME
      - SNOWFLAKE_ACCOUNT
      - SNOWFLAKE_DATABASE
      - SNOWFLAKE_SCHEMA
      - SNOWFLAKE_ROLE
      - SNOWFLAKE_WAREHOUSE
      - SLACK_CHANNEL_ID
      - SLACK_BOT_USER_OAUTH_TOKEN
      - AWS_ACCESS_KEY_ID
      - AWS_SECRET_ACCESS_KEY
      - AWS_SESSION_TOKEN
      - AWS_REGION

  app:
    platform: linux/amd64
    build:
      context: .
      target: app
    env_file:
      - path: .env
        required: false
    environment:
      - SNOWFLAKE_DATABASE
      - SNOWFLAKE_SCHEMA
      - SNOWFLAKE_ROLE
      - SNOWFLAKE_WAREHOUSE
      - SNOWFLAKE_PRIVATE_KEY_PATH=/var/app/.ssh/snowflake/snowflake_key.p8
      - SNOWFLAKE_KEY_PASSPHRASE
      - SLACK_CHANNEL_ID
      - SLACK_BOT_USER_OAUTH_TOKEN
      - AWS_ACCESS_KEY_ID
      - AWS_SECRET_ACCESS_KEY
      - AWS_SESSION_TOKEN
      - AWS_REGION
    volumes:
      - ~/.ssh/snowflake:/var/app/.ssh/snowflake:ro

  lint-and-test:
    platform: linux/amd64
    build:
      context: .
      target: lint-and-test
    environment:
      - SKIP_LINT=0

  format:
    platform: linux/amd64
    build:
      context: .
      target: format
    volumes:
      - ./app.py:/var/app/app.py
      - ./src:/var/app/src
      - ./tests:/var/app/tests
