|
| 1 | +#!/bin/bash |
| 2 | + |
| 3 | +# Constants |
| 4 | +readonly ACTION=$1 |
| 5 | +readonly MODE=$2 |
| 6 | + |
| 7 | +COMPOSE_FILE_PATH=$( |
| 8 | + cd "$(dirname "${BASH_SOURCE[0]}")" || exit |
| 9 | + pwd -P |
| 10 | +) |
| 11 | +readonly COMPOSE_FILE_PATH |
| 12 | + |
| 13 | +# Import libraries |
| 14 | +ROOT_PATH="${COMPOSE_FILE_PATH}/.." |
| 15 | +. "${ROOT_PATH}/utils/config-utils.sh" |
| 16 | +. "${ROOT_PATH}/utils/docker-utils.sh" |
| 17 | +. "${ROOT_PATH}/utils/log.sh" |
| 18 | + |
| 19 | +main() { |
| 20 | + if [[ "${STATEFUL_NODES}" == "cluster" ]]; then |
| 21 | + log info "Running MPI-Mediator package in Cluster node mode" |
| 22 | + local mpi_mediator_cluster_compose_param="-c ${COMPOSE_FILE_PATH}/docker-compose.cluster.yml" |
| 23 | + else |
| 24 | + log info "Running MPI-Mediator package in Single node mode" |
| 25 | + local mpi_mediator_cluster_compose_param="" |
| 26 | + fi |
| 27 | + |
| 28 | + if [[ "${MODE}" == "dev" ]]; then |
| 29 | + log info "Running MPI-Mediator package in DEV mode" |
| 30 | + local mpi_mediator_dev_compose_param="-c ${COMPOSE_FILE_PATH}/docker-compose.dev.yml" |
| 31 | + else |
| 32 | + log info "Running MPI-Mediator package in PROD mode" |
| 33 | + local mpi_mediator_dev_compose_param="" |
| 34 | + fi |
| 35 | + |
| 36 | + if [[ "$ACTION" == "init" ]]; then |
| 37 | + log info "Deploying MPI-Mediator..." |
| 38 | + try "docker stack deploy -c $COMPOSE_FILE_PATH/docker-compose.yml $mpi_mediator_cluster_compose_param $mpi_mediator_dev_compose_param instant" "Failed to deploy mpi-mediator" |
| 39 | + overwrite "Deploying MPI-Mediator... Done" |
| 40 | + elif [[ "$ACTION" == "up" ]]; then |
| 41 | + log info "Updating MPI-Mediator..." |
| 42 | + try "docker stack deploy -c $COMPOSE_FILE_PATH/docker-compose.yml $mpi_mediator_cluster_compose_param $mpi_mediator_dev_compose_param instant" "Failed to stand up mpi-mediator" |
| 43 | + overwrite "Updating MPI-Mediator... Done" |
| 44 | + elif [[ "$ACTION" == "down" ]]; then |
| 45 | + log info "Scaling MPI-Mediator down..." |
| 46 | + try "docker service scale instant_mpi-mediator=0" "Failed to scale down mpi-mediator" |
| 47 | + overwrite "Scaling MPI-Mediator down... Done" |
| 48 | + elif [[ "$ACTION" == "destroy" ]]; then |
| 49 | + log info "Destroying MPI-Mediator..." |
| 50 | + docker::service_destroy mpi-mediator |
| 51 | + overwrite "Destroying MPI-Mediator... Done" |
| 52 | + else |
| 53 | + log error "Valid options are: init, up, down, or destroy" |
| 54 | + fi |
| 55 | +} |
| 56 | + |
| 57 | +main "$@" |
0 commit comments