Open pcm32 opened 5 years ago
The same happens with the containers_resolvers_conf.xml that I'm trying to use from the container.
I could put the file in a different path and then point from the galaxy.yml config file to those... but maybe this is a workaround and the fact that configs:
doesn't contain a file should be enough for it not to be injected by the chart...
To my understanding, the way Helm values work is that values.yml
is the default and any configs not specified in the new values
file or with --set
will always inherit from that default file, meaning that for the ones we pre-specified, not adding them does not mean they do not exist but rather that the values won't be changed.
I believe the reason we included those config files specifically is that they are in most cases needed. Is there any particular reason for baking the config files into the image rather than specifying them through values? The only way that I can think to not have this problem is remove all configs from the default values file (or maybe only keep the galaxy.yml
and mark it as mandatory) and have a values-minimal, values-cvmfs, etc... with configs, but I believe that will essentially make the default chart unusable out of the box, which I think is not good helm practice.
Changing galaxy.yml
to point at a different location and putting the baked in files there seems like a decent workaround. Perhaps we should invert it and leave the default config location intact to be somewhat more compatible with pre-built galaxy images and by default have the configs from the configmap nested one more down so that they are in their own directory as to make it easier to ignore them?
In addition to what Alex said, there's already a null/empty check in place: https://github.com/CloudVE/galaxy-kubernetes/blob/666f36537741d41cf7b167cfecc4da571d04146b/galaxy/templates/configs-galaxy.yaml#L18 so the idea was that you could set the entry to null in your values file if you just want to revert to the container version.
configs:
job_conf.xml: ~
Alternatively, you can also try helm install --set "configs.job_conf\.xml"=null
I tried using the setup with a container that extends galaxy/galaxy:19.05 with all the config files that I use in my previous setup (as it also contains whitelists, dynamic destinations, etc), but even if I don't set
configs.<some-config> = file-content
, these files get mounted from the config files, overriding the ones I want to use.I used the following helm config file with the chart:
doing:
Then, inside the running container on k8s, I see the file injected by the chart for
job_conf.xml
instead of what I loaded into the container specified.