fix(deployment): Pin Presto image tags to versioned defaults and allow overrides via env vars (fixes #2072).#2073
Conversation
…s pull latest images (fixes y-scope#2072).
WalkthroughDocker Compose for Presto was modified to parameterize coordinator and prestissimo-worker image tags using environment variables with defaults set to Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related issues
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Converting this to draft until I confirm the changes are working with the latest code @hoophalab @20001020ycx i'll ping you when it's ready for review. thanks in advance |
i think the using the that said, using the |
Seems reasonable. I guess by |
right i meant i'll update the PR to use the version tag then |
… instead of dynamic `dev` tag.
…w overrides via env vars (fixes y-scope#2072). (y-scope#2073)
Description
The Presto
docker-compose.yamlhardcodes:devimage tags for both thepresto-coordinatorandpresto-workerservices:clp/tools/deployment/presto-clp/docker-compose.yaml
Line 3 in dbc1799
clp/tools/deployment/presto-clp/docker-compose.yaml
Line 27 in dbc1799
This causes a problem: it's impossible to pin specific image versions on release branches, and the mutable
:devtag can silently change underneath users.This PR:
:devtags with configurable environment variables that default toclp-v0.10.0:CLP_PRESTO_COORDINATOR_IMAGE_TAG(default:clp-v0.10.0) for the coordinator service.CLP_PRESTO_WORKER_IMAGE_TAG(default:clp-v0.10.0) for the worker service.The versioned default (
clp-v0.10.0) follows the convention used by other third-party services in the project that pin specific version tags (e.g.,redis:7.2.4,mongo:7.0.1,rabbitmq:3.9.8).The configurable env var approach follows the existing convention where Docker image references are overridable (e.g.,
CLP_DB_CONTAINER_IMAGE_REFindocker-compose-all.yaml).Checklist
breaking change.
Validation performed
Scenario 1: Default image tags (no env vars set)
Task: Verify that with no env vars set, both images resolve to the
:clp-v0.10.0tag and nopull_policyis configured (matching how other third-party services are defined).Command:
Output:
Explanation: Both services correctly default to
:clp-v0.10.0. Nopull_policyis present,which matches the convention used by other third-party services (
redis,mongo,rabbitmq).Since the version tag is immutable, Docker's default
pull_policy: missingis sufficient.Scenario 2: Custom image tags via environment variables
Task: Verify that setting
CLP_PRESTO_COORDINATOR_IMAGE_TAGandCLP_PRESTO_WORKER_IMAGE_TAGoverrides the default tag.
Command:
Output:
Explanation: Both services correctly use the custom tag
clp-v0.9.0, confirming that releasebranches can pin specific image versions via these environment variables.
[yscope-contrib-guidelines]: https://docs.yscope.com/dev-guide/contrib-guides-overview.html
Summary by CodeRabbit