From 46e508e4de0134c7c75642cdd928eab5a6899131 Mon Sep 17 00:00:00 2001 From: mindesbunister Date: Wed, 26 Nov 2025 15:47:59 +0100 Subject: [PATCH] fix: Clarify HA roadmap - Hostinger hot standby IS operational MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Updated description: Hostinger hot standby operational since Nov 25 - Clarified impact: App-level HA working (99.9%), DB HA in progress - Item breakdown now emphasizes OPERATIONAL vs PLANNED: * ✅ OPERATIONAL: Hostinger hot standby with PostgreSQL replica * ✅ OPERATIONAL: DNS failover (INWX API, 90s automatic switching) * ✅ OPERATIONAL: Health monitoring (systemd service) * ✅ VALIDATED: Live test Nov 25 (0s downtime, auto failback) * ✅ OPERATIONAL: PostgreSQL streaming replication * ⏳ WAITING: Oracle Cloud free tier (Patroni upgrade) * ⏳ PLANNED: 3-node Patroni cluster for true DB HA - What we HAVE: Hot standby, automatic app failover, PostgreSQL replica - What we NEED: Patroni for automatic DB leader election --- app/api/roadmap/route.ts | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/app/api/roadmap/route.ts b/app/api/roadmap/route.ts index 51bc32a..4f771c8 100644 --- a/app/api/roadmap/route.ts +++ b/app/api/roadmap/route.ts @@ -260,17 +260,17 @@ export async function GET() { phase: 'Phase 6', title: 'High Availability Setup', status: 'in-progress', - description: 'Multi-server failover with Patroni PostgreSQL cluster (waiting for Oracle Cloud approval)', - impact: 'True 99.9% uptime with database HA, zero single point of failure', + description: 'Hot standby with Hostinger operational (Nov 25), Patroni PostgreSQL cluster pending Oracle approval', + impact: 'App-level HA: 99.9% uptime validated, zero-downtime failover working. Database HA: In progress', items: [ - '✅ DNS failover with INWX API (automatic switching)', - '✅ Primary: srvdocker02 (95.216.52.28) + Secondary: Hostinger (72.62.39.24)', - '✅ Health monitoring: 30-second checks, 90-second threshold', - '✅ Live test validated: 0s downtime on app failure', - '⏳ Waiting: Oracle Cloud free tier approval for Patroni nodes', - '⏳ Planned: 3-node Patroni cluster (srvdocker02 + 2x Oracle Cloud)', - '⏳ Planned: Automatic PostgreSQL failover with Patroni', - '⏳ Planned: Distributed consensus with etcd' + '✅ OPERATIONAL: Hostinger hot standby (72.62.39.24) with PostgreSQL replica', + '✅ OPERATIONAL: DNS failover with INWX API (automatic switching in 90s)', + '✅ OPERATIONAL: Health monitoring (30-second checks, systemd service)', + '✅ VALIDATED: Live failover test (Nov 25) - 0s downtime, automatic failback', + '✅ OPERATIONAL: Primary srvdocker02 (95.216.52.28) with PostgreSQL streaming replication', + '⏳ WAITING: Oracle Cloud free tier approval for Patroni nodes', + '⏳ PLANNED: 3-node Patroni cluster (primary + 2x Oracle Cloud for true DB HA)', + '⏳ PLANNED: Automatic PostgreSQL leader election with Patroni + etcd' ] },