Skip to main content

Registration Service — Deployment Topology

Status: populated Owner: TBD Last updated: 2026-04-17 Companion: Service Template

1. Runtime

PropertyValue
RuntimeNode.js 22 / NestJS 11
LanguageTypeScript 5.x
Package@ghasi/service-registration
Default port3003
Base imagenode:22-alpine

2. Replicas and Scaling

EnvironmentMin replicasMax replicasScaling trigger
Development11
Staging24CPU > 60% or RPS > 100
Production310CPU > 60% or RPS > 500

Horizontal Pod Autoscaler (HPA) based on CPU utilization and custom metric registration_active_requests.

3. Kubernetes Resource Requests

ResourceRequestLimit
CPU250m1000m
Memory256Mi512Mi

4. Regional Deployment

RegionNotes
Afghanistan (Kabul DC)Primary; data residency required
UAESecondary tenant region
DR regionRead replica of DB; no writes

No cross-region patient data replication unless within same jurisdiction per data residency policy.

5. Dependencies

DependencyPurposeRequired
PostgreSQL 16 (with pg_trgm)Primary data storeYes
RedisIdempotency key store (24h TTL)Yes
NATS JetStreamEvent publishing (outbox relay)Yes
KeycloakJWT validation via JWKSYes
config-serviceTenant configuration lookupsYes
terminology-serviceVocabulary/code lookupsSoft (fail-open)
audit-serviceAudit event emissionYes
Object storage (S3-compatible)Portrait binary storageSoft (portrait feature)

6. Deployment Diagram