Architecture
The production entry point is https://asi-database-node-api.arybit.co.ke.
Nginx terminates HTTPS and proxies API requests to a loopback FastAPI process. The root URL redirects to the operator console. Static administration assets in ui/ are served at /admin/; documentation in ui/doc/ is served at /admin/doc/.
backend/app.py: middleware, application metadata and local interactive docs.backend/api/routes.py: health, readiness and build diagnostics.backend/core/database.py: bounded PostgreSQL/MySQL SELECT 1 probe.Database/migrate.py: checksum validation and gated PostgreSQL migrations.Database/postgresql/: experimental tenant and ledger foundation.Database/*.sql: legacy MySQL module stream, disabled in its manifest.deploy-database-api/coordinator.py: workstation and Azure orchestration.deploy-database-api/remote.py: VM phases, release promotion, proxy, backup and rollback.
A successful readiness probe establishes connectivity only. It does not test module parity, tenant isolation, restore reliability or business operations.
The loopback operator service (dns_setup.py and console_ops.py) authenticates console requests before serving deployment state, service journals, SQL operations and lifecycle jobs. SQL executes as the application OS user through backend/console_worker.py, with the runtime database identity. The service invokes the existing checksummed migration, encrypted backup, isolated restore and release lifecycle tools.