[SHI-448] Option for code executor image tags that don't match backend - #360
[SHI-448] Option for code executor image tags that don't match backend#360justinyang-retool wants to merge 3 commits into
Conversation
|
| Filename | Overview |
|---|---|
| charts/retool/templates/_helpers.tpl | Adds a direct code-executor tag override while preserving the existing backend-tag derivation as fallback. |
| charts/retool/templates/deployment_code_executor.yaml | Uses the workload pull policy first, but the accompanying nonempty default prevents existing global pull-policy configurations from being inherited. |
| charts/retool/values.yaml | Documents and exposes the tag override; the IfNotPresent pull-policy default unintentionally shadows the global setting. |
| charts/retool/ci/test-code-executor-image-tag-option.yaml | Supplies representative overrides, but CI only checks that the resulting manifests are schema-valid rather than asserting those values. |
| charts/retool/Chart.yaml | Bumps the chart minor version for the new image-override capability. |
| values.yaml | Mirrors the chart defaults, including the pull-policy default that prevents global inheritance. |
Reviews (1): Last reviewed commit: "updated helm chart logic to override the..." | Re-trigger Greptile
| codeExecutor: | ||
| image: | ||
| # A one-off / support build lives in a different repository than the backend | ||
| # and carries a tag the backend image does not have (SHI-448). | ||
| repository: tryretool/code-executor-one-offs | ||
| # Deliberately differs from the top-level image.tag so the rendered | ||
| # deployment proves the per-workload tag override wins over the backend tag. | ||
| tag: pr-3.334.6-fcf7211 | ||
| # Deliberately differs from the global image.pullPolicy (IfNotPresent in the | ||
| # base values) so the rendered deployment proves the per-workload override is | ||
| # honored rather than the global value. | ||
| pullPolicy: Always |
There was a problem hiding this comment.
Override fixture lacks assertions
This fixture is rendered only for Kubernetes schema validation and never asserts the resulting repository, tag, or pull policy, so an implementation that ignores these overrides can still pass CI despite the fixture claiming to prove precedence.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
c878998 to
5591567
Compare
…age and backend image names dont match
…he test data better
5591567 to
af02c39
Compare
Customer making a Helm Chart update had with the one-off image they were using
tryretool/code-executor-one-offs:pr-3.334.6-fcf7211. The image name does not match the backend image which did not include the pr-. By design in the helm chart, we don't allow for differing image names between backend and code executor. There should be an option for the customer here to be able to override the image for codeExecutor in this case, or we need to make sure the names match.Note I've decided for now that pullpolicy will not be overrideable
Testing:
In-code testing:
Testing with no override:
Deploy testing:



Before case:
has the default image and the image pulled successfully
Also note the code executor has no image tag while the backend image tag is the one pulled:
After case:



Has the new image for code executor
Note that the code executor pulled successfully
THe pod
justinyang-test-547579fb56-nws4pis erroring out but this actually precedes the image override update, and it uses the default image so it's not affectedAlso note the helm chart: