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=qa
      - NODE_ENV=dev
      - LOG_LEVEL=info
      - OWS_REQUEST_TRACING=true # Output requests to OWS services.
      - DD_TRACE_ENABLED=false # Prevent datadog tracing
      - ENABLE_JWT_SERVICE_CACHE=false # Prevent JWT handling
      - APOLLO_INTROSPECTION=true # Enable apollo features
      - APOLLO_PLAYGROUND=true # Enable apollo features
      - FACEBOOK_CLIENT_ID  # Facebook API connection
      - SPLIT_API_KEY # Split API connections
      - OWS_ANALYTICS_URL= # Override urls to point to your local running services. View the 'src/constants/urls.js' file for a complete list
      - AUTH_ISSUERS='https://qalogin.theorchard.com/, https://qa-orchard.auth0.com/' #Issuer list
      - CONTENT_OPENSEARCH_URL
      - CONTENT_OPENSEARCH_USERNAME
      - CONTENT_OPENSEARCH_PASSWORD
    container_name: graphql-product
    ports:
      - "8080:8080"
    volumes:
      - ./src:/var/app/src
  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
  integration-tests:
    build:
      context: .
      target: integration-tests
      args:
        - DOCKER_BUILDKIT=1
      secrets:
        - GITHUB_NPM_TOKEN
    environment:
      - NODE_ENV=test
      - ENV=test
      - BASE_URL=https://qa-graphql-product.theorchard.io/graphql
      - GITHUB_NPM_TOKEN=/run/secrets/GITHUB_NPM_TOKEN
      - NODE_OPTIONS=${NODE_OPTIONS:-}
      - JOB_NAME=${JOB_NAME:-}
      - JOB_URL=${JOB_URL:-}
      - BUILD_NUMBER=${BUILD_NUMBER:-}
      - BUILD_ID=${BUILD_ID:-}
      - BUILD_TAG=${BUILD_TAG:-}
      - BUILD_URL=${BUILD_URL:-}
      - JENKINS_URL=${JENKINS_URL:-}
      - DD_TEST_SESSION_NAME=integration-tests
      - DD_SERVICE=graphql-product-integration-tests
      - DD_ENV=qa
      - DD_AGENT_HOST=172.17.0.1
      - WORKSPACE=${WORKSPACE:-}
      - DD_GIT_REPOSITORY_URL=${GIT_URL:-}
      - DD_GIT_COMMIT_SHA=${GIT_COMMIT:-}
      - DD_GIT_BRANCH=${GIT_BRANCH:-}
      - DD_GIT_COMMIT_AUTHOR_NAME=${DD_GIT_COMMIT_AUTHOR_NAME:-}
      - DD_GIT_COMMIT_AUTHOR_EMAIL=${DD_GIT_COMMIT_AUTHOR_EMAIL:-}
      - DD_GIT_COMMIT_AUTHOR_DATE=${DD_GIT_COMMIT_AUTHOR_DATE:-}
      - TEST_TRANSFER_PROJECT_ID=${TEST_TRANSFER_PROJECT_ID:-}
      - TEST_TRANSFER_ORIGIN_VENDOR_ID=${TEST_TRANSFER_ORIGIN_VENDOR_ID:-}
      - TEST_TRANSFER_DESTINATION_VENDOR_ID=${TEST_TRANSFER_DESTINATION_VENDOR_ID:-}
secrets:
  GITHUB_NPM_TOKEN:
    environment: "GITHUB_NPM_TOKEN"
