cmr-exchange / dev-env-manager

An Alternate Development Environment Manager for the CMR
Apache License 2.0
0 stars 1 forks source link

Implement individual CMR service components #8

Open oubiwann opened 6 years ago

oubiwann commented 6 years ago
oubiwann commented 6 years ago

Dev system creates apps in this order:

(def app-startup-order
  "Defines the order in which applications should be started"
  [:mock-echo 
   :cubby 
   :metadata-db 
   :access-control
   :index-set 
   :indexer 
   :ingest 
   :search 
   :virtual-product 
   :bootstrap])
oubiwann commented 6 years ago

Current order of deployment for CMR:

cd ../metadata-db-app
cmr_deploy $1
cd ../index-set-app
cmr_deploy $1
cd ../indexer-app
cmr_deploy $1
cd ../search-app
cmr_deploy $1
cd ../ingest-app
cmr_deploy $1
cd ../bootstrap-app
cmr_deploy $1
oubiwann commented 6 years ago

In the docker build script for individual services, this is the order of service starts:

    cd ../cubby-app
    build-and-run-container "cmr-cubby" 3007

    cd ../metadata-db-app
    build-and-run-container "cmr-metadata-db" 3001

    cd ../access-control-app
    build-and-run-container "cmr-access-control" 3011

    cd ../search-app
    build-and-run-container "cmr-search" 3003

    cd ../bootstrap-app
    build-and-run-container "cmr-bootstrap" 3006

    cd ../virtual-product-app
    build-and-run-container "cmr-virtual-product" 3009

    cd ../index-set-app
    build-and-run-container "cmr-index-set" 3005

    cd ../indexer-app
    build-and-run-container "cmr-indexer" 3004

    cd ../ingest-app
    build-and-run-container "cmr-ingest" 3002
oubiwann commented 6 years ago

The Components library uses dependencies for start-up order, so that's probably more useful to list here. Note that since the system-with-connections is what indicates service dependencies, this is what we can use for service deps in out Component system implementation.

Mock Echo

embedded-systems:

system-with-connections:

project.clj deps:

Cubby

embedded-systems:

system-with-connections:

project.clj deps:

Metadata DB

embedded-systems:

system-with-connections:

project.clj deps:

Access Control

embedded-systems:

system-with-connections:

project.clj deps:

Index Set

embedded-systems:

system-with-connections:

project.clj deps:

Indexer

embedded-systems:

system-with-connections:

project.clj deps:

Ingest

embedded-systems:

system-with-connections:

project.clj deps:

Search

embedded-systems:

system-with-connections:

project.clj deps:

Virtual Product

embedded-systems:

system-with-connections:

project.clj deps:

Bootstrap

embedded-systems:

system-with-connections:

project.clj deps: