feat(http-add-on): allow override of specific component image tag#760
feat(http-add-on): allow override of specific component image tag#760ilia-medvedev wants to merge 2 commits intokedacore:mainfrom
Conversation
Signed-off-by: Ilia Medvedev <ilia.medvedev@codefresh.io>
Signed-off-by: Ilia Medvedev <ilia.medvedev@codefresh.io>
There was a problem hiding this comment.
Pull Request Overview
This PR adds the ability to override specific component image tags for the http-add-on Helm chart. Previously, all components (operator, scaler, interceptor) would use the same global image tag, but now each component can have its own tag specified individually while still falling back to the global tag if not set.
- Added component-specific
image.tagconfiguration options for operator, scaler, and interceptor - Updated deployment templates to use
coalescefunction for tag resolution with fallback hierarchy - Updated documentation to reflect the new configuration options
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| http-add-on/values.yaml | Added image.tag configuration options for each component with empty string defaults |
| http-add-on/templates/operator/deployment.yaml | Updated image tag to use coalesce function with component-specific fallback |
| http-add-on/templates/scaler/deployment.yaml | Updated image tag to use coalesce function with component-specific fallback |
| http-add-on/templates/interceptor/deployment.yaml | Updated image tag to use coalesce function with component-specific fallback |
| http-add-on/README.md | Added documentation for the new component-specific image tag configuration options |
| imagePullSecrets: [] | ||
| image: | ||
| # -- The tag to use for the operator component image. If not set, the value from `images.tag` will be used. | ||
| tag: "" |
There was a problem hiding this comment.
I understand the reasoning for putting it here but also there is this block
charts/http-add-on/values.yaml
Lines 220 to 242 in a3087c4
I'm wondering if having multiple locations would not be too confusing,
images.tag
operator.image.tag
alternatively we could add
images.operatorTag
wdyt @kedacore/keda-contributors ?
There was a problem hiding this comment.
Looking at this configuration structure, I think the current approach is actually the right design choice.
I think the pattern here follows a logical hierarchy.
The images.tag serves as a global default for all components, while operator.image.tag, scaler.image.tag, and interceptor.image.tag provide component-specific overrides when needed. This gives users flexibility for both.
The commentary given in the code makes it clear to me that it can also be overruled.
There was a problem hiding this comment.
but then there are dedicated fields nested under images level, some per component (image), some shared (tag)
I'm still not sure if having newly proposed structure:
images.tag
images.operator
images.interceptor
images.scaler
operator.image.tag
interceptor.image.tag
scaler.image.tag
is better than, let's say:
images.tag
images.operator
images.interceptor
images.scaler
images.operatorTag
images.interceptorTag
images.scalerTag
the interceptorTag is a bit awkward, I fully acknowledge that, but imho the benefit of having image-related definitions follow the pattern of already established nesting under images might be just easier to use and maintain.
There was a problem hiding this comment.
Probably we should move in the direction to have global section for global things and placing the component related stuff inside the component section. so maybe we can just add global + componen + default the current way
Add possibility to override specific component tag for http-add-on
closes #759
Checklist
Fixes #