Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Helm: Standardize and expand image configuration #3726

Open
fhennig opened this issue Feb 21, 2025 · 0 comments
Open

Helm: Standardize and expand image configuration #3726

fhennig opened this issue Feb 21, 2025 · 0 comments
Labels
deployment Code changes targetting the deployment infrastructure feature Feature proposal refactoring Code requires refactoring

Comments

@fhennig
Copy link
Contributor

fhennig commented Feb 21, 2025

I would like to have a way to override specifically the backend image, but more generally probably all images that the Helm Chart uses, and I'd like to be able to do so in a unified way. Additionally I'd like to specify pull policies (i.e. not use 'Always') so I can easily use local images. I want to be able to do this to easily test my own versions of specific components.

Why do I want to do this? I want to use tilt for local testing of specifically the website and backend, and so I need to specify the settings above through the Helm Chart.

Current situation

Lapis and silo images are specified like this:

images:
  lapisSilo: "ghcr.io/genspectrum/lapis-silo:0.5.3"
  lapis: "ghcr.io/genspectrum/lapis:0.3.14"

A website image can be specified as customWebsiteImage.

For the backend, this is hardcoded: "ghcr.io/loculus-project/backend:{{ $dockerTag }}" and the dockerTag can be specified as loculus.dockerTag. The imagePullPolicy is not configurable and set to Always.

Proposed new structure

expand the images config section with more keys and add website and backend to it:

images:
  lapisSilo:
    repository: "ghcr.io/genspectrum/lapis-silo"
    tag: "0.5.3"
    pullPolicy: "IfNotPresent"

  lapis:
    repository: "ghcr.io/genspectrum/lapis"
    tag: "0.3.14"
    pullPolicy: "IfNotPresent"

  website:
    repository: ...
    tag: ...

  backend: ...

This would allow users to configure the settings mentioned above, and also make images be configured in one, unified way. Specifying just the dockerTag for the backend would still be possible, and also we can set imagePullPolicy Always as the default, so no functionality would be lost, only structure would change slightly.

It would be a breaking change, but we could also avoid breaking by making the old config settings still valid, just deprecated (to be decided).

How would it be implemented?

  • Adjust values.yaml and schema
  • Adjust github Jobs (possibly)
  • Maybe adjust the deploy.py script?
@fhennig fhennig changed the title Helm: Standardize image configuration Helm: Standardize and expand image configuration Feb 21, 2025
@fhennig fhennig added refactoring Code requires refactoring deployment Code changes targetting the deployment infrastructure feature Feature proposal labels Feb 21, 2025
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 feature Feature proposal refactoring Code requires refactoring
Projects
None yet
Development

No branches or pull requests

1 participant