services:

#########################################################################
#######################                     #############################
#######################   MAIN APPLICATIONS #############################
#######################                     #############################
#########################################################################

  vera.web.portal:
    image: veraserver20190209075900.azurecr.io/tx3/vera-web-portal:${VERA_RELEASE_TAG}
    container_name: vera.web.portal
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    ports:
       - "${VERA_WEB_PORTAL_HTTP_PORT}:80"
    volumes:
      - ${VERA_WEB_PORTAL_DATA_DIRECTORY}:/Data
    environment:
      - VERA_WEB_DATA_DIR=/Data
      - VERA_SERVER_URL=http://vera.server:5000
      - VERA_VERIFICATION_URL=http://vera.server:5000
      - VERA_WEB_MONGO_URL=mongodb://${MONGODB_WEB_PORTAL_USERNAME}:${MONGODB_WEB_PORTAL_PASSWORD}@${MONGODB_WEB_PORTAL_URL}
      - VERA_WEB_MONGO_ARGS=${MONGODB_WEB_PORTAL_URL_ARGS}
      - VERA_WEB_URL=${VERA_WEB_PORTAL_URL}      
    restart: always
    secrets:
      - vera_internal_secret

  vera.server:
    image: veraserver20190209075900.azurecr.io/tricentis/vera-server-legacy:${VERA_RELEASE_TAG}
    container_name: vera.server
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    ports:
      - "${VERA_SERVER_HTTP_PORT}:5000"
    volumes:
      - ${VERA_SERVER_DATA_DIRECTORY}:/Data
    environment:
      - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT}
      - ASPNETCORE_URLS=http://+:5000
      - VERA_SERVER_URL=http://localhost:5000
      - VERA_SERVER_MONGO_URL=mongodb://${MONGODB_VERA_SERVER_USERNAME}:${MONGODB_VERA_SERVER_PASSWORD}@${MONGODB_VERA_SERVER_URL}
      - RabbitMQConnectionString=amqp://${RABBITMQ_USERNAME}:${RABBITMQ_PASSWORD}@rabbitmq:5672
      - VERA_SERVER_DATA_DIR=/Data
      - VERA_SERVER_JWT_CERT_NAME=${VERA_JWT_PFX_FILENAME}
      - VERA_SERVER_JWT_CERT_PASSWORD=${VERA_JWT_PFX_PASSWORD}
      - VERA_SERVER_ENCRYPTION_KEY=${VERA_ENCRYPTION_KEY}
      - VERA_SERVER_LOG_LEVEL=${VERA_SERVER_LOG_LEVEL}
      - DEFAULT_HTTP_TIMEOUT=${DEFAULT_HTTP_TIMEOUT}
    secrets:
      - IdentityServer__Secrets__JiraAddOn
      - IdentityServer__Secrets__VeraInternal
      - IdentityServer__Secrets__VeraJiraCloudAddOn
      - IdentityServer__Secrets__VeraSamlClient
      - IdentityServer__Secrets__VeraWebPortal
      - IdentityServer__Secrets__VeraUserInfo
    restart: always

  vera.query.engine:
    image: veraserver20190209075900.azurecr.io/tricentis/vera-query-engine:${VERA_RELEASE_TAG}
    container_name: vera-query-engine
    restart: always
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    volumes:
      - ${VERA_SERVER_DATA_DIRECTORY}:/Data
    environment:
      - ASPNETCORE_URLS=http://+:80
      - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT}
      - RabbitMQConnectionString=amqp://${RABBITMQ_USERNAME}:${RABBITMQ_PASSWORD}@rabbitmq:5672
      - MongoDBConnectionString=mongodb://${MONGODB_VERA_SERVER_USERNAME}:${MONGODB_VERA_SERVER_PASSWORD}@${MONGODB_VERA_SERVER_URL}
      - LocalAddress=http://vera.query.engine
      - VERA_SERVER_DATA_DIR=/Data
      - VeraServerUrl=http://vera.server:5000

#########################################################################
#######################                     #############################
#######################        WORKERS      #############################
#######################                     #############################
#########################################################################

  vera.worker.jobservice:
    image: veraserver20190209075900.azurecr.io/tricentis/vera-worker-jobservice:${VERA_RELEASE_TAG}
    container_name: vera.worker.jobservice
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    restart: always
    volumes:
      - ${VERA_SERVER_DATA_DIRECTORY}:/Data
    environment:
      - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT}
      - ASPNETCORE_URLS=http://+:80
      - VERA_SERVER_DATA_DIR=/Data
      - RabbitMQConnectionString=amqp://${RABBITMQ_USERNAME}:${RABBITMQ_PASSWORD}@rabbitmq:5672
      - MongoDBConnectionString=mongodb://${MONGODB_VERA_SERVER_USERNAME}:${MONGODB_VERA_SERVER_PASSWORD}@${MONGODB_VERA_SERVER_URL}
      - VERA_SERVER_ENCRYPTION_KEY=${VERA_ENCRYPTION_KEY}
      - DEFAULT_HTTP_TIMEOUT=${DEFAULT_HTTP_TIMEOUT}
    secrets:
      - IdentityServer__Secrets__JiraAddOn
      - IdentityServer__Secrets__VeraInternal
      - IdentityServer__Secrets__VeraJiraCloudAddOn
      - IdentityServer__Secrets__VeraSamlClient
      - IdentityServer__Secrets__VeraWebPortal
      - IdentityServer__Secrets__VeraUserInfo

  vera.worker.qtest:
    image: veraserver20190209075900.azurecr.io/tricentis/vera-worker-qtest:${VERA_RELEASE_TAG}
    container_name: vera.worker.qtest
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    restart: always
    volumes:
      - ${VERA_SERVER_DATA_DIRECTORY}:/Data
    environment:
      - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT}
      - ASPNETCORE_URLS=http://+:80
      - VERA_SERVER_DATA_DIR=/Data
      - VERA_SERVER_ENCRYPTION_KEY=${VERA_ENCRYPTION_KEY}
      - RabbitMQConnectionString=amqp://${RABBITMQ_USERNAME}:${RABBITMQ_PASSWORD}@rabbitmq:5672
      - MongoDBConnectionString=mongodb://${MONGODB_VERA_SERVER_USERNAME}:${MONGODB_VERA_SERVER_PASSWORD}@${MONGODB_VERA_SERVER_URL}
      - VeraServerUrl=http://vera.server:5000
      - IdentityServerAddress=http://vera.server:5000
      - LocalAddress=http://vera.worker.qtest
      - Vera.Worker.QTest.WebhookUrl=${VERA_WORKER_QTEST_WEBHOOKURL}
      - DEFAULT_HTTP_TIMEOUT=${DEFAULT_HTTP_TIMEOUT}
    secrets:
      - IdentityServer__Secrets__JiraAddOn
      - IdentityServer__Secrets__VeraInternal
      - IdentityServer__Secrets__VeraJiraCloudAddOn
      - IdentityServer__Secrets__VeraSamlClient
      - IdentityServer__Secrets__VeraWebPortal
      - IdentityServer__Secrets__VeraUserInfo
    depends_on:
      - vera.worker.jobservice

  vera.worker.jira:
    image: veraserver20190209075900.azurecr.io/tricentis/vera-worker-jira:${VERA_RELEASE_TAG}
    container_name: vera.worker.jira
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    restart: always
    volumes:
      - ${VERA_SERVER_DATA_DIRECTORY}:/Data
    environment:
      - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT}
      - ASPNETCORE_URLS=http://+:80
      - VERA_SERVER_DATA_DIR=/Data
      - VERA_SERVER_ENCRYPTION_KEY=${VERA_ENCRYPTION_KEY}
      - RabbitMQConnectionString=amqp://${RABBITMQ_USERNAME}:${RABBITMQ_PASSWORD}@rabbitmq:5672
      - MongoDBConnectionString=mongodb://${MONGODB_VERA_SERVER_USERNAME}:${MONGODB_VERA_SERVER_PASSWORD}@${MONGODB_VERA_SERVER_URL}
      - VeraServerUrl=http://vera.server:5000
      - IdentityServerAddress=http://vera.server:5000
      - LocalAddress=http://vera.worker.jira
      - DEFAULT_HTTP_TIMEOUT=${DEFAULT_HTTP_TIMEOUT}
    secrets:
      - IdentityServer__Secrets__JiraAddOn
      - IdentityServer__Secrets__VeraInternal
      - IdentityServer__Secrets__VeraJiraCloudAddOn
      - IdentityServer__Secrets__VeraSamlClient
      - IdentityServer__Secrets__VeraWebPortal
      - IdentityServer__Secrets__VeraUserInfo
    depends_on:
      - vera.worker.jobservice

  vera.worker.audithistory:
    image: veraserver20190209075900.azurecr.io/tricentis/vera-worker-audithistory:${VERA_RELEASE_TAG}
    container_name: vera.worker.audithistory
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    restart: always
    volumes:
      - ${VERA_SERVER_DATA_DIRECTORY}:/Data
    environment:
      - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT}
      - ASPNETCORE_URLS=http://+:80
      - VERA_SERVER_DATA_DIR=/Data
      - VERA_SERVER_ENCRYPTION_KEY=${VERA_ENCRYPTION_KEY}
      - RabbitMQConnectionString=amqp://${RABBITMQ_USERNAME}:${RABBITMQ_PASSWORD}@rabbitmq:5672
      - MongoDBConnectionString=mongodb://${MONGODB_VERA_SERVER_USERNAME}:${MONGODB_VERA_SERVER_PASSWORD}@${MONGODB_VERA_SERVER_URL}
      - VeraServerUrl=http://vera.server:5000
      - IdentityServerAddress=http://vera.server:5000
      - LocalAddress=http://vera.worker.audithistory
      - DEFAULT_HTTP_TIMEOUT=${DEFAULT_HTTP_TIMEOUT}
    secrets:
      - IdentityServer__Secrets__JiraAddOn
      - IdentityServer__Secrets__VeraInternal
      - IdentityServer__Secrets__VeraJiraCloudAddOn
      - IdentityServer__Secrets__VeraSamlClient
      - IdentityServer__Secrets__VeraWebPortal
      - IdentityServer__Secrets__VeraUserInfo

  vera.worker.carbone:
    image: veraserver20190209075900.azurecr.io/tricentis/vera-worker-carbone:${VERA_RELEASE_TAG}
    container_name: vera-worker-carbone
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    restart: always
    volumes:
      - ${VERA_SERVER_DATA_DIRECTORY}:/Data
    environment:
      - VERA_SERVER_DATA_DIR=/Data
      - LocalAddress=http://vera.worker.carbone
      - DEFAULT_HTTP_TIMEOUT=${DEFAULT_HTTP_TIMEOUT}
  
  vera.worker.documents:
    image: veraserver20190209075900.azurecr.io/tricentis/vera-worker-documents:${VERA_RELEASE_TAG}
    container_name: vera-worker-documents
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    restart: always
    volumes:
      - ${VERA_SERVER_DATA_DIRECTORY}:/Data
      - ${VERA_SERVER_DATA_DIRECTORY}/DocumentTypes:/app/DocumentTypeImport/DefaultDocumentTypes
      - ${VERA_SERVER_DATA_DIRECTORY}/DocumentTemplates:/app/TemplateImport/DefaultTemplates
    environment:
      - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT}
      - ASPNETCORE_URLS=http://+:80
      - VERA_SERVER_DATA_DIR=/Data
      - RabbitMQConnectionString=amqp://${RABBITMQ_USERNAME}:${RABBITMQ_PASSWORD}@rabbitmq:5672
      - MongoDBConnectionString=mongodb://${MONGODB_VERA_SERVER_USERNAME}:${MONGODB_VERA_SERVER_PASSWORD}@${MONGODB_VERA_SERVER_URL}
      - VeraServerUrl=http://vera.server:5000
      - IdentityServerAddress=http://vera.server:5000
      - LocalAddress=http://vera.worker.documents
      - DocumentGenerationServiceAddress=http://vera.worker.carbone:3000
      - QueryEngineAddress=http://vera.query.engine/graphql
      - DEFAULT_HTTP_TIMEOUT=${DEFAULT_HTTP_TIMEOUT}
    secrets:
      - IdentityServer__Secrets__JiraAddOn
      - IdentityServer__Secrets__VeraInternal
      - IdentityServer__Secrets__VeraJiraCloudAddOn
      - IdentityServer__Secrets__VeraSamlClient
      - IdentityServer__Secrets__VeraWebPortal
      - IdentityServer__Secrets__VeraUserInfo
    depends_on:
      - vera.query.engine
      - vera.worker.carbone

  vera.worker.traceability:
    image: veraserver20190209075900.azurecr.io/tricentis/vera-worker-traceability:${VERA_RELEASE_TAG}
    container_name: vera-worker-traceability
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    restart: always
    volumes:
      - ${VERA_SERVER_DATA_DIRECTORY}:/Data
    environment:
      - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT}
      - ASPNETCORE_URLS=http://+:80
      - VERA_SERVER_DATA_DIR=/Data
      - RabbitMQConnectionString=amqp://${RABBITMQ_USERNAME}:${RABBITMQ_PASSWORD}@rabbitmq:5672
      - MongoDBConnectionString=mongodb://${MONGODB_VERA_SERVER_USERNAME}:${MONGODB_VERA_SERVER_PASSWORD}@${MONGODB_VERA_SERVER_URL}
      - VeraServerUrl=http://vera.server:5000
      - IdentityServerAddress=http://vera.server:5000
      - LocalAddress=http://vera.worker.traceability
      - DEFAULT_HTTP_TIMEOUT=${DEFAULT_HTTP_TIMEOUT}
    secrets:
      - IdentityServer__Secrets__JiraAddOn
      - IdentityServer__Secrets__VeraInternal
      - IdentityServer__Secrets__VeraJiraCloudAddOn
      - IdentityServer__Secrets__VeraSamlClient
      - IdentityServer__Secrets__VeraWebPortal
      - IdentityServer__Secrets__VeraUserInfo
    depends_on:
      - vera.worker.jobservice

  vera.worker.domains:
    image: veraserver20190209075900.azurecr.io/tricentis/vera-worker-domains:${VERA_RELEASE_TAG}
    container_name: vera-worker-domains
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    ports:
      - "5306:80"
    restart: always
    volumes:
      - ${VERA_SERVER_DATA_DIRECTORY}:/Data
    environment:
      - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT}
      - ASPNETCORE_URLS=http://+:80
      - VERA_SERVER_DATA_DIR=/Data
      - RabbitMQConnectionString=amqp://${RABBITMQ_USERNAME}:${RABBITMQ_PASSWORD}@rabbitmq:5672
      - MongoDBConnectionString=mongodb://${MONGODB_VERA_SERVER_USERNAME}:${MONGODB_VERA_SERVER_PASSWORD}@${MONGODB_VERA_SERVER_URL}
      - VeraServerUrl=http://vera.server:5000
      - IdentityServerAddress=http://vera.server:5000
      - LocalAddress=http://vera.worker.domains
      - DEFAULT_HTTP_TIMEOUT=${DEFAULT_HTTP_TIMEOUT}
    secrets:
      - IdentityServer__Secrets__JiraAddOn
      - IdentityServer__Secrets__VeraInternal
      - IdentityServer__Secrets__VeraJiraCloudAddOn
      - IdentityServer__Secrets__VeraSamlClient
      - IdentityServer__Secrets__VeraWebPortal
      - IdentityServer__Secrets__VeraUserInfo

  vera.worker.verification:
    image: veraserver20190209075900.azurecr.io/tricentis/vera-worker-verification:${VERA_RELEASE_TAG}
    container_name: vera-worker-verification
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    ports:
      - "5307:80"
    restart: always
    volumes:
      - ${VERA_SERVER_DATA_DIRECTORY}:/Data
    environment:
      - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT}
      - ASPNETCORE_URLS=http://+:80
      - VERA_SERVER_DATA_DIR=/Data
      - RabbitMQConnectionString=amqp://${RABBITMQ_USERNAME}:${RABBITMQ_PASSWORD}@rabbitmq:5672
      - MongoDBConnectionString=mongodb://${MONGODB_VERA_SERVER_USERNAME}:${MONGODB_VERA_SERVER_PASSWORD}@${MONGODB_VERA_SERVER_URL}
      - VeraServerUrl=http://vera.server:5000
      - IdentityServerAddress=http://vera.server:5000
      - LocalAddress=http://vera.worker.verification
      - DEFAULT_HTTP_TIMEOUT=${DEFAULT_HTTP_TIMEOUT}
    secrets:
      - IdentityServer__Secrets__JiraAddOn
      - IdentityServer__Secrets__VeraInternal
      - IdentityServer__Secrets__VeraJiraCloudAddOn
      - IdentityServer__Secrets__VeraSamlClient
      - IdentityServer__Secrets__VeraWebPortal
      - IdentityServer__Secrets__VeraUserInfo

  vera.worker.workflows:
    image: veraserver20190209075900.azurecr.io/tricentis/vera-worker-workflows:${VERA_RELEASE_TAG}
    container_name: vera-worker-workflows
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    ports:
      - "5308:80"
    restart: always
    volumes:
      - ${VERA_SERVER_DATA_DIRECTORY}:/Data
    environment:
      - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT}
      - ASPNETCORE_URLS=http://+:80
      - VERA_SERVER_DATA_DIR=/Data
      - RabbitMQConnectionString=amqp://${RABBITMQ_USERNAME}:${RABBITMQ_PASSWORD}@rabbitmq:5672
      - MongoDBConnectionString=mongodb://${MONGODB_VERA_SERVER_USERNAME}:${MONGODB_VERA_SERVER_PASSWORD}@${MONGODB_VERA_SERVER_URL}
      - VeraServerUrl=http://vera.server:5000
      - IdentityServerAddress=http://vera.server:5000
      - LocalAddress=http://vera.worker.workflows
      - DEFAULT_HTTP_TIMEOUT=${DEFAULT_HTTP_TIMEOUT}
    secrets:
      - IdentityServer__Secrets__JiraAddOn
      - IdentityServer__Secrets__VeraInternal
      - IdentityServer__Secrets__VeraJiraCloudAddOn
      - IdentityServer__Secrets__VeraSamlClient
      - IdentityServer__Secrets__VeraWebPortal
      - IdentityServer__Secrets__VeraUserInfo

#########################################################################
#######################                     #############################
#######################     API SERVICES    #############################
#######################                     #############################
#########################################################################

  vera.api.qtest:
    image: veraserver20190209075900.azurecr.io/tricentis/vera-api-qtest:${VERA_RELEASE_TAG}
    container_name: vera.api.qtest
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    restart: always
    ports:
      - "${VERA_QTEST_HTTP_PORT}:80"
    volumes:
      - ${VERA_SERVER_DATA_DIRECTORY}:/Data
    environment:
      - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT}
      - ASPNETCORE_URLS=http://+:80
      - VERA_SERVER_DATA_DIR=/Data
      - VERA_SERVER_ENCRYPTION_KEY=${VERA_ENCRYPTION_KEY}
      - VeraServerUrl=http://vera.server:5000
      - IdentityServerAddress=http://vera.server:5000
      - RabbitMQConnectionString=amqp://${RABBITMQ_USERNAME}:${RABBITMQ_PASSWORD}@rabbitmq:5672
      - LocalAddress=http://vera.api.qtest
    secrets:
      - IdentityServer__Secrets__JiraAddOn
      - IdentityServer__Secrets__VeraInternal
      - IdentityServer__Secrets__VeraJiraCloudAddOn
      - IdentityServer__Secrets__VeraSamlClient
      - IdentityServer__Secrets__VeraWebPortal
      - IdentityServer__Secrets__VeraUserInfo
    depends_on:
      - vera.worker.qtest

  vera.api.jira.routeactions:
    image: veraserver20190209075900.azurecr.io/tricentis/vera-api-jira-routeactions:${VERA_RELEASE_TAG}
    container_name: vera.api.jira.routeactions
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    restart: always
    ports:
      - "${VERA_JIRA_HTTP_PORT}:80"
    volumes:
      - ${VERA_SERVER_DATA_DIRECTORY}:/Data
    environment:
      - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT}
      - ASPNETCORE_URLS=http://+:80
      - VERA_SERVER_DATA_DIR=/Data
      - MongoDBConnectionString=mongodb://${MONGODB_VERA_SERVER_USERNAME}:${MONGODB_VERA_SERVER_PASSWORD}@${MONGODB_VERA_SERVER_URL}
      - RabbitMQConnectionString=amqp://${RABBITMQ_USERNAME}:${RABBITMQ_PASSWORD}@rabbitmq:5672
      - VERA_SERVER_ENCRYPTION_KEY=${VERA_ENCRYPTION_KEY}
    secrets:
      - IdentityServer__Secrets__JiraAddOn
      - IdentityServer__Secrets__VeraInternal
      - IdentityServer__Secrets__VeraJiraCloudAddOn
      - IdentityServer__Secrets__VeraSamlClient
      - IdentityServer__Secrets__VeraWebPortal
      - IdentityServer__Secrets__VeraUserInfo
    depends_on:
      - vera.worker.jira

  vera.api.routes.routeevents:
    image: veraserver20190209075900.azurecr.io/tricentis/vera-api-routes-routeevents:${VERA_RELEASE_TAG}
    container_name: vera.api.routes.routeevents
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    restart: always
    volumes:
      - ${VERA_SERVER_DATA_DIRECTORY}:/Data
    environment:
      - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT}
      - ASPNETCORE_URLS=http://+:80
      - VERA_SERVER_DATA_DIR=/Data
      - VERA_SERVER_ENCRYPTION_KEY=${VERA_ENCRYPTION_KEY}
      - RabbitMQConnectionString=amqp://${RABBITMQ_USERNAME}:${RABBITMQ_PASSWORD}@rabbitmq:5672
      - MongoDBConnectionString=mongodb://${MONGODB_VERA_SERVER_USERNAME}:${MONGODB_VERA_SERVER_PASSWORD}@${MONGODB_VERA_SERVER_URL}
      - VeraServerUrl=http://vera.server:5000
      - IdentityServerAddress=http://vera.server:5000
      - LocalAddress=http://vera.api.routes.routeevents
      - DEFAULT_HTTP_TIMEOUT=${DEFAULT_HTTP_TIMEOUT}
    secrets:
      - IdentityServer__Secrets__JiraAddOn
      - IdentityServer__Secrets__VeraInternal
      - IdentityServer__Secrets__VeraJiraCloudAddOn
      - IdentityServer__Secrets__VeraSamlClient
      - IdentityServer__Secrets__VeraWebPortal
      - IdentityServer__Secrets__VeraUserInfo
    depends_on:
      - vera.server
      - vera.worker.qtest
      - vera.worker.jira

  vera.api.connections.testconnection:
    image: veraserver20190209075900.azurecr.io/tricentis/vera-api-connections-testconnection:${VERA_RELEASE_TAG}
    container_name: vera.api.connections.testconnection
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    restart: always
    volumes:
      - ${VERA_SERVER_DATA_DIRECTORY}:/Data
    environment:
      - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT}
      - ASPNETCORE_URLS=http://+:80
      - VERA_SERVER_DATA_DIR=/Data
      - VERA_SERVER_ENCRYPTION_KEY=${VERA_ENCRYPTION_KEY}
      - RabbitMQConnectionString=amqp://${RABBITMQ_USERNAME}:${RABBITMQ_PASSWORD}@rabbitmq:5672
      - VeraServerUrl=http://vera.server:5000
      - IdentityServerAddress=http://vera.server:5000
      - LocalAddress=http://vera.api.connections.testconnection
    secrets:
      - IdentityServer__Secrets__JiraAddOn
      - IdentityServer__Secrets__VeraInternal
      - IdentityServer__Secrets__VeraJiraCloudAddOn
      - IdentityServer__Secrets__VeraSamlClient
      - IdentityServer__Secrets__VeraWebPortal
      - IdentityServer__Secrets__VeraUserInfo
    depends_on:
      - vera.server
      - vera.worker.qtest
      - vera.worker.jira

  vera.api.audithistory:
    image: veraserver20190209075900.azurecr.io/tricentis/vera-api-audithistory:${VERA_RELEASE_TAG}
    container_name: vera.api.audithistory
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    restart: always
    volumes:
      - ${VERA_SERVER_DATA_DIRECTORY}:/Data
    environment:
      - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT}
      - ASPNETCORE_URLS=http://+:80
      - VERA_SERVER_DATA_DIR=/Data
      - VERA_SERVER_ENCRYPTION_KEY=${VERA_ENCRYPTION_KEY}
      - VERA_SERVER_JWT_CERT_NAME=${VERA_JWT_PFX_FILENAME}
      - VERA_SERVER_JWT_CERT_PASSWORD=${VERA_JWT_PFX_PASSWORD}
      - RabbitMQConnectionString=amqp://${RABBITMQ_USERNAME}:${RABBITMQ_PASSWORD}@rabbitmq:5672
      - MongoDBConnectionString=mongodb://${MONGODB_VERA_SERVER_USERNAME}:${MONGODB_VERA_SERVER_PASSWORD}@${MONGODB_VERA_SERVER_URL}
      - VeraServerUrl=http://vera.server:5000
      - IdentityServerAddress=http://vera.server:5000
      - LocalAddress=http://vera.api.audithistory
    secrets:
      - IdentityServer__Secrets__JiraAddOn
      - IdentityServer__Secrets__VeraInternal
      - IdentityServer__Secrets__VeraJiraCloudAddOn
      - IdentityServer__Secrets__VeraSamlClient
      - IdentityServer__Secrets__VeraWebPortal
      - IdentityServer__Secrets__VeraUserInfo
    depends_on:
      - vera.server
      - vera.worker.audithistory

  vera.api.documents:
    image: veraserver20190209075900.azurecr.io/tricentis/vera-api-documents:${VERA_RELEASE_TAG}
    container_name: vera-api-documents
    restart: always
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    volumes:
      - ${VERA_SERVER_DATA_DIRECTORY}:/Data
    environment:
      - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT}
      - ASPNETCORE_URLS=http://+:80
      - VERA_SERVER_JWT_CERT_NAME=${VERA_JWT_PFX_FILENAME}
      - VERA_SERVER_JWT_CERT_PASSWORD=${VERA_JWT_PFX_PASSWORD}
      - RabbitMQConnectionString=amqp://${RABBITMQ_USERNAME}:${RABBITMQ_PASSWORD}@rabbitmq:5672
      - MongoDBConnectionString=mongodb://${MONGODB_VERA_SERVER_USERNAME}:${MONGODB_VERA_SERVER_PASSWORD}@${MONGODB_VERA_SERVER_URL}
      - VeraServerUrl=http://vera.server:5000
      - IdentityServerAddress=http://vera.server:5000
      - LocalAddress=http://vera.api.documents
      - VERA_SERVER_DATA_DIR=/Data
      - VERA_SERVER_ENCRYPTION_KEY=${VERA_ENCRYPTION_KEY}
    secrets:
      - IdentityServer__Secrets__JiraAddOn
      - IdentityServer__Secrets__VeraInternal
      - IdentityServer__Secrets__VeraJiraCloudAddOn
      - IdentityServer__Secrets__VeraSamlClient
      - IdentityServer__Secrets__VeraWebPortal
      - IdentityServer__Secrets__VeraUserInfo
    depends_on:
      - vera.worker.documents

  vera.api.traceability:
    image: veraserver20190209075900.azurecr.io/tricentis/vera-api-traceability:${VERA_RELEASE_TAG}
    container_name: vera-api-traceability
    restart: always
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    volumes:
      - ${VERA_SERVER_DATA_DIRECTORY}:/Data
    environment:
      - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT}
      - ASPNETCORE_URLS=http://+:80
      - VERA_SERVER_JWT_CERT_NAME=${VERA_JWT_PFX_FILENAME}
      - VERA_SERVER_JWT_CERT_PASSWORD=${VERA_JWT_PFX_PASSWORD}
      - RabbitMQConnectionString=amqp://${RABBITMQ_USERNAME}:${RABBITMQ_PASSWORD}@rabbitmq:5672
      - MongoDBConnectionString=mongodb://${MONGODB_VERA_SERVER_USERNAME}:${MONGODB_VERA_SERVER_PASSWORD}@${MONGODB_VERA_SERVER_URL}
      - VeraServerUrl=http://vera.server:5000
      - IdentityServerAddress=http://vera.server:5000
      - LocalAddress=http://vera.api.traceability
      - VERA_SERVER_DATA_DIR=/Data
      - VERA_SERVER_ENCRYPTION_KEY=${VERA_ENCRYPTION_KEY}
    secrets:
      - IdentityServer__Secrets__JiraAddOn
      - IdentityServer__Secrets__VeraInternal
      - IdentityServer__Secrets__VeraJiraCloudAddOn
      - IdentityServer__Secrets__VeraSamlClient
      - IdentityServer__Secrets__VeraWebPortal
      - IdentityServer__Secrets__VeraUserInfo
    depends_on:
      - vera.worker.traceability

  vera.api.domains:
    image: veraserver20190209075900.azurecr.io/tricentis/vera-api-domains:${VERA_RELEASE_TAG}
    container_name: vera-api-domains
    privileged: true
    restart: always
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    volumes:
      - ${VERA_SERVER_DATA_DIRECTORY}:/Data
    environment:
      - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT}
      - ASPNETCORE_URLS=http://+:80
      - VERA_SERVER_JWT_CERT_NAME=${VERA_JWT_PFX_FILENAME}
      - VERA_SERVER_JWT_CERT_PASSWORD=${VERA_JWT_PFX_PASSWORD}
      - RabbitMQConnectionString=amqp://${RABBITMQ_USERNAME}:${RABBITMQ_PASSWORD}@rabbitmq:5672
      - MongoDBConnectionString=mongodb://${MONGODB_VERA_SERVER_USERNAME}:${MONGODB_VERA_SERVER_PASSWORD}@${MONGODB_VERA_SERVER_URL}
      - VeraServerUrl=http://vera.server:5000
      - IdentityServerAddress=http://vera.server:5000
      - LocalAddress=http://vera.api.domains
      - VERA_SERVER_DATA_DIR=/Data      
      - VERA_SERVER_ENCRYPTION_KEY=${VERA_ENCRYPTION_KEY}
    secrets:
      - IdentityServer__Secrets__JiraAddOn
      - IdentityServer__Secrets__VeraInternal
      - IdentityServer__Secrets__VeraJiraCloudAddOn
      - IdentityServer__Secrets__VeraSamlClient
      - IdentityServer__Secrets__VeraWebPortal
      - IdentityServer__Secrets__VeraUserInfo
    depends_on:
      - vera.worker.domains

  vera.api.verification:
    image: veraserver20190209075900.azurecr.io/tricentis/vera-api-verification:${VERA_RELEASE_TAG}
    container_name: vera-api-verification
    privileged: true
    restart: always
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    volumes:
      - ${VERA_SERVER_DATA_DIRECTORY}:/Data
    environment:
      - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT}
      - ASPNETCORE_URLS=http://+:80
      - VERA_SERVER_JWT_CERT_NAME=${VERA_JWT_PFX_FILENAME}
      - VERA_SERVER_JWT_CERT_PASSWORD=${VERA_JWT_PFX_PASSWORD}
      - RabbitMQConnectionString=amqp://${RABBITMQ_USERNAME}:${RABBITMQ_PASSWORD}@rabbitmq:5672
      - MongoDBConnectionString=mongodb://${MONGODB_VERA_SERVER_USERNAME}:${MONGODB_VERA_SERVER_PASSWORD}@${MONGODB_VERA_SERVER_URL}
      - VeraServerUrl=http://vera.server:5000
      - IdentityServerAddress=http://vera.server:5000
      - LocalAddress=http://vera.api.verification
      - VERA_SERVER_DATA_DIR=/Data
      - VERA_SERVER_ENCRYPTION_KEY=${VERA_ENCRYPTION_KEY}
    secrets:
      - IdentityServer__Secrets__JiraAddOn
      - IdentityServer__Secrets__VeraInternal
      - IdentityServer__Secrets__VeraJiraCloudAddOn
      - IdentityServer__Secrets__VeraSamlClient
      - IdentityServer__Secrets__VeraWebPortal
      - IdentityServer__Secrets__VeraUserInfo
    depends_on:
      - vera.worker.verification

  vera.api.workflows:
    image: veraserver20190209075900.azurecr.io/tricentis/vera-api-workflows:${VERA_RELEASE_TAG}
    container_name: vera-api-workflows
    privileged: true
    ports:
      - "${VERA_WORKFLOWS_HTTP_PORT}:80"
    restart: always
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    volumes:
      - ${VERA_SERVER_DATA_DIRECTORY}:/Data
    environment:
      - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT}
      - ASPNETCORE_URLS=http://+:80
      - VERA_SERVER_JWT_CERT_NAME=${VERA_JWT_PFX_FILENAME}
      - VERA_SERVER_JWT_CERT_PASSWORD=${VERA_JWT_PFX_PASSWORD}
      - RabbitMQConnectionString=amqp://${RABBITMQ_USERNAME}:${RABBITMQ_PASSWORD}@rabbitmq:5672
      - MongoDBConnectionString=mongodb://${MONGODB_VERA_SERVER_USERNAME}:${MONGODB_VERA_SERVER_PASSWORD}@${MONGODB_VERA_SERVER_URL}
      - VeraServerUrl=http://vera.server:5000
      - IdentityServerAddress=http://vera.server:5000
      - LocalAddress=http://vera.api.workflows
      - VERA_SERVER_DATA_DIR=/Data
      - VERA_SERVER_ENCRYPTION_KEY=${VERA_ENCRYPTION_KEY}
      - DEFAULT_HTTP_TIMEOUT=${DEFAULT_HTTP_TIMEOUT}
    secrets:
      - IdentityServer__Secrets__JiraAddOn
      - IdentityServer__Secrets__VeraInternal
      - IdentityServer__Secrets__VeraJiraCloudAddOn
      - IdentityServer__Secrets__VeraSamlClient
      - IdentityServer__Secrets__VeraWebPortal
      - IdentityServer__Secrets__VeraUserInfo
    depends_on:
      - vera.worker.workflows

#########################################################################
#######################                     #############################
#######################        SECRETS      #############################
#######################                     #############################
#########################################################################

secrets:
    vera_internal_secret:
      file: vera_internal_secret.txt
    IdentityServer__Secrets__JiraAddOn:
      file: IdentityServer__Secrets__JiraAddOn
    IdentityServer__Secrets__VeraInternal:
      file: IdentityServer__Secrets__VeraInternal
    IdentityServer__Secrets__VeraJiraCloudAddOn:
      file: IdentityServer__Secrets__VeraJiraCloudAddOn
    IdentityServer__Secrets__VeraSamlClient:
      file: IdentityServer__Secrets__VeraSamlClient
    IdentityServer__Secrets__VeraWebPortal:
      file: IdentityServer__Secrets__VeraWebPortal
    IdentityServer__Secrets__VeraUserInfo:
      file: IdentityServer__Secrets__VeraUserInfo