chore: full stack stability and migration fixes, plus react UI progress
This commit is contained in:
@@ -3,10 +3,10 @@
|
||||
|
||||
set -e
|
||||
|
||||
SERVER1_IP="10.0.0.1"
|
||||
SERVER2_IP="10.0.0.2"
|
||||
SERVER3_IP="10.0.0.3"
|
||||
SERVER4_IP="10.0.0.4"
|
||||
SERVER1_IP="10.0.1.1" # Manually override these if not using Terraform
|
||||
SERVER2_IP="10.0.1.2"
|
||||
SERVER3_IP="10.0.1.3"
|
||||
SERVER4_IP="10.0.1.4"
|
||||
DEPLOY_PATH="/opt/madbase"
|
||||
|
||||
echo "🚀 Deploying MadBase 4-Server Architecture..."
|
||||
@@ -22,9 +22,13 @@ deploy_to_server() {
|
||||
|
||||
if [ -n "$env_file" ]; then
|
||||
scp $env_file root@$server_ip:$DEPLOY_PATH/.env
|
||||
ssh root@$server_ip "echo 'SERVER1_IP=10.0.1.1' >> $DEPLOY_PATH/.env"
|
||||
ssh root@$server_ip "echo 'SERVER2_IP=10.0.1.2' >> $DEPLOY_PATH/.env"
|
||||
ssh root@$server_ip "echo 'SERVER3_IP=10.0.1.3' >> $DEPLOY_PATH/.env"
|
||||
ssh root@$server_ip "echo 'SERVER4_IP=10.0.1.4' >> $DEPLOY_PATH/.env"
|
||||
fi
|
||||
|
||||
if [[ "$server_ip" =~ (10.0.0.2|10.0.0.3|10.0.0.4) ]]; then
|
||||
if [[ "$server_ip" =~ (10.0.1.2|10.0.1.3|10.0.1.4) ]]; then
|
||||
scp autobase-haproxy.cfg root@$server_ip:$DEPLOY_PATH/
|
||||
fi
|
||||
|
||||
@@ -32,44 +36,38 @@ deploy_to_server() {
|
||||
echo "✅ Files copied to $server_ip"
|
||||
}
|
||||
|
||||
echo "📡 Server 1: Control Plane"
|
||||
deploy_to_server $SERVER1_IP "docker-compose.4server.server1.yml" ""
|
||||
echo "📡 Server 1: Control Plane & Monitoring"
|
||||
deploy_to_server $SERVER1_IP "deploy/hetzner/server1.compose.yml" ".env"
|
||||
scp prometheus.yml root@$SERVER1_IP:$DEPLOY_PATH/
|
||||
echo ""
|
||||
|
||||
echo "🗄️ Server 2: Worker 1 + Autobase Node 1"
|
||||
deploy_to_server $SERVER2_IP "docker-compose.4server.server2.yml" "env/autobase.4server.server2.env"
|
||||
echo "🗄️ Server 2: Pillar Node 1 (DB + Worker + HAProxy)"
|
||||
deploy_to_server $SERVER2_IP "deploy/hetzner/server2.compose.yml" ".env"
|
||||
echo ""
|
||||
|
||||
echo "📊 Server 3: Workers 3,4 + Autobase Node 2"
|
||||
deploy_to_server $SERVER3_IP "docker-compose.4server.server3.yml" "env/autobase.4server.server3.env"
|
||||
echo "📊 Server 3: Pillar Node 2 (DB + Worker + Redis)"
|
||||
deploy_to_server $SERVER3_IP "deploy/hetzner/server3.compose.yml" ".env"
|
||||
echo ""
|
||||
|
||||
echo "🗄️ Server 4: Worker 5 + Autobase Node 3"
|
||||
deploy_to_server $SERVER4_IP "docker-compose.4server.server4.yml" "env/autobase.4server.server4.env"
|
||||
echo "🗄️ Server 4: Pillar Node 3 (DB + Worker)"
|
||||
deploy_to_server $SERVER4_IP "deploy/hetzner/server4.compose.yml" ".env"
|
||||
echo ""
|
||||
|
||||
echo "🔄 Starting Autobase cluster..."
|
||||
for server in $SERVER2_IP $SERVER3_IP $SERVER4_IP; do
|
||||
ssh root@$server "cd $DEPLOY_PATH && podman-compose up -d etcd patroni haproxy"
|
||||
echo "🛠️ Installing Systemd Self-Healing..."
|
||||
for server in $SERVER1_IP $SERVER2_IP $SERVER3_IP $SERVER4_IP; do
|
||||
scp deploy/hetzner/madbase.service root@$server:/etc/systemd/system/
|
||||
ssh root@$server "systemctl daemon-reload && systemctl enable madbase && systemctl restart madbase"
|
||||
done
|
||||
echo ""
|
||||
|
||||
echo "⏳ Waiting for etcd cluster (30s)..."
|
||||
sleep 30
|
||||
|
||||
echo "🔍 Verifying Autobase cluster..."
|
||||
echo "🔍 Verifying Patroni cluster..."
|
||||
for server in $SERVER2_IP $SERVER3_IP $SERVER4_IP; do
|
||||
state=$(curl -s http://$server:8008/patroni/info | jq -r '.state // "unknown"')
|
||||
role=$(curl -s http://$server:8008/patroni/info | jq -r '.role // "unknown"')
|
||||
echo " $server: $state ($role)"
|
||||
role=$(curl -s http://$server:8008/patroni/role | jq -r '.' || echo "unknown")
|
||||
echo " $server role: $role"
|
||||
done
|
||||
echo ""
|
||||
|
||||
echo "🚀 Starting application services..."
|
||||
ssh root@$SERVER1_IP "cd $DEPLOY_PATH && podman-compose up -d"
|
||||
ssh root@$SERVER2_IP "cd $DEPLOY_PATH && podman-compose up -d worker1"
|
||||
ssh root@$SERVER3_IP "cd $DEPLOY_PATH && podman-compose up -d worker3 worker4 victoriametrics loki"
|
||||
ssh root@$SERVER4_IP "cd $DEPLOY_PATH && podman-compose up -d worker5"
|
||||
|
||||
echo ""
|
||||
echo "🎉 Deployment complete!"
|
||||
echo "🎉 Deployment complete and self-healing enabled!"
|
||||
|
||||
Reference in New Issue
Block a user