#!/usr/bin/env bash set -Eeuo pipefail if [[ ${EUID:-$(id -u)} -ne 0 ]]; then echo "Run this installer as root" >&2 exit 2 fi project_root=${PLATFORM_ROOT:-/opt/data-terminal-cloud/current} install -d -m 0700 /etc/data-terminal-cloud install -d -m 0750 /var/lib/data-terminal-cloud-monitor platform_env="$project_root/deploy/server/.env" if [[ -r "$platform_env" && ! -s /etc/data-terminal-cloud/platform-health-callback-secret ]]; then platform_health_secret=$(sed -n 's/^PLATFORM_HEALTH_CALLBACK_SECRET=//p' "$platform_env" | head -n1) if (( ${#platform_health_secret} >= 32 )); then umask 077 printf '%s\n' "$platform_health_secret" >/etc/data-terminal-cloud/platform-health-callback-secret fi fi if [[ -s /etc/data-terminal-cloud/platform-health-callback-secret ]]; then chmod 0600 /etc/data-terminal-cloud/platform-health-callback-secret fi if [[ ! -s /etc/data-terminal-cloud/monitor-webhook-secret ]]; then umask 077 openssl rand -base64 48 >/etc/data-terminal-cloud/monitor-webhook-secret fi chmod 0600 /etc/data-terminal-cloud/monitor-webhook-secret if [[ ! -e /etc/data-terminal-cloud/monitor.env ]]; then public_origin=$(sed -n 's/^PUBLIC_ORIGIN=//p' "$platform_env" 2>/dev/null | head -n1) report_url= if [[ "$public_origin" == https://* && -s /etc/data-terminal-cloud/platform-health-callback-secret ]]; then report_url="$public_origin/callbacks/v1/platform-health" fi cat >/etc/data-terminal-cloud/monitor.env <