Skip to content

fix(docker): bump dockerize to v0.16.0 - #4078

Open
bojanraic wants to merge 1 commit into
temporalio:mainfrom
bojanraic:fix/bump-dockerize-v0.16.0
Open

bojanraic wants to merge 1 commit into
temporalio:mainfrom
bojanraic:fix/bump-dockerize-v0.16.0

Conversation

@bojanraic

Copy link
Copy Markdown

Description & motivation 💭

Bumps dockerize in server/Dockerfile from v0.10.1 to v0.16.0. The v0.10.1 binary bundles golang.org/x/crypto v0.47.0 and golang.org/x/net v0.49.0, which trivy reports as 16 HIGH vulnerabilities in temporalio/ui:2.57.0.

  • dockerize-builder moves to golang:1.27.3-alpine3.23, because dockerize v0.16.0 requires Go 1.27.3.

  • ./config is now owned by temporal. dockerize v0.16.0 writes rendered templates atomically, through a temp file in the destination directory. With ./config owned by root and the container running as uid 1000, the legacy config-template.yaml path in start-ui-server.sh fails with:

    unable to create temp file ./config/docker.yaml: open config/.docker.yaml.tmp-…: permission denied
    

This supersedes #4040, which bumped to v0.15.2 and was closed unmerged.

Testing 🧪

How was this tested 👻

  • Manual testing
  • E2E tests added
  • Unit tests added

I built the dockerize-builder stage for linux/amd64 and copied its binary into temporalio/ui:2.57.0. I applied the ./config ownership change to that image too. I did not build the full image from a bare checkout, because server-builder embeds server/ui/assets from the frontend build.

Check Stock 2.57.0 Patched
trivy HIGH/CRITICAL findings in usr/local/bin/dockerize 16 0
dockerize -template with .Env, env | default and split ok same output
Legacy config-template.yaml → ./config/docker.yaml ok ok (fails without the chown)
Container starts, GET / 200 200

trivy still exits 1 on both images. The remaining 5 findings are in the ui-server binary itself (labstack/echo/v4 v4.15.4, gomarkdown/markdown) and are outside this PR.

Steps for others to test: 🚶🏽‍♂️🚶🏽‍♀️

  1. Build the image as your release pipeline does.
  2. Run trivy image --scanners vuln --ignore-unfixed --severity CRITICAL,HIGH <image> and confirm there are no findings under usr/local/bin/dockerize.
  3. Run docker run --rm --entrypoint dockerize <image> --help.
  4. Mount a template at /home/ui-server/config-template.yaml, create config/config-template.yaml to trigger the legacy branch, and confirm start-ui-server.sh renders ./config/docker.yaml.

Docs

Any docs updates needed?

dockerize v0.16.0 can no longer render to /dev/stdout, because it creates its temp file next to the destination. Nothing in this repo does that, but custom entrypoints that do will need a writable destination directory.

Bump dockerize from v0.10.1 to v0.16.0 to clear 16 HIGH
vulnerabilities in its bundled golang.org/x/crypto (v0.47.0) and
golang.org/x/net (v0.49.0). v0.16.0 requires Go 1.27.3, so the
dockerize-builder stage moves to golang:1.27.3-alpine3.23.

dockerize v0.16.0 writes rendered templates atomically, through a
temp file in the destination directory. ./config was owned by root
while the container runs as temporal (uid 1000), so the legacy
config-template.yaml path in start-ui-server.sh failed with
"permission denied". Make ./config owned by temporal.
@bojanraic
bojanraic requested a review from a team as a code owner October 26, 2026 13:43
@vercel

vercel Bot commented Oct 26, 2026

Copy link
Copy Markdown

@bojanraic is attempting to deploy a commit to the Temporal Team on Vercel.

A member of the Team first needs to authorize it.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ⚠️ Failed 2026-10-26T13:45:05.151188Z
We couldn’t complete this review. Comment @codex review to try again.
c0b1ae9 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

This branch has not been deployed

No deployments
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