Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,7 @@ PYTHON3 |= {
NODEJS_VERSIONS = [
"20",
"22",
"24",
]

NODEJS_VARIATIONS = [
Expand Down
2 changes: 1 addition & 1 deletion MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ include("//private/repos:java.MODULE.bazel")
### NODE ###
node = use_extension("//private/extensions:node.bzl", "node")
node.archive()
use_repo(node, "nodejs20_amd64", "nodejs20_arm", "nodejs20_arm64", "nodejs20_ppc64le", "nodejs20_s390x", "nodejs22_amd64", "nodejs22_arm", "nodejs22_arm64", "nodejs22_ppc64le", "nodejs22_s390x")
use_repo(node, "nodejs20_amd64", "nodejs20_arm", "nodejs20_arm64", "nodejs20_ppc64le", "nodejs20_s390x", "nodejs22_amd64", "nodejs22_arm", "nodejs22_arm64", "nodejs22_ppc64le", "nodejs22_s390x", "nodejs24_amd64", "nodejs24_arm", "nodejs24_arm64", "nodejs24_ppc64le", "nodejs24_s390x")

### DEBIAN ###
include("//private/repos/deb:deb.MODULE.bazel")
79 changes: 77 additions & 2 deletions MODULE.bazel.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ The following images are currently published and updated by the distroless proje
| gcr.io/distroless/java21-debian12 | latest, nonroot, debug, debug-nonroot | amd64, arm64, ppc64le |
| gcr.io/distroless/nodejs20-debian12 | latest, nonroot, debug, debug-nonroot | amd64, arm64, arm, s390x, ppc64le |
| gcr.io/distroless/nodejs22-debian12 | latest, nonroot, debug, debug-nonroot | amd64, arm64, arm, s390x, ppc64le |
| gcr.io/distroless/nodejs24-debian12 | latest, nonroot, debug, debug-nonroot | amd64, arm64, arm, s390x, ppc64le |

These images refer to image indexes with references to all supported architectures. Architecture specific images can be directly referenced using an additional architecture suffix on the tag, like `gcr.io/distroless/static-debian12:latest-amd64`

Expand Down
2 changes: 1 addition & 1 deletion SUPPORT_POLICY.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ The current estimation of end of life for images with the pattern:
Java will only support current LTS version distributed by debian [see here](https://wiki.debian.org/Java).

### Node
Node version support is for even numbered releases (20, 22, etc) that are current, active or in LTS maintenance. For more information, [see here](https://nodejs.org/en/about/previous-releases#release-schedule).
Node version support is for even numbered releases (20, 22, 24, etc) that are current, active or in LTS maintenance. For more information, [see here](https://nodejs.org/en/about/previous-releases#release-schedule).

### Images no longer supported (TBD)
A list of supported image tags is available here: https://github.com/GoogleContainerTools/distroless#what-images-are-available
2 changes: 1 addition & 1 deletion nodejs/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ load("//base:distro.bzl", "DISTROS")

package(default_visibility = ["//visibility:public"])

NODEJS_MAJOR_VERISONS = ("20", "22")
NODEJS_MAJOR_VERISONS = ("20", "22", "24")

MODE = [
"",
Expand Down
1 change: 1 addition & 0 deletions nodejs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ Specifically, these images contain everything in the [base image](../base/README

- Node.js v20 (`gcr.io/distroless/nodejs20-debian12`) and its dependencies.
- Node.js v22 (`gcr.io/distroless/nodejs22-debian12`) and its dependencies.
- Node.js v24 (`gcr.io/distroless/nodejs24-debian12`) and its dependencies.

## Usage

Expand Down
6 changes: 6 additions & 0 deletions nodejs/testdata/nodejs24.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
schemaVersion: "2.0.0"
commandTests:
- name: nodejs
command: "/nodejs/bin/node"
args: ["--version"]
expectedOutput: ["v24.0.0"]
55 changes: 55 additions & 0 deletions private/extensions/node.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,56 @@ def _node_impl(module_ctx):
control = "//nodejs:control",
)

node_archive(
name = "nodejs24_amd64",
sha256 = "b760ed6de40c35a25eb011b3cf5943d35d7a76f0c8c331d5a801e10925826cb3",
strip_prefix = "node-v24.0.0-linux-x64/",
urls = ["https://nodejs.org/dist/v24.0.0/node-v24.0.0-linux-x64.tar.gz"],
version = "24.0.0",
architecture = "amd64",
control = "//nodejs:control",
)

node_archive(
name = "nodejs24_arm64",
sha256 = "4104136ddd3d2f167d799f1b21bac72ccf500d80c24be849195f831df6371b83",
strip_prefix = "node-v24.0.0-linux-arm64/",
urls = ["https://nodejs.org/dist/v24.0.0/node-v24.0.0-linux-arm64.tar.gz"],
version = "24.0.0",
architecture = "arm64",
control = "//nodejs:control",
)

node_archive(
name = "nodejs24_arm",
sha256 = "3521021a2e875fbc52ae82e2a3fea5024d507bbc919f504ca8521292c3fe14d3",
strip_prefix = "node-v24.0.0-linux-armv7l/",
urls = ["https://nodejs.org/dist/v24.0.0/node-v24.0.0-linux-armv7l.tar.gz"],
version = "24.0.0",
architecture = "arm",
control = "//nodejs:control",
)

node_archive(
name = "nodejs24_ppc64le",
sha256 = "04654c22d8f9fc3021a27f37a95c16f820870908a49cd361f4cf74ed14509a10",
strip_prefix = "node-v24.0.0-linux-ppc64le/",
urls = ["https://nodejs.org/dist/v24.0.0/node-v24.0.0-linux-ppc64le.tar.gz"],
version = "24.0.0",
architecture = "ppc64le",
control = "//nodejs:control",
)

node_archive(
name = "nodejs24_s390x",
sha256 = "aa6fa7c5dc7d699116a39a781eb1685a68e3843d2d95bcd98527fd28922de63a",
strip_prefix = "node-v24.0.0-linux-s390x/",
urls = ["https://nodejs.org/dist/v24.0.0/node-v24.0.0-linux-s390x.tar.gz"],
version = "24.0.0",
architecture = "s390x",
control = "//nodejs:control",
)

return module_ctx.extension_metadata(
root_module_direct_deps = [
"nodejs20_amd64",
Expand All @@ -209,6 +259,11 @@ def _node_impl(module_ctx):
"nodejs22_arm",
"nodejs22_ppc64le",
"nodejs22_s390x",
"nodejs24_amd64",
"nodejs24_arm64",
"nodejs24_arm",
"nodejs24_ppc64le",
"nodejs24_s390x",
],
root_module_direct_dev_deps = [],
)
Expand Down
Loading