Files
blackroad-agent-nlp/deploy-nlp.sh

65 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
# Deploy BlackRoad Agent NLP to fleet
# Usage: ./deploy-nlp.sh [host|all]
set -e
NLP_DIR="/opt/blackroad/nlp"
HOSTS="cecilia lucidia octavia aria"
deploy_to_host() {
local host=$1
echo "━━━ Deploying to $host ━━━"
# Create directory
ssh $host "sudo mkdir -p $NLP_DIR && sudo chown \$(whoami) $NLP_DIR"
# Copy files
scp nlp_core.py agent_nlp_service.py $host:$NLP_DIR/
# Create systemd service
ssh $host "cat > /tmp/blackroad-nlp.service << 'EOF'
[Unit]
Description=BlackRoad Agent NLP Service
After=network.target ollama.service
Wants=ollama.service
[Service]
Type=simple
WorkingDirectory=$NLP_DIR
Environment=\"AGENT_NAME=\$(hostname)\"
Environment=\"NLP_MODEL=llama3.2:3b\"
Environment=\"NLP_PORT=4020\"
Environment=\"SAFE_MODE=true\"
ExecStart=/usr/bin/python3 $NLP_DIR/agent_nlp_service.py
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
sudo mv /tmp/blackroad-nlp.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable blackroad-nlp.service
sudo systemctl restart blackroad-nlp.service"
# Verify
sleep 2
ssh $host "systemctl status blackroad-nlp.service --no-pager | head -10"
echo ""
}
if [ "$1" = "all" ] || [ -z "$1" ]; then
for host in $HOSTS; do
deploy_to_host $host
done
echo "✅ Deployed to all hosts"
elif [ -n "$1" ]; then
deploy_to_host $1
fi
echo ""
echo "Test with:"
echo " curl http://<host>:4020/health"
echo " curl -X POST http://<host>:4020/process -d '{\"text\":\"check system status\"}'"