feat(node2): Add scripts and docs for NODE2 guardian setup

- Add start-node2-guardian.sh script for easy launch
- Add setup-node2-agents.sh to update node_id for NODE2 agents
- Add NODE2_GUARDIAN_QUICKSTART.md with detailed instructions
- Update agents node_id to node-2-macbook-m4max
This commit is contained in:
Apple
2025-12-02 06:59:48 -08:00
parent 92d8efa5b3
commit 80123fd1be
3 changed files with 257 additions and 0 deletions

29
scripts/setup-node2-agents.sh Executable file
View File

@@ -0,0 +1,29 @@
#!/bin/bash
# Setup agents for NODE2 - update node_id for agents that should be on NODE2
set -e
echo "🔧 Setting up agents for NODE2..."
# List of agent IDs that should be on NODE2
# You can modify this list based on your needs
NODE2_AGENTS=(
"ag_atlas"
"ag_builder"
"ag_greeter"
"ag_oracle"
)
NODE_ID="node-2-macbook-m4max"
# Update node_id for each agent
for agent_id in "${NODE2_AGENTS[@]}"; do
echo " Updating $agent_id to node_id=$NODE_ID..."
ssh root@144.76.224.179 "docker exec daarion-postgres psql -U postgres -d daarion -c \"UPDATE agents SET node_id = '$NODE_ID' WHERE id = '$agent_id' AND (node_id IS NULL OR node_id = '');\""
done
echo "✅ Agents updated for NODE2"
echo ""
echo "Verifying..."
ssh root@144.76.224.179 "docker exec daarion-postgres psql -U postgres -d daarion -c \"SELECT id, display_name, node_id, status FROM agents WHERE node_id = '$NODE_ID' ORDER BY display_name;\""

50
scripts/start-node2-guardian.sh Executable file
View File

@@ -0,0 +1,50 @@
#!/bin/bash
# Start Node Guardian for NODE2 (MacBook)
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
cd "$PROJECT_ROOT"
# Check if Python 3 is available
if ! command -v python3 &> /dev/null; then
echo "❌ Python 3 is not installed"
exit 1
fi
# Check if httpx is installed
if ! python3 -c "import httpx" 2>/dev/null; then
echo "⚠️ httpx not installed. Installing..."
pip3 install httpx
fi
# Set environment variables
export NODE_ID="node-2-macbook-m4max"
export NODE_NAME="НОДА2"
export NODE_ENVIRONMENT="development"
export NODE_ROLES="gpu,ai_runtime"
export NODE_HOSTNAME="$(hostname)"
export CITY_SERVICE_URL="https://daarion.space/api/city"
export NODE_SWAPPER_URL="http://localhost:8890"
export NODE_ROUTER_URL="http://localhost:9102"
export GUARDIAN_INTERVAL="60"
echo "🚀 Starting Node Guardian for NODE2..."
echo " Node ID: $NODE_ID"
echo " City Service: $CITY_SERVICE_URL"
echo " Swapper URL: $NODE_SWAPPER_URL"
echo " Router URL: $NODE_ROUTER_URL"
echo ""
# Run node-guardian-loop
python3 "$PROJECT_ROOT/scripts/node-guardian-loop.py" \
--node-id "$NODE_ID" \
--node-name "$NODE_NAME" \
--city-url "$CITY_SERVICE_URL" \
--environment "$NODE_ENVIRONMENT" \
--roles "$NODE_ROLES" \
--hostname "$NODE_HOSTNAME" \
--interval "$GUARDIAN_INTERVAL"