version: '3.8'
services:
  service:
    platform: linux/amd64
    build:
      context: .
      target: dev
      args:
        DOCKER_BUILDKIT: 1
      secrets:
        - GITHUB_NPM_TOKEN
    environment:
      - GITHUB_NPM_TOKEN=/run/secrets/GITHUB_NPM_TOKEN
      - ENV
      - PORT
      - NODE_ENV
      - LOG_LEVEL
      - DD_TRACE_ENABLED
      - ENABLE_JWT_SERVICE_CACHE
      - APOLLO_INTROSPECTION
      - APOLLO_PLAYGROUND
      - SPLIT_API_KEY
      - AUTH_ISSUERS
      - SNOWFLAKE_USER
      - SNOWFLAKE_SCHEMA
      - SNOWFLAKE_PRIVATE_KEY
      - SNOWFLAKE_KEY_PASSPHRASE
      - NEO4J_URL
      - NEO4J_USER
      - NEO4J_PASSWORD
      - NEO4J_AURA_URL
      - NEO4J_AURA_USER
      - NEO4J_AURA_PASSWORD
      - MYSQL_CHANGELOG_USERNAME
      - MYSQL_CHANGELOG_PASSWORD
      - MYSQL_CHANGELOG_DB_NAME
      - MYSQL_CHANGELOG_HOSTNAME
      - MYSQL_CHANGELOG_RW_MAX_CONNECTIONS
      - UPLOAD_BUCKET
      - S3_SIGNED_URL_EXPIRY
      - AWS_REGION
      - AWS_ACCESS_KEY_ID
      - AWS_SECRET_ACCESS_KEY
      - AWS_SESSION_TOKEN
      - CHANGELOG_REPORT_STEP_FN_ARN

    container_name: graphql-publishing
    ports:
      - '8080:8080'
    volumes:
      - ./src:/var/app/src
      - ${HOME}/.aws:/home/node/.aws
  lint-and-test:
    build:
      context: .
      target: lint-and-test
      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'
