#!/bin/sh set -eu if ! set -o pipefail 2>/dev/null; then : fi REPO_ROOT="$(cd "$(dirname "$0")/../../.." && pwd)" cd "${REPO_ROOT}" sh ci/scripts/common/ensure_env_version.sh normalize_env_file() { file="$1" tmp="${file}.tmp.$$" tr -d '\r' <"$file" >"$tmp" mv "$tmp" "$file" } load_env_file() { file="$1" while IFS= read -r line || [ -n "$line" ]; do case "$line" in ''|\#*) continue ;; esac key="${line%%=*}" value="${line#*=}" key="$(printf '%s' "$key" | tr -d '[:space:]')" value="${value#"${value%%[![:space:]]*}"}" value="${value%"${value##*[![:space:]]}"}" export "$key=$value" done <"$file" } NOTIFICATION_ENV_NAME="${NOTIFICATION_ENV:-prod}" RUNTIME_ENV_FILE="./ci/${NOTIFICATION_ENV_NAME}/.env.runtime" if [ ! -f "${RUNTIME_ENV_FILE}" ]; then echo "[notification-deploy] runtime env file not found: ${RUNTIME_ENV_FILE}" >&2 exit 1 fi normalize_env_file "${RUNTIME_ENV_FILE}" normalize_env_file ./.env.version load_env_file "${RUNTIME_ENV_FILE}" load_env_file ./.env.version NOTIFICATION_MONGO_SECRET_PATH="${NOTIFICATION_MONGO_SECRET_PATH:?missing NOTIFICATION_MONGO_SECRET_PATH}" NOTIFICATION_MAIL_SECRET_PATH="${NOTIFICATION_MAIL_SECRET_PATH:?missing NOTIFICATION_MAIL_SECRET_PATH}" NOTIFICATION_API_SECRET_PATH="${NOTIFICATION_API_SECRET_PATH:?missing NOTIFICATION_API_SECRET_PATH}" NOTIFICATION_TELEGRAM_SECRET_PATH="${NOTIFICATION_TELEGRAM_SECRET_PATH:?missing NOTIFICATION_TELEGRAM_SECRET_PATH}" : "${NATS_HOST:?missing NATS_HOST}" : "${NATS_PORT:?missing NATS_PORT}" export MONGO_USER="$(./ci/vlt kv_get kv "${NOTIFICATION_MONGO_SECRET_PATH}" user)" export MONGO_PASSWORD="$(./ci/vlt kv_get kv "${NOTIFICATION_MONGO_SECRET_PATH}" password)" export MAIL_USER="$(./ci/vlt kv_get kv "${NOTIFICATION_MAIL_SECRET_PATH}" user)" export MAIL_SECRET="$(./ci/vlt kv_get kv "${NOTIFICATION_MAIL_SECRET_PATH}" password)" export API_ENDPOINT_SECRET="$(./ci/vlt kv_get kv "${NOTIFICATION_API_SECRET_PATH}" secret)" export TELEGRAM_BOT_TOKEN="$(./ci/vlt kv_get kv "${NOTIFICATION_TELEGRAM_SECRET_PATH}" bot_token)" export TELEGRAM_CHAT_ID="$(./ci/vlt kv_get kv "${NOTIFICATION_TELEGRAM_SECRET_PATH}" chat_id)" TELEGRAM_THREAD_ID="" if TELEGRAM_THREAD_ID_VALUE="$(./ci/vlt kv_get kv "${NOTIFICATION_TELEGRAM_SECRET_PATH}" thread_id 2>/dev/null)"; then TELEGRAM_THREAD_ID="$TELEGRAM_THREAD_ID_VALUE" fi export TELEGRAM_THREAD_ID export NATS_USER="$(./ci/vlt kv_get kv sendico/nats user)" export NATS_PASSWORD="$(./ci/vlt kv_get kv sendico/nats password)" export NATS_URL="nats://${NATS_USER}:${NATS_PASSWORD}@${NATS_HOST}:${NATS_PORT}" bash ci/prod/scripts/bootstrap/network.sh bash ci/prod/scripts/deploy/notification.sh