GSOC 2026: Support for horizontal scaling of OpenMRS instances.

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: Ingress resources with native HTTPRoute resources 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-operator Helm chart, the automation layer that bootstraps all prerequisites so a new cluster deployment is a single helm install away
  • Begin application-level readiness coordination to ensure the OpenMRS app layer waits correctly for all dependent services

Medium blog.

3 Likes