Skip to content

[SHI-448] Option for code executor image tags that don't match backend - #360

Open
justinyang-retool wants to merge 3 commits into
mainfrom
code-executor-image-name-mismatch
Open

[SHI-448] Option for code executor image tags that don't match backend#360
justinyang-retool wants to merge 3 commits into
mainfrom
code-executor-image-name-mismatch

Conversation

@justinyang-retool

@justinyang-retool justinyang-retool commented Aug 11, 2026

Copy link
Copy Markdown

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:

  • Put through code a template file:
    Testing with no override:
Screenshot 2026-08-12 at 8 39 21 PM Testing with override: Screenshot 2026-08-12 at 8 40 43 PM

Deploy testing:
Before case:
Screenshot 2026-08-13 at 6 46 13 PM
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:
Screenshot 2026-08-13 at 6 48 42 PM
Screenshot 2026-08-13 at 6 49 42 PM

After case:
Screenshot 2026-08-13 at 7 31 28 PM
Has the new image for code executor
Note that the code executor pulled successfully
THe pod justinyang-test-547579fb56-nws4p is erroring out but this actually precedes the image override update, and it uses the default image so it's not affected
Also note the helm chart:
Screenshot 2026-08-13 at 7 31 50 PM
Screenshot 2026-08-13 at 7 31 56 PM

@greptile-apps

greptile-apps Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Confidence Score: 4/5

The pull-policy regression should be fixed before merging because existing global image-policy configurations will silently stop applying to code executor.

The new template gives precedence to codeExecutor.image.pullPolicy while the chart always defaults that field to IfNotPresent, making the documented global fallback ineffective; the added fixture also does not assert the rendered override values.

Files Needing Attention: charts/retool/values.yaml, charts/retool/templates/deployment_code_executor.yaml, charts/retool/ci/test-code-executor-image-tag-option.yaml

Important Files Changed

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

Comment thread charts/retool/values.yaml
Comment on lines +4 to +15
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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 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!

@justinyang-retool
justinyang-retool force-pushed the code-executor-image-name-mismatch branch from c878998 to 5591567 Compare August 12, 2026 04:06
@justinyang-retool justinyang-retool changed the title [DRAFT][SHI-448] Option for code executor image tags that don't match backend [SHI-448] Option for code executor image tags that don't match backend Aug 12, 2026
Comment thread charts/retool/ci/test-code-executor-image-tag-option.yaml Outdated
Comment thread charts/retool/ci/test-code-executor-image-override-option.yaml
Comment thread charts/retool/ci/test-code-executor-image-tag-option.yaml Outdated
Comment thread charts/retool/values.yaml
Comment thread charts/retool/Chart.yaml Outdated
@justinyang-retool
justinyang-retool force-pushed the code-executor-image-name-mismatch branch from 5591567 to af02c39 Compare August 15, 2026 04:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants