Skip to content

Split website organism configs#6447

Draft
theosanderson-agent wants to merge 3 commits into
mainfrom
codex/split-website-organism-configs
Draft

Split website organism configs#6447
theosanderson-agent wants to merge 3 commits into
mainfrom
codex/split-website-organism-configs

Conversation

@theosanderson-agent
Copy link
Copy Markdown
Collaborator

@theosanderson-agent theosanderson-agent commented May 15, 2026

Summary

Splits the website organism configuration out of the monolithic loculus-website-config ConfigMap into one ConfigMap per organism. The website now reads website_config.json plus optional organisms/*.json files and merges them at startup, while still supporting monolithic/local configs.

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

  • Render loculus-website-config with global website config only and one loculus-web-org-config-* ConfigMap per organism.
  • Mount the website config through a projected volume so organisms/*.json lands under the same CONFIG_DIR.
  • Update deploy.py config to generate split local test config files.
  • Document the optional split config layout and ignore generated split config fixtures.

Size check

Using current Pathoplexus values with the Bundibugyo organism branch:

  • old monolithic loculus-website-config: 976,493 bytes of website_config.json
  • new global loculus-website-config: 2,568 bytes of website_config.json in the main render
  • largest split organism ConfigMap: 81,638 bytes (loculus-web-org-config-mpox)
  • largest ConfigMap/Secret data block across demo/main/production/staging: ~123.2 KB (loculus-backend-config), about 11.75% of 1 MiB

The reconstructed split website config matches the old monolithic website config for the Pathoplexus main render.

Checks

  • helm lint kubernetes/loculus -f kubernetes/loculus/values.yaml
  • helm template for Pathoplexus demo/main/production/staging values
  • python3.12 deploy.py config
  • python3.12 -m py_compile deploy.py
  • npm run test-fast -- src/config.spec.ts
  • npm run check-types (passes with existing latestVersion hint)
  • npm run check-format
  • git diff --check

🚀 Preview: Add preview label to enable

@claude claude Bot added website Tasks related to the web application deployment Code changes targetting the deployment infrastructure labels May 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

deployment Code changes targetting the deployment infrastructure website Tasks related to the web application

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants