feat(deployment,website): Split website organism configs into separate ConfigMaps#6447
feat(deployment,website): Split website organism configs into separate ConfigMaps#6447theosanderson-agent wants to merge 9 commits into
Conversation
|
Claude finished @theosanderson's task in 3m 35s —— View job Code Review
Overall this is a clean, well-motivated change. The size numbers in the PR description make the need obvious, the Helm splitting logic is straightforward, and the website-side merge is simple and well-tested. A few small things to tighten up: Inline comments posted:
Nothing blocking; the core approach is sound and the test for split-config merging in |
Summary
Splits the website organism configuration out of the monolithic
loculus-website-configConfigMap into one ConfigMap per organism. The website now readswebsite_config.jsonplus optionalorganisms/*.jsonfiles and merges them at startup.This keeps generated website organism config data out of a single Kubernetes object so instances with many or large organisms stay comfortably below the ConfigMap/Secret object size limit.
Implementation
loculus-website-configwith global website config only and oneloculus-web-org-config-*ConfigMap per organism.organisms/*.jsonlands under the sameCONFIG_DIR.deploy.py configto generate split local test config files.Size check
Using current Pathoplexus values with the Bundibugyo organism branch:
loculus-website-config: 976,493 bytes ofwebsite_config.jsonloculus-website-config: 2,568 bytes ofwebsite_config.jsonin the main renderloculus-web-org-config-mpox)loculus-backend-config), about 11.75% of 1 MiBThe reconstructed split website config matches the old monolithic website config for the Pathoplexus main render.
🚀 Preview: Add
previewlabel to enable