#!/usr/bin/env bash set -e THIS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" ROOT_DIR="${THIS_DIR}/.." SQL_COMPILER_DIR="${ROOT_DIR}/sql-to-dbsp-compiler" MANAGER_DIR="${ROOT_DIR}/crates/pipeline-manager" if [[ -z "${RUST_BUILD_PROFILE+set}" ]]; then RUST_BUILD_PROFILE='--release' fi # if [ "$#" -lt 1 ]; then # echo "Usage '$0 '" # exit 1 # fi cd "${SQL_COMPILER_DIR}" && ./build.sh DEFAULT_BIND_ADDRESS="127.0.0.1" BIND_ADDRESS="${2:-$DEFAULT_BIND_ADDRESS}" set -ex # If $WITH_POSTGRES is defined, manager should use a real Postgres server # instead of embedded postgresql. if [ -z "$WITH_POSTGRES" ]; then DB_CONNECTION_STRING="--db-connection-string=postgres-embed" else DB_CONNECTION_STRING="--db-connection-string=postgresql://${PGUSER}@localhost" fi manager_pid=$(pgrep "pipeline-mana" || echo "") if [ -n "$manager_pid" ]; then echo "Previous manager instance is running" exit 1 fi cd "${MANAGER_DIR}" && ~/.cargo/bin/cargo build $RUST_BUILD_PROFILE cd "${ROOT_DIR}" && ~/.cargo/bin/cargo run --bin pipeline-manager $RUST_BUILD_PROFILE $PG_EMBED -- \ --bind-address="${BIND_ADDRESS}" \ ${DB_CONNECTION_STRING}