Central Instance
Overview
The Central Instance Deployment Model for HCM services takes care of running operations for Mozambique, Liberia, and Nigeria on a single Kubernetes cluster. Data is kept separate through namespace and database schema isolation.
Goals:
Reduce operational effort
Standardize configurations
Avoid duplicate services
Still allow country-specific customisations
This change applies only to application-facing services (not Admin Console or Micro-Planning).
Main updates:
Multi-schema database support
Standardised Kafka topic naming
Updated Flyway migration scripts
Helm and environment configuration improvements for smooth multi-tenant deployments
Key Features
1. Centralised Multi-Tenant Deployment
HCM services for Mozambique, Liberia, and Nigeria are now deployed in a single Kubernetes cluster.
Introduced a common namespace hosting all shared core services:
Shared Core Services: egov-user, workflow, egov-otp,user-otp, MDMS V2, and other backbone modules.
Create dedicated tenant namespaces (e.g., Liberia, Nigeria) for services requiring country-specific customisations such as HRMS.
2. Multi-Schema Database Support
A single PostgreSQL instance now hosts separate schemas (public, liberia, nigeria) to isolate tenant data.
Updated Flyway migration process:
New migrate.sh script loops through all configured schemas automatically.
Ensures all migrations execute across tenants without manual intervention.
Database schema lists and enablement flags are now configurable per service via Helm and environment YAML files.
3. Mobile App Endpoint Segregation
Three separate mobile applications (mz, lb, ng) now connect to tenant-specific URLs, ensuring proper routing and separation of country-level operations.
4. Standardised Kafka Topic Naming
All Kafka topics now use tenant-prefixed names to avoid cross-tenant collisions.
Example:
Mozambique: mz-save-household-topic
Liberia: lb-save-household-topic
Nigeria: ng-save-household-topic
5. Helm and Configuration Updates
Common values.yml now provides baseline DB and service configurations.
App-specific values.yml files override:
Schema lists (db-schemas).
Multi-schema enablement flags.
Most default configurations remain untouched, ensuring backwards compatibility for services not requiring multi-schema support.
6. Centralised Internal Gateway and MDMS v2
Internal Gateway configurations are now maintained centrally in a shared Git repository for easier updates.
MDMS v2 configurations for each tenant are consolidated, ensuring consistent metadata management.
7. Shared vs. Tenant-Specific Services
Common services like Household, Individual, Stock, Facility, Product, Service Request, Egov-HRMS, Project, and Referral are deployed once in the common namespace.
Custom tenant-specific services (e.g., Liberia HRMS, Nigeria HRMS) run in separate namespaces to preserve flexibility without duplicating the entire stack.
Last updated
Was this helpful?