Open aqeelat opened 3 months ago
cc @jannfis @chengfang
@aqeelat thanks for the proposal! Just share my initial thoughts, and would love to get more input from other community memebers.
There is additional complexity when adding this templating capability. The project needs to maintain this logic, users need to understand the syntax, and app developers need make sure the image-name, image-tag, image-spec values are in sync with values file. Using an image alias holder makes it less direct to link the annotations to fields in values file.
Is your feature request related to a problem? Please describe. When deploying charts with multiple images (such as with app-of-apps), each image must be specified in the annotation. The number of annotations grows a lot when using helm. Essentially, you'd need at least 2x+1 annotations.
Describe the solution you'd like Using a placeholder for the image aliases, with the ability to override it if you want to opt out of the new default method.
This can be done in multiple ways, but essentially, they goal is to give the user the ability to share common annotations between an indeterminate number of image aliases.
For example:
Here, we prefixed the aliases with a $. The controller then should just replace the $ in the annotations with the actual image alias. They're essentially equivalent to:
I'm not a go developer but I assume implementing this could be done by adding the logic below to this group of methods:
This can be further enhanced by supporting multiple alias groups:
Describe alternatives you've considered
Additional context I don't know enough Go to open a PR but I would like to help with any discussions related to this feature.