High availability starts with shared services, not wishful thinking.

This is the minimum public high-availability posture for self-hosted urgentry. If the stack still depends on one local Tiny-mode data directory, it is not HA. It is hope.

4 rolesapi, ingest, worker, and scheduler all need a durable home.
4 backendsPostgreSQL, blob storage, cache, and async work need to be shared and durable.
Smoke requiredThe topology is not ready until the smoke path passes against the deployed stack.
Backups matterHA claims without backup and restore practice are mostly performance art.

These are the minimum backends.

Data plane

  • PostgreSQL for the control and telemetry stores
  • MinIO or another S3-compatible blob store

Shared coordination

  • Valkey for shared cache and guard state
  • NATS with JetStream for async work

Run every role on durable infrastructure.

Minimum role count

  • at least one api process
  • at least one ingest process
  • at least one worker process
  • at least one scheduler process

What disqualifies the label

  • one local Tiny-mode data directory
  • unexercised backup and restore
  • missing maintenance-mode runbook

Before you call an install HA-ready.

Operational proof

  • The stack boots cleanly through Compose or the Kubernetes path
  • Backup and restore are documented and exercised for your environment
  • Maintenance mode is wired into the operator runbook
smoke check
bash deploy/compose/smoke.sh up

Next docs

Use the deployment guide to build the stack, or jump to maintenance mode once you are writing the operator runbook.