services: plandev_action: build: context: ./action-server dockerfile: Dockerfile #dockerfile: Dockerfile.dev #-- Uncomment for development container_name: plandev_action depends_on: ["postgres"] environment: HASURA_GRAPHQL_JWT_SECRET: "${HASURA_GRAPHQL_JWT_SECRET}" LOG_FILE: console LOG_LEVEL: debug MERLIN_GRAPHQL_URL: http://hasura:8080/v1/graphql PLANDEV_DB: "${PLANDEV_DATABASE_NAME}" PLANDEV_DB_HOST: postgres PLANDEV_DB_PORT: 5432 ACTION_COOKIE_NAMES: "${ACTION_COOKIE_NAMES:-}" ACTION_CORS_ALLOWED_ORIGIN: "${ACTION_CORS_ALLOWED_ORIGIN:-}" ACTION_DB_USER: "${SEQUENCING_USERNAME}" ACTION_DB_PASSWORD: "${SEQUENCING_PASSWORD}" ACTION_LOCAL_STORE: /usr/src/app/action_file_store ACTION_WORKER_NUM: 1 ACTION_MAX_WORKER_NUM: 1 SEQUENCING_LOCAL_STORE: /usr/src/app/sequencing_file_store image: plandev_action ports: ["27186:27186"] #ports: [ "27186:27186",'9229:9229'] #-- Uncomment for development restart: always volumes: - ./action-server:/app:cached - plandev_file_store:/usr/src/app/action_file_store plandev_gateway: container_name: plandev_gateway depends_on: ["postgres"] environment: AUTH_TYPE: none AUTH_URL: https://atb-ocio-12b.jpl.nasa.gov:8443/cam-api GQL_API_URL: http://localhost:8080/v1/graphql HASURA_API_URL: http://hasura:8080/ HASURA_GRAPHQL_JWT_SECRET: "${HASURA_GRAPHQL_JWT_SECRET}" LOG_FILE: console LOG_LEVEL: debug NODE_TLS_REJECT_UNAUTHORIZED: "0" PORT: 9000 PLANDEV_DB: "${PLANDEV_DATABASE_NAME}" PLANDEV_DB_HOST: postgres PLANDEV_DB_PORT: 5432 GATEWAY_DB_USER: "${GATEWAY_USERNAME}" GATEWAY_DB_PASSWORD: "${GATEWAY_PASSWORD}" image: "ghcr.io/nasa-ammos/plandev-gateway:develop" ports: ["9000:9000"] restart: always volumes: - plandev_file_store:/app/files plandev_merlin: build: context: ./merlin-server dockerfile: Dockerfile container_name: plandev_merlin depends_on: ["postgres"] environment: HASURA_GRAPHQL_ADMIN_SECRET: "${HASURA_GRAPHQL_ADMIN_SECRET}" HASURA_GRAPHQL_URL: http://hasura:8080/v1/graphql PLANDEV_DB: "${PLANDEV_DATABASE_NAME}" PLANDEV_DB_HOST: postgres PLANDEV_DB_PORT: 5432 MERLIN_DB_USER: "${MERLIN_USERNAME}" MERLIN_DB_PASSWORD: "${MERLIN_PASSWORD}" MERLIN_LOCAL_STORE: /usr/src/app/merlin_file_store MERLIN_PORT: 27183 JAVA_OPTS: > -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 -Dorg.slf4j.simpleLogger.defaultLogLevel=INFO -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO -Dorg.slf4j.simpleLogger.logFile=System.err UNTRUE_PLAN_START: "2000-01-01T11:58:55.816Z" image: plandev_merlin ports: ["27183:8080", "5005:5005"] # Exposes only Health Check and debugger port restart: always volumes: - plandev_file_store:/usr/src/app/merlin_file_store plandev_scheduler: build: context: ./scheduler-server dockerfile: Dockerfile container_name: plandev_scheduler depends_on: ["plandev_merlin", "postgres"] environment: HASURA_GRAPHQL_ADMIN_SECRET: "${HASURA_GRAPHQL_ADMIN_SECRET}" MERLIN_GRAPHQL_URL: http://hasura:8080/v1/graphql PLANDEV_DB: "${PLANDEV_DATABASE_NAME}" PLANDEV_DB_HOST: postgres PLANDEV_DB_PORT: 5432 SCHEDULER_DB_USER: "${SCHEDULER_USERNAME}" SCHEDULER_DB_PASSWORD: "${SCHEDULER_PASSWORD}" SCHEDULER_PORT: 27185 JAVA_OPTS: > -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 -Dorg.slf4j.simpleLogger.defaultLogLevel=INFO -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO -Dorg.slf4j.simpleLogger.logFile=System.err image: plandev_scheduler ports: ["27185:8080", "5006:5005"] # Exposes only Health Check and debugger port restart: always volumes: - plandev_file_store:/usr/src/app/merlin_file_store plandev_sequencing: build: context: ./sequencing-server dockerfile: Dockerfile #dockerfile: Dockerfile.dev #-- Uncomment for development container_name: plandev_sequencing depends_on: ["postgres"] environment: HASURA_GRAPHQL_ADMIN_SECRET: "${HASURA_GRAPHQL_ADMIN_SECRET}" LOG_FILE: console LOG_LEVEL: debug MERLIN_GRAPHQL_URL: http://hasura:8080/v1/graphql SEQUENCING_SERVER_PORT: 27184 PLANDEV_DB: "${PLANDEV_DATABASE_NAME}" PLANDEV_DB_HOST: postgres PLANDEV_DB_PORT: 5432 SEQUENCING_DB_USER: "${SEQUENCING_USERNAME}" SEQUENCING_DB_PASSWORD: "${SEQUENCING_PASSWORD}" SEQUENCING_LOCAL_STORE: /usr/src/app/sequencing_file_store SEQUENCING_LANGUAGE: "SEQN" #DICTIONARY_PARSER_PLUGIN: "/fprime-dictionary-parser/fprime-parser.js" #-- Relative to sequencing-server/plugins, Uncomment to use a different command dictionary parser image: plandev_sequencing ports: ["27184:8080"] # Exposes only Health Check #ports: [ "27184:27184",'9229:9229'] #-- Uncomment for development restart: always volumes: - ./sequencing-server:/app:cached - plandev_file_store:/usr/src/app/sequencing_file_store plandev_workspace: build: context: ./workspace-server dockerfile: Dockerfile container_name: plandev_workspace depends_on: ["postgres"] environment: PLANDEV_DB: "${PLANDEV_DATABASE_NAME}" PLANDEV_DB_HOST: postgres PLANDEV_DB_PORT: 5432 SEQUENCING_DB_USER: "${SEQUENCING_USERNAME}" SEQUENCING_DB_PASSWORD: "${SEQUENCING_PASSWORD}" WORKSPACE_STORE: /usr/src/ws WORKSPACE_PORT: 28000 HASURA_GRAPHQL_JWT_SECRET: "${HASURA_GRAPHQL_JWT_SECRET}" HASURA_GRAPHQL_ADMIN_SECRET: "${HASURA_GRAPHQL_ADMIN_SECRET}" HASURA_GRAPHQL_URL: http://hasura:8080/v1/graphql JAVA_OPTS: > -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 -Dorg.slf4j.simpleLogger.defaultLogLevel=INFO -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO -Dorg.slf4j.simpleLogger.logFile=System.err image: plandev_workspace ports: ["28000:28000", "5015:5005"] restart: always volumes: - workspace_file_store:/usr/src/ws plandev_ui: container_name: plandev_ui depends_on: ["postgres"] environment: NODE_TLS_REJECT_UNAUTHORIZED: "0" PUBLIC_PLANDEV_FILE_STORE_PREFIX: "/usr/src/app/merlin_file_store/" ORIGIN: http://localhost PUBLIC_ACTION_CLIENT_URL: http://localhost:27186 PUBLIC_ACTION_INCLUDE_CREDENTIALS: "false" PUBLIC_GATEWAY_CLIENT_URL: http://localhost:9000 PUBLIC_GATEWAY_SERVER_URL: http://plandev_gateway:9000 PUBLIC_HASURA_CLIENT_URL: http://localhost:8080/v1/graphql PUBLIC_HASURA_SERVER_URL: http://hasura:8080/v1/graphql PUBLIC_HASURA_WEB_SOCKET_URL: ws://localhost:8080/v1/graphql PUBLIC_WORKSPACE_CLIENT_URL: http://localhost:28000 image: "ghcr.io/nasa-ammos/plandev-ui:develop" ports: ["80:80"] restart: always plandev_merlin_worker_1: build: context: ./merlin-worker dockerfile: Dockerfile container_name: plandev_merlin_worker_1 depends_on: ["postgres"] environment: PLANDEV_DB: "${PLANDEV_DATABASE_NAME}" PLANDEV_DB_HOST: postgres PLANDEV_DB_PORT: 5432 MERLIN_DB_USER: "${MERLIN_USERNAME}" MERLIN_DB_PASSWORD: "${MERLIN_PASSWORD}" MERLIN_WORKER_LOCAL_STORE: /usr/src/app/merlin_file_store SIMULATION_PROGRESS_POLL_PERIOD_MILLIS: 2000 JAVA_OPTS: > -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 -Dorg.slf4j.simpleLogger.defaultLogLevel=INFO -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO -Dorg.slf4j.simpleLogger.logFile=System.err UNTRUE_PLAN_START: "2000-01-01T11:58:55.816Z" image: "plandev_merlin_worker_1" ports: ["5007:5005", "27187:8080"] # Exposes only Health Check and debugger port restart: always volumes: - plandev_file_store:/usr/src/app/merlin_file_store:ro plandev_merlin_worker_2: build: context: ./merlin-worker dockerfile: Dockerfile container_name: plandev_merlin_worker_2 depends_on: ["postgres"] environment: PLANDEV_DB: "${PLANDEV_DATABASE_NAME}" PLANDEV_DB_HOST: postgres PLANDEV_DB_PORT: 5432 MERLIN_DB_USER: "${MERLIN_USERNAME}" MERLIN_DB_PASSWORD: "${MERLIN_PASSWORD}" MERLIN_WORKER_LOCAL_STORE: /usr/src/app/merlin_file_store SIMULATION_PROGRESS_POLL_PERIOD_MILLIS: 2000 JAVA_OPTS: > -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 -Dorg.slf4j.simpleLogger.defaultLogLevel=INFO -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO -Dorg.slf4j.simpleLogger.logFile=System.err UNTRUE_PLAN_START: "2000-01-01T11:58:55.816Z" image: "plandev_merlin_worker_2" ports: ["5008:5005", "27188:8080"] # Exposes only Health Check and debugger port restart: always volumes: - plandev_file_store:/usr/src/app/merlin_file_store:ro plandev_scheduler_worker_1: build: context: ./scheduler-worker dockerfile: Dockerfile container_name: plandev_scheduler_worker_1 depends_on: ["postgres"] environment: HASURA_GRAPHQL_ADMIN_SECRET: "${HASURA_GRAPHQL_ADMIN_SECRET}" MERLIN_GRAPHQL_URL: http://hasura:8080/v1/graphql PLANDEV_DB: "${PLANDEV_DATABASE_NAME}" PLANDEV_DB_HOST: postgres PLANDEV_DB_PORT: 5432 SCHEDULER_DB_USER: "${SCHEDULER_USERNAME}" SCHEDULER_DB_PASSWORD: "${SCHEDULER_PASSWORD}" SCHEDULER_OUTPUT_MODE: UpdateInputPlanWithNewActivities MERLIN_LOCAL_STORE: /usr/src/app/merlin_file_store MAX_NB_CACHED_SIMULATION_ENGINES: 1 JAVA_OPTS: > -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 -Dorg.slf4j.simpleLogger.defaultLogLevel=INFO -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO -Dorg.slf4j.simpleLogger.logFile=System.err image: "plandev_scheduler_worker_1" ports: ["5009:5005", "27189:8080"] # Exposes only Health Check and debugger port restart: always volumes: - plandev_file_store:/usr/src/app/merlin_file_store:ro plandev_scheduler_worker_2: build: context: ./scheduler-worker dockerfile: Dockerfile container_name: plandev_scheduler_worker_2 depends_on: ["postgres"] environment: HASURA_GRAPHQL_ADMIN_SECRET: "${HASURA_GRAPHQL_ADMIN_SECRET}" MERLIN_GRAPHQL_URL: http://hasura:8080/v1/graphql PLANDEV_DB: "${PLANDEV_DATABASE_NAME}" PLANDEV_DB_HOST: postgres PLANDEV_DB_PORT: 5432 SCHEDULER_DB_USER: "${SCHEDULER_USERNAME}" SCHEDULER_DB_PASSWORD: "${SCHEDULER_PASSWORD}" SCHEDULER_OUTPUT_MODE: UpdateInputPlanWithNewActivities MERLIN_LOCAL_STORE: /usr/src/app/merlin_file_store MAX_NB_CACHED_SIMULATION_ENGINES: 1 JAVA_OPTS: > -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 -Dorg.slf4j.simpleLogger.defaultLogLevel=INFO -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO -Dorg.slf4j.simpleLogger.logFile=System.err image: "plandev_scheduler_worker_2" ports: ["5010:5005", "27190:8080"] # Exposes only Health Check and debugger port restart: always volumes: - plandev_file_store:/usr/src/app/merlin_file_store:ro hasura: build: context: . dockerfile: docker/Dockerfile.hasura container_name: plandev_hasura depends_on: ["postgres"] environment: PLANDEV_DATABASE_URL: "postgres://${PLANDEV_USERNAME:?PLANDEV_USERNAME has not been set}:${PLANDEV_PASSWORD:?PLANDEV_PASSWORD has not been set}@postgres:5432/${PLANDEV_DATABASE_NAME:?PLANDEV_DATABASE_NAME name is not set}?options=-c%20search_path%3Dutil_functions%2Chasura%2Cpermissions%2Ctags%2Cmerlin%2Cscheduler%2Csequencing%2Cactions%2Cui%2Cpublic" PLANDEV_MERLIN_URL: "http://plandev_merlin:27183" PLANDEV_SCHEDULER_URL: "http://plandev_scheduler:27185" PLANDEV_SEQUENCING_URL: "http://plandev_sequencing:27184" HASURA_GRAPHQL_ADMIN_SECRET: "${HASURA_GRAPHQL_ADMIN_SECRET}" HASURA_GRAPHQL_DEV_MODE: "true" HASURA_GRAPHQL_ENABLE_CONSOLE: "true" HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log HASURA_GRAPHQL_INFER_FUNCTION_PERMISSIONS: false HASURA_GRAPHQL_JWT_SECRET: "${HASURA_GRAPHQL_JWT_SECRET}" HASURA_GRAPHQL_LOG_LEVEL: info HASURA_GRAPHQL_METADATA_DATABASE_URL: "postgres://${PLANDEV_USERNAME:?PLANDEV_USERNAME has not been set}:${PLANDEV_PASSWORD:?PLANDEV_PASSWORD has not been set}@postgres:5432/${PLANDEV_METADATA_DATABASE_NAME:?PLANDEV_METADATA_DATABASE_NAME is not set}" HASURA_GRAPHQL_METADATA_DIR: /hasura-metadata image: plandev_hasura ports: ["8080:8080"] restart: always volumes: - ./deployment/hasura/metadata:/hasura-metadata postgres: build: context: . dockerfile: docker/Dockerfile.postgres container_name: plandev_postgres environment: POSTGRES_DB: postgres POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}" POSTGRES_USER: "${POSTGRES_USER}" PLANDEV_DB: "${PLANDEV_DATABASE_NAME:?Database name is not set.}" PLANDEV_METADATA_DB: "${PLANDEV_METADATA_DATABASE_NAME:?Metadata database name is not set.}" PLANDEV_USERNAME: "${PLANDEV_USERNAME:?PLANDEV_USERNAME has not been set}" PLANDEV_PASSWORD: "${PLANDEV_PASSWORD:?PLANDEV_PASSWORD has not been set}" GATEWAY_DB_USER: "${GATEWAY_USERNAME}" GATEWAY_DB_PASSWORD: "${GATEWAY_PASSWORD}" MERLIN_DB_USER: "${MERLIN_USERNAME}" MERLIN_DB_PASSWORD: "${MERLIN_PASSWORD}" SCHEDULER_DB_USER: "${SCHEDULER_USERNAME}" SCHEDULER_DB_PASSWORD: "${SCHEDULER_PASSWORD}" SEQUENCING_DB_USER: "${SEQUENCING_USERNAME}" SEQUENCING_DB_PASSWORD: "${SEQUENCING_PASSWORD}" image: plandev_postgres ports: ["5432:5432"] restart: always volumes: - postgres_data:/var/lib/postgresql/data - ./deployment/postgres-init-db:/docker-entrypoint-initdb.d volumes: plandev_file_store: name: ${PLANDEV_FILE_STORE_NAME:?Name of the Mission Model file store volume has not been set.} postgres_data: workspace_file_store: