Page MenuHomePhabricator

Separate secrets from config at rest so main config can be public
Closed, ResolvedPublic

Description

The current setup of a local config file in the tool's $HOME that includes both the secrets and non-secret config works well for running, but makes sharing the config with the community difficult. It would be nicer to change things so that config is assembled from a combination of public and private configs.

There are many ways this could be done. One that might actually solve some other issues would be to use an init container and a non-persistent volume to merge config at pod startup into a volume and then mount that volume from the main container. The additional issue that could be solved with this is also putting the remotenickformat.tengo script into the volume so that its reads are not hits against NFS.

A lower tech method would just be doing whatever the merge operation is in the tool's $HOME before starting the pod.

Event Timeline

If the init container method is used, it might be interesting to use https://kubernetes.io/docs/concepts/configuration/secret/ to store the various passwords and tokens that are needed in the config.

bd808 claimed this task.
bd808 moved this task from To Do to Done on the Tool-bridgebot board.

This was done as part of T363028: Replace custom deployment with build service and job service. I also re-learned about T261988#8700389 during that project. :)