version: '3'
services:
################################################################################
  mariadb:
    image: ${NEXUS_DOCKER_REPO_MSO}/mariadb:10.1.11
    ports:
      - "3306:3306"
    volumes:
      - ${TEST_LAB_DIR}/volumes/mariadb/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
      - ${TEST_LAB_DIR}/volumes/mariadb/conf.d:/etc/mysql/conf.d
    environment:
      - MYSQL_ROOT_PASSWORD=password
    hostname:
      mariadb.so.testlab.onap.org
    logging:
      driver: "json-file"
      options:
        max-size: "30m"
        max-file: "5"
################################################################################
  catalog-db-adapter:
    image: ${NEXUS_DOCKER_REPO_MSO}/onap/so/catalog-db-adapter:${TAG}
    ports:
      - "8082:8082"
    volumes:
      - ${TEST_LAB_DIR}/volumes/so/ca-certificates/onapheat:/app/ca-certificates
      - ${TEST_LAB_DIR}/volumes/so/config/catalog-db-adapter/onapheat:/app/config
    environment:
      - APP=catalog-db-adapter
      - JVM_ARGS=-Xms64m -Xmx512m
      - DB_HOST=mariadb
      - DB_PORT=3306
      - DB_USERNAME=so_user
      - DB_PASSWORD=so_User123
      - DB_ADMIN_USERNAME=so_admin
      - DB_ADMIN_PASSWORD=so_Admin123
    hostname:
      catalog-db-adapter.so.testlab.onap.org
    depends_on:
      - mariadb
    logging:
      driver: "json-file"
      options:
        max-size: "30m"
        max-file: "5"
    command:
      - /app/wait-for.sh
      - -q
      - -t
      - "300"
      - mariadb:3306
      - --
      - "/app/start-app.sh"
################################################################################
  request-db-adapter:
    image: ${NEXUS_DOCKER_REPO_MSO}/onap/so/request-db-adapter:${TAG}
    ports:
      - "8083:8083"
    volumes:
      - ${TEST_LAB_DIR}/volumes/so/ca-certificates/onapheat:/app/ca-certificates
      - ${TEST_LAB_DIR}/volumes/so/config/request-db-adapter/onapheat:/app/config
    environment:
      - APP=request-db-adapter
      - JVM_ARGS=-Xms64m -Xmx512m
      - DB_HOST=mariadb
      - DB_PORT=3306
      - DB_USERNAME=so_user
      - DB_PASSWORD=so_User123
      - DB_ADMIN_USERNAME=so_admin
      - DB_ADMIN_PASSWORD=so_Admin123
    hostname:
      request-db-adapter.so.testlab.onap.org
    depends_on:
      - mariadb
      - catalog-db-adapter
    logging:
      driver: "json-file"
      options:
        max-size: "30m"
        max-file: "5"
    command:
      - /app/wait-for.sh
      - -q
      - -t
      - "300"
      - catalog-db-adapter:8082
      - --
      - "/app/start-app.sh"
################################################################################
  vnfm-adapter:
    image: ${NEXUS_DOCKER_REPO_MSO}/onap/so/vnfm-adapter:${TAG}
    ports:
      - "9092:9092"
    volumes:
      - ${TEST_LAB_DIR}/volumes/so/ca-certificates/onapheat:/app/ca-certificates
      - ${TEST_LAB_DIR}/volumes/so/config/vnfm-adapter/onapheat:/app/config
    environment:
    - APP=vnfm-adapter
    - JVM_ARGS=-Xms64m -Xmx512m
    hostname:
      vnfm-adapter-test
    depends_on:
      - request-db-adapter
    logging:
      driver: "json-file"
      options:
        max-size: "30m"
        max-file: "5"
    command:
      - /app/wait-for.sh
      - -q
      - -t
      - "300"
      - request-db-adapter:8083
      - --
      - "/app/start-app.sh"
################################################################################
  sdc-simulator:
    image: simulators/sdc-simulator:latest
    ports:
      - "9991:9991"
    environment:
    - APP=SDC-SIMULATOR
    - JVM_ARGS=-Xms64m -Xmx512m
    hostname:
      sdc-simulator
    depends_on:
      - mariadb
      - vnfm-adapter
    logging:
      driver: "json-file"
      options:
        max-size: "30m"
        max-file: "5"
################################################################################
  aai-simulator:
    image: simulators/aai-simulator:latest
    ports:
      - "9993:9993"
    environment:
    - APP=AAI-SIMULATOR
    - JVM_ARGS=-Xms64m -Xmx512m
    hostname:
      aai-simulator
    depends_on:
      - mariadb
      - vnfm-adapter
    logging:
      driver: "json-file"
      options:
        max-size: "30m"
        max-file: "5"
################################################################################
  workaround-config:
    image: jobs/workaround-job-container:latest
    ports:
       - "9990:9990"
    volumes:
      - ${CONFIG_DIR_PATH}/apply-workarounds.sh:/config/apply-workarounds.sh
    environment:
      - MYSQL_ROOT_PASSWORD=password
      - DB_HOST=mariadb
      - DB_PORT=3306
      - CATALOG_DB=catalogdb
    depends_on:
      - mariadb
      - vnfm-adapter
    command:
      - "/config/apply-workarounds.sh"
#################################################################################
  sdc-controller:
    image: ${NEXUS_DOCKER_REPO_MSO}/onap/so/sdc-controller:${TAG}
    ports:
      - "8085:8085"
    volumes:
      - ${TEST_LAB_DIR}/volumes/so/ca-certificates/onapheat:/app/ca-certificates
      - ${TEST_LAB_DIR}/volumes/so/config/sdc-controller/onapheat:/app/config
      - ${CONFIG_DIR_PATH}/distribution-test-zip/distributionTestZip.zip:/distribution-test-zip/distributionTestZip.zip
    environment:
      - APP=sdc-controller
      - JVM_ARGS=-Xms64m -Xmx512m
      - DB_HOST=mariadb
      - DB_PORT=3306
      - DB_USERNAME=so_user
      - DB_PASSWORD=so_User123
      - DB_ADMIN_USERNAME=so_admin
      - DB_ADMIN_PASSWORD=so_Admin123
    hostname:
      sdc-controller.so.testlab.onap.org
    depends_on:
      - mariadb
      - catalog-db-adapter
      - request-db-adapter
    logging:
      driver: "json-file"
      options:
        max-size: "30m"
        max-file: "5"
    command: 
      - /bin/sh
      - -c
      - 'mkdir -p /distribution-test-zip/unzipped && unzip /distribution-test-zip/distributionTestZip.zip -d /distribution-test-zip/unzipped && /app/wait-for.sh -q -t "300" request-db-adapter:8083 -- "/app/start-app.sh"'
################################################################################