Split website organism configs#6447
Draft
theosanderson-agent wants to merge 3 commits into
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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, 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
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.
Checks
helm lint kubernetes/loculus -f kubernetes/loculus/values.yamlhelm templatefor Pathoplexus demo/main/production/staging valuespython3.12 deploy.py configpython3.12 -m py_compile deploy.pynpm run test-fast -- src/config.spec.tsnpm run check-types(passes with existinglatestVersionhint)npm run check-formatgit diff --check🚀 Preview: Add
previewlabel to enable