v1.0.0+node24.13.1 — Initial Release #9
Amnoor
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Runtime Node v1.0.0+node24.13.1
Secure, Distroless, Multi-Arch Node.js Runtime. Built from Scratch.
This is the first release of Runtime Node. It ships a production-grade distroless Node.js runtime image assembled from
node:24.13.1-alpine3.23into aFROM scratchbase, withNODE_ENV=productionandTZ=UTCbaked in, zero known vulnerabilities, and multi-arch support forlinux/amd64andlinux/arm64.Pull the Image
What's Included
FROM scratch— no OS, no shell24.13.1(fromnode:24.13.1-alpine3.23)NODE_ENVproduction(baked in)TZUTC(baked in)/usr/share/zoneinfo)/etc/ssl/certs/)nsswitch.confincludedld-musl,libstdc++,libgcc_s/tmp1777linux/amd64,linux/arm64What's New
This is the initial release. Everything below is new.
Dockerfilewith abuilderstage based onnode:24.13.1-alpine3.23and aruntimestage based onFROM scratch.script.sh— a hardened shell installer that reads pinned package names fromdependencies/requirements.txtand installs them viaapk add --no-cachein the builder stage, with validation for root privileges and file existence.dependencies/requirements.txtpinningtzdataandca-certificatesas the only Alpine packages installed in the builder stage.ENV NODE_ENV=productionandENV TZ=UTCin the runtime stage, baking both defaults into the image at build time./tmpwith explicit--chmod=1777sticky-bit permissions,/etc/nsswitch.conffor DNS resolution,/usr/share/zoneinfofor timezone data,/etc/ssl/certs/ca-certificates.crtand/etc/ssl/cert.pemfor TLS,ld-musl-*.so.1,libstdc++.so.6, andlibgcc_s.so.1for runtime library support, and/usr/local/bin/nodeas the sole executable — all with--chmod=555..github/workflows/deployment.yml— publishes multi-arch images to Docker Hub and GHCR onv*tag pushes with provenance attestations and an SBOM attached. Supports manual promotion of any published versioned tag to a floating tag (e.g.latest) viaworkflow_dispatch, with pre-promotion validation checks against both registries..github/workflows/pr-tests.yml— lints the Dockerfile with Hadolint on every PR targetingmain,develop*, ormaintenance/v*, then builds and runs five integrity tests per platform (linux/amd64andlinux/arm64): Node.js smoke test (node --version), no shell present, no package manager present,NODE_ENVisproduction, andTZisUTC..github/dependabot.yml— configures Dependabot to monitor theDockerfilefor Docker base image updates targeting thedevelopbranch..github/PULL_REQUEST_TEMPLATE.mdpre-filling the three required PR description sections (Summary, Files Changed, Key Changes).config.ymldisabling blank issues and surfacing the private security advisory link.README.md,CONTRIBUTING.md,SECURITY.md, andCODE_OF_CONDUCT.mdas the initial documentation set..github/assets/icon.svgas the shared branding icon used across all documentation headers.Versioning
Tags follow the pattern
v<image_semver>+node<node_version>. Thelatesttag tracks the most recent stable release.Immutable Tag
This tag is immutable. Once published,
v1.0.0+node24.13.1will never be moved or overwritten on either registry.Full Changelog
https://github.com/Runtimes-Node/Runtime-Node/commits/v1.0.0+node24.13.1
This discussion was created from the release v1.0.0+node24.13.1 — Initial Release.
Beta Was this translation helpful? Give feedback.
All reactions