chore(repo): sync operator workspace (config, scripts, docs, multi-chain)
Add optional Cosmos/Engine-X/act-runner templates, CWUSDC/EI-matrix tooling, non-EVM route planner in multi-chain-execution (tests passing), token list and extraction updates, and documentation (MetaMask matrix, GRU/CWUSDC packets). Ignore institutional evidence tarballs/sha256 under reports/status. Validated with: bash scripts/verify/run-all-validation.sh --skip-genesis Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
45
scripts/maintenance/npmplus-cluster-placement-status.sh
Executable file
45
scripts/maintenance/npmplus-cluster-placement-status.sh
Executable file
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env bash
|
||||
# Show which Proxmox node hosts NPMplus CTs 10233–10236 (live SSH).
|
||||
# Usage: bash scripts/maintenance/npmplus-cluster-placement-status.sh
|
||||
# Requires: SSH BatchMode to cluster nodes (root@192.168.11.11, .12); extend HOSTS if needed.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
||||
|
||||
# shellcheck source=/dev/null
|
||||
[[ -f "$PROJECT_ROOT/config/ip-addresses.conf" ]] && source "$PROJECT_ROOT/config/ip-addresses.conf" 2>/dev/null || true
|
||||
|
||||
SSH_OPTS=(-o BatchMode=yes -o ConnectTimeout=12 -o StrictHostKeyChecking=no)
|
||||
|
||||
HOSTS=(
|
||||
"${PROXMOX_HOST_R630_01:-192.168.11.11}:r630-01"
|
||||
"${PROXMOX_HOST_R630_02:-192.168.11.12}:r630-02"
|
||||
"${PROXMOX_HOST_R630_03:-192.168.11.13}:r630-03"
|
||||
"${PROXMOX_HOST_R630_04:-192.168.11.14}:r630-04"
|
||||
)
|
||||
|
||||
echo "=== NPMplus CT placement (VMIDs 10233–10236) ==="
|
||||
echo ""
|
||||
|
||||
for entry in "${HOSTS[@]}"; do
|
||||
ip="${entry%%:*}"
|
||||
label="${entry##*:}"
|
||||
echo "--- $label ($ip) ---"
|
||||
if ssh "${SSH_OPTS[@]}" "root@$ip" "pct list | grep -E '^10233|^10234|^10235|^10236' || true" 2>/dev/null; then
|
||||
:
|
||||
else
|
||||
echo "(SSH skipped or failed — check key access to $ip)"
|
||||
fi
|
||||
echo ""
|
||||
done
|
||||
|
||||
echo "=== Quick HTTP :81 (LAN, optional) ==="
|
||||
for ip in 167 168 169 170; do
|
||||
code=$(curl -sS -m 4 -o /dev/null -w "%{http_code}" "http://192.168.11.$ip:81/" 2>/dev/null || echo "fail")
|
||||
echo "192.168.11.$ip:81 -> $code"
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "Target distribution: docs/04-configuration/NPMPLUS_MISSION_CRITICAL_DISTRIBUTION_AND_HA_PLAN.md"
|
||||
25
scripts/maintenance/stop-local-repo-dev-servers.sh
Executable file
25
scripts/maintenance/stop-local-repo-dev-servers.sh
Executable file
@@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env bash
|
||||
# Stop dev helpers started from this repo (not IDE/Cursor, not system DNS).
|
||||
# Safe to run before leaving a workstation; does not touch Besu/RPC/NPM on LAN.
|
||||
#
|
||||
# Usage: bash scripts/maintenance/stop-local-repo-dev-servers.sh
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
_stopped=0
|
||||
for sig in TERM KILL; do
|
||||
if pgrep -f 'forge-verification-proxy/server\.js' >/dev/null 2>&1; then
|
||||
pkill -"$sig" -f 'forge-verification-proxy/server\.js' 2>/dev/null || true
|
||||
_stopped=1
|
||||
fi
|
||||
if pgrep -f 'serve_explorer_spa\.py' >/dev/null 2>&1; then
|
||||
pkill -"$sig" -f 'serve_explorer_spa\.py' 2>/dev/null || true
|
||||
_stopped=1
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ "$_stopped" == 1 ]]; then
|
||||
echo "Stopped forge-verification-proxy and/or serve_explorer_spa.py (if running)."
|
||||
else
|
||||
echo "No forge-verification-proxy or serve_explorer_spa.py processes found."
|
||||
fi
|
||||
Reference in New Issue
Block a user