Pin the Node.js version via `.config.rde.qovery.yml` and harden the NodeSource install
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 52/100
- Issue type
- Refactor
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- docker, node.js
- Domain
- build-system, devops
Research direction
Start with the template Dockerfile and the documented .config.rde.qovery.yml source of truth for component versions. Trace how the nodejs value reaches the NodeSource installation, then build the image and verify that node and npm run successfully with a reproducible version and no unverified curl-to-bash setup.
Written by the indexing model from the issue text.
Description
Problem
In the template Dockerfile, Node.js is installed by piping the NodeSource setup script into bash:
# Node.js 22 LTS
RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
Two weaknesses:
- Loose version pin.
setup_22.xpins only the major version — the subsequentapt-get install nodejspulls the latest 22.x available at build time, so the exact Node minor/patch varies build-to-build with no record of what shipped. - No integrity check. The setup script is fetched and executed via
curl … | bashwith no checksum, so a changed or compromised script runs undetected.
Proposed change
Declare the Node.js version in .config.rde.qovery.yml — the documented source of truth for component versions in the RDE install flow (see Qovery/documentation#143). The nodejs key accepts a version string (default 22):
# .config.rde.qovery.yml
nodejs: "22" # pin to the intended major; pin tighter if the install path allows
Where the install path allows, also tighten reproducibility and integrity: pin the installed nodejs apt package to an exact version, and prefer a verified keyring-based NodeSource apt setup over piping the setup script straight into bash.
Acceptance criteria
- The Node.js version is declared in
.config.rde.qovery.yml, not hardcoded inline in the Dockerfile - The installed Node.js version is reproducible across builds (pinned as tightly as the install path supports)
- The NodeSource setup is not executed from an unverified
curl … | bash(use a checksum or keyring-verified apt source) - Image builds successfully and
node/npmrun in the container
- Dominant language
- Shell
- Stars
- 0
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Qovery/remote-dev-env-template
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
-
Difficulty 4/5 3-5 days Newbie friendliness 55/100
All issues in Qovery/remote-dev-env-template
Similar issues
-
Update Vish to 1.1.5 Openpackage-update
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
oSoWoSo/vOid_Community_repOsitory#144 · 1 comment ·
-
help wanted new command
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
tldr-pages/tldr#24151 ·
-
PacReq: Rune IDE Openpackage request
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
pacstall/pacstall-programs#9402 ·
-
[BUG] ci: the first prefetch-images.sh call runs before shard.txt exists, so it is always a no-op Openbug github-actions
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
update-request
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
msys2/MINGW-packages#31768 ·