chore: full stack stability and migration fixes, plus react UI progress
Some checks failed
CI / podman-build (push) Has been cancelled
CI / rust (push) Has been cancelled

This commit is contained in:
2026-03-18 09:01:38 +02:00
parent 38cab8c246
commit a66d908eff
142 changed files with 12210 additions and 3402 deletions

View File

@@ -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!"