Related to: #3514
Background
Public PR #3520 restructured the sample Dockerfile into a multi-target build with two runtime variants:
runtime (default / last stage) — runs as root, backwards-compatible with today's published image.
runtime-nonroot (opt-in via --target runtime-nonroot) — runs as USER $APP_UID (UID 1654), satisfies scanners (e.g. Checkmarx One) that require a non-root Config.User.
The public Dockerfile is only a customer sample. The image we actually publish is built from the internal repo, which has its own Dockerfile + release pipeline YAML — both need updating to publish the second tag.
Tasks
Related to: #3514
Background
Public PR #3520 restructured the sample
Dockerfileinto a multi-target build with two runtime variants:runtime(default / last stage) — runs as root, backwards-compatible with today's published image.runtime-nonroot(opt-in via--target runtime-nonroot) — runs asUSER $APP_UID(UID 1654), satisfies scanners (e.g. Checkmarx One) that require a non-rootConfig.User.The public
Dockerfileis only a customer sample. The image we actually publish is built from the internal repo, which has its ownDockerfile+ release pipeline YAML — both need updating to publish the second tag.Tasks
Dockerfileto match Add non-root variant to Dockerfile for dual image publishing #3520 (multi-stageruntime-base→runtime/runtime-nonroot,USER $APP_UID, non-recursivechown $APP_UID:$APP_UID /App/logs).:<version>,:latest) and non-root (--target runtime-nonroot→:<version>-nonroot,:latest-nonroot).-nonrootimage.