97 lines
2.5 KiB
Bash
Executable File
97 lines
2.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
DEBUG_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
REPO_ROOT="$(cd "$DEBUG_ROOT/../../.." && pwd)"
|
|
ENV_FILE="$DEBUG_ROOT/.env"
|
|
|
|
source "$REPO_ROOT/scripts/common/build_user.sh"
|
|
load_build_user
|
|
|
|
if [[ -f "$ENV_FILE" ]]; then
|
|
set -a
|
|
# shellcheck disable=SC1090
|
|
source "$ENV_FILE"
|
|
set +a
|
|
fi
|
|
|
|
SYS_DEBUG_NETWORK_NAME=${SYS_DEBUG_NETWORK_NAME:-argus-debug-net}
|
|
SYS_DEBUG_NETWORK_SUBNET=${SYS_DEBUG_NETWORK_SUBNET:-172.30.0.0/16}
|
|
SYS_DEBUG_NETWORK_GATEWAY=${SYS_DEBUG_NETWORK_GATEWAY:-172.30.0.1}
|
|
SYS_DEBUG_PROJECT_NAME=${SYS_DEBUG_PROJECT_NAME:-argus-debug}
|
|
SYS_DEBUG_CONTAINER_PREFIX=${SYS_DEBUG_CONTAINER_PREFIX:-argus-debug}
|
|
SYS_DEBUG_PRIVATE_CORE=${SYS_DEBUG_PRIVATE_CORE:-$DEBUG_ROOT/private}
|
|
SYS_DEBUG_PRIVATE_NODEA=${SYS_DEBUG_PRIVATE_NODEA:-$DEBUG_ROOT/private-nodea}
|
|
SYS_DEBUG_PRIVATE_NODEB=${SYS_DEBUG_PRIVATE_NODEB:-$DEBUG_ROOT/private-nodeb}
|
|
SYS_DEBUG_TMP_DIR=${SYS_DEBUG_TMP_DIR:-$DEBUG_ROOT/tmp}
|
|
ARGUS_BUILD_UID=${ARGUS_BUILD_UID:-2133}
|
|
ARGUS_BUILD_GID=${ARGUS_BUILD_GID:-2015}
|
|
|
|
SYS_DEBUG_NODEA_HOST=${SYS_DEBUG_NODEA_HOST:-dev-yyrshare-nbnyx10-cp2f-pod-0}
|
|
SYS_DEBUG_NODEB_HOST=${SYS_DEBUG_NODEB_HOST:-dev-yyrshare-uuuu10-ep2f-pod-0}
|
|
|
|
HOST_A="$SYS_DEBUG_NODEA_HOST"
|
|
HOST_B="$SYS_DEBUG_NODEB_HOST"
|
|
|
|
COMPOSE_FILE="$DEBUG_ROOT/docker-compose.yml"
|
|
|
|
abs_path() {
|
|
python3 - "$1" <<'PY'
|
|
import os, sys
|
|
path = sys.argv[1]
|
|
print(os.path.abspath(path))
|
|
PY
|
|
}
|
|
|
|
ensure_command() {
|
|
local cmd="$1"
|
|
if ! command -v "$cmd" >/dev/null 2>&1; then
|
|
echo "[ERR] Required command '$cmd' not found" >&2
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
require_docker() {
|
|
ensure_command docker
|
|
}
|
|
|
|
compose() {
|
|
require_docker
|
|
local bin
|
|
if docker compose version >/dev/null 2>&1; then
|
|
bin=(docker compose)
|
|
else
|
|
bin=(docker-compose)
|
|
fi
|
|
"${bin[@]}" -p "$SYS_DEBUG_PROJECT_NAME" -f "$COMPOSE_FILE" "$@"
|
|
}
|
|
|
|
ensure_paths_defined() {
|
|
local missing=()
|
|
for name in SYS_DEBUG_PRIVATE_CORE SYS_DEBUG_PRIVATE_NODEA SYS_DEBUG_PRIVATE_NODEB SYS_DEBUG_TMP_DIR; do
|
|
if [[ -z "${!name:-}" ]]; then
|
|
missing+=("$name")
|
|
fi
|
|
done
|
|
if (( ${#missing[@]} > 0 )); then
|
|
echo "[ERR] Missing required environment variables: ${missing[*]}" >&2
|
|
echo " Run 01_bootstrap.sh first." >&2
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
ensure_env_file() {
|
|
if [[ ! -f "$ENV_FILE" ]]; then
|
|
echo "[ERR] Missing .env at $ENV_FILE. Run 01_bootstrap.sh first." >&2
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
log() {
|
|
echo "[INFO] $*"
|
|
}
|
|
|
|
TMP_DIR="$SYS_DEBUG_TMP_DIR"
|
|
mkdir -p "$TMP_DIR"
|