Update
Hi everyone!
Here is a recap of what went down in Week Two of the official coding period.
This was a lighter week by commit count but a heavier one by decision quality, two major items moved forward: a significant routing upgrade got merged, and our long-running storage debate reached a community consensus.
What Shipped
Migrated Edge Routing from Nginx Ingress to Traefik Gateway API (openmrs-contrib-cluster PR #12 — Merged
Replaced the legacy ingress-nginx controller with the Kubernetes Gateway API powered by Traefik v3.x. Key highlights:
- Introduced a new
helm/traefik-gateway/chart as a cluster-wide, reusable gateway - Replaced all
kind: Ingressresources with nativeHTTPRouteresources in both the backend and frontend charts - Preserved legacy Ingress templates (disabled by default) for compatibility with K8s providers that still rely on classic ingress
- Solved a multi-replica login failure caused by CSRFGuard token mismatch across pods, implemented cookie-based sticky sessions via Gateway API + TraefikService, with automatic activation when
replicaCount > 1
In Review
Replace archived Bitnami MinIO with SeaweedFS (openmrs-contrib-cluster PR #13 — Open):
Following the community discussion on Replacing MinIO with SeaweedFS or Rook/Ceph, and with clear direction from @raff and community member @ranidunethma in favour of SeaweedFS for its simplicity and lightweight developer experience, this PR replaces the unmaintained Bitnami MinIO subchart with the official SeaweedFS chart. Currently addressing one review comment from @raff on whether the filer component is needed in our S3-only setup.
Next Steps
- Land PR #13 (SeaweedFS)
- Begin the
openmrs-operatorHelm chart, the automation layer that bootstraps all prerequisites so a new cluster deployment is a singlehelm installaway - Begin application-level readiness coordination to ensure the OpenMRS app layer waits correctly for all dependent services