add backward-compatible docker.use_repo_dockerfile support for node-webapp
preserve legacy generated images when the option is omitted
reject opted-in repositories that do not provide a root Dockerfile
document and test both paths
Root cause
node-webapp always overwrote repository Dockerfiles despite the public documentation describing custom Dockerfile support. Investing in Chester reproduced the impact when the generated distroless image failed Trivy on six HIGH OpenSSL CVEs and bypassed its uid/gid 1001 Alpine runtime contract.
Verification
654 script and template assertions pass
yamllint passes
shellcheck passes
feature orb dev:894a550312a45bee6a4fe689138d01ca6267a311 published and validated by the Investing in Chester PR and production pipeline
## Summary
- add backward-compatible `docker.use_repo_dockerfile` support for `node-webapp`
- preserve legacy generated images when the option is omitted
- reject opted-in repositories that do not provide a root Dockerfile
- document and test both paths
## Root cause
`node-webapp` always overwrote repository Dockerfiles despite the public documentation describing custom Dockerfile support. Investing in Chester reproduced the impact when the generated distroless image failed Trivy on six HIGH OpenSSL CVEs and bypassed its uid/gid 1001 Alpine runtime contract.
## Verification
- 654 script and template assertions pass
- yamllint passes
- shellcheck passes
- feature orb `dev:894a550312a45bee6a4fe689138d01ca6267a311` published and validated by the Investing in Chester PR and production pipeline
Closes #7
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
docker.use_repo_dockerfilesupport fornode-webappRoot cause
node-webappalways overwrote repository Dockerfiles despite the public documentation describing custom Dockerfile support. Investing in Chester reproduced the impact when the generated distroless image failed Trivy on six HIGH OpenSSL CVEs and bypassed its uid/gid 1001 Alpine runtime contract.Verification
dev:894a550312a45bee6a4fe689138d01ca6267a311published and validated by the Investing in Chester PR and production pipelineCloses #7