From 06a190c486ec91c990cc0eee604af6fe2d52586e Mon Sep 17 00:00:00 2001 From: Staffan Olsson Date: Sat, 28 Mar 2026 10:02:20 +0100 Subject: [PATCH 1/3] ystack-runner 5035755b, node 24.14.1, drop npm-installed yarn The new ystack-runner bundles y-yarn, so npm install of yarn and the yarn symlink in builder-base are no longer needed. Co-Authored-By: Claude Opus 4.6 (1M context) --- builder-base/Dockerfile | 4 +--- node-distroless/Dockerfile | 2 +- node/Dockerfile | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/builder-base/Dockerfile b/builder-base/Dockerfile index 32443bc..6461b89 100644 --- a/builder-base/Dockerfile +++ b/builder-base/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$TARGETPLATFORM ghcr.io/yolean/ystack-runner:3481f4e5d3483a27837e533e76f1cacc35358b05@sha256:5d33478edc7e77485e6ba20a7173e34f8b8cb76fc0d2f1867a8bd64a5a7fcaf3 \ +FROM --platform=$TARGETPLATFORM ghcr.io/yolean/ystack-runner:5035755bd8ade59842c4bfefad52de071dcf36c6@sha256:591e593fd7014f866b0f6bd645ff8282bee52e2a5a41b0dda2d449162cd6698b \ as base FROM base as nonroot @@ -10,7 +10,6 @@ RUN set -e; \ mkdir -p usr/local/src/ystack/bin && chown nonroot usr/local/src/ystack/bin; \ mkdir -p home/nonroot/.cache/ystack-bin; \ mkdir -p home/nonroot/.cache/npm; \ - (cd usr/local/src/ystack/bin/; ln -s /usr/local/lib/node_modules/yarn/bin/yarn); \ chown root home; chown -R nonroot:nogroup home/nonroot FROM base @@ -22,4 +21,3 @@ ENV \ YSTACK_BIN_DOWNLOAD_CACHE=/home/nonroot/.cache/ystack-bin \ npm_config_update_notifier=false -RUN npm install -g --ignore-scripts --no-bin-links yarn@1.22.19 diff --git a/node-distroless/Dockerfile b/node-distroless/Dockerfile index ee7b168..3a42078 100644 --- a/node-distroless/Dockerfile +++ b/node-distroless/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$TARGETPLATFORM gcr.io/distroless/nodejs24-debian13:nonroot@sha256:38792f83f35f2df89d403f49491782981dd13a853bbcb09ff978d79328263463 +FROM --platform=$TARGETPLATFORM gcr.io/distroless/nodejs24-debian13:nonroot@sha256:924918584d0e6793e578fc0e98b8b8026ae4ac2ccf2fea283bc54a7165441ccd WORKDIR /app CMD [ "./main.js" ] diff --git a/node/Dockerfile b/node/Dockerfile index b9a3bff..f5685aa 100644 --- a/node/Dockerfile +++ b/node/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$TARGETPLATFORM node:24.14.0-trixie-slim@sha256:4fc981bf8dfc5e36e15e0cb73c5761a14cabff0932dcad1cf26cd3c3425db5d4 +FROM --platform=$TARGETPLATFORM node:24.14.1-trixie-slim@sha256:c319bb4fac67c01ced508b67193a0397e02d37555d8f9b72958649efd302b7f8 RUN runtimeDeps='procps git curl ca-certificates' \ && set -ex \ From 99f43184a78083bc3d3bbc51868c15556d290db0 Mon Sep 17 00:00:00 2001 From: Staffan Olsson Date: Sat, 28 Mar 2026 10:03:45 +0100 Subject: [PATCH 2/3] remove node-kafka-sqlite, use nodejs bundled sqlite client Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/images.yaml | 40 ------------------------- images.sh | 1 - node-kafka-sqlite/Dockerfile | 5 ---- node-kafka-sqlite/package.json | 6 ---- to-nonroot/node-kafka-sqlite/Dockerfile | 8 ----- 5 files changed, 60 deletions(-) delete mode 100644 node-kafka-sqlite/Dockerfile delete mode 100644 node-kafka-sqlite/package.json delete mode 100644 to-nonroot/node-kafka-sqlite/Dockerfile diff --git a/.github/workflows/images.yaml b/.github/workflows/images.yaml index c655e7d..2c308a5 100644 --- a/.github/workflows/images.yaml +++ b/.github/workflows/images.yaml @@ -562,46 +562,6 @@ jobs: yolean/node-kafka-cache:root=docker-image://ghcr.io/yolean/node-kafka-cache:root continue-on-error: false timeout-minutes: 45 - - - name: Build and push node-kafka-sqlite root - uses: docker/build-push-action@v6.18.0 - env: - SOURCE_DATE_EPOCH: 0 - BUILDKIT_PROGRESS: plain - DOCKER_BUILDKIT: 1 - with: - context: node-kafka-sqlite - tags: | - ghcr.io/yolean/node-kafka-sqlite:root - ghcr.io/yolean/node-kafka-sqlite:${{ github.sha }}-root - platforms: linux/amd64,linux/arm64/v8 - push: true - cache-from: type=registry,ref=ghcr.io/yolean/node-kafka-sqlite:_buildcache-root - cache-to: type=registry,ref=ghcr.io/yolean/node-kafka-sqlite:_buildcache-root,mode=max - build-contexts: | - yolean/node-kafka:root=docker-image://ghcr.io/yolean/node-kafka:root - continue-on-error: false - timeout-minutes: 45 - - - name: Build and push node-kafka-sqlite latest - uses: docker/build-push-action@v6.18.0 - env: - SOURCE_DATE_EPOCH: 0 - BUILDKIT_PROGRESS: plain - DOCKER_BUILDKIT: 1 - with: - context: to-nonroot/node-kafka-sqlite - tags: | - ghcr.io/yolean/node-kafka-sqlite:latest - ghcr.io/yolean/node-kafka-sqlite:${{ github.sha }} - platforms: linux/amd64,linux/arm64/v8 - push: true - cache-from: type=registry,ref=ghcr.io/yolean/node-kafka-sqlite:_buildcache - cache-to: type=registry,ref=ghcr.io/yolean/node-kafka-sqlite:_buildcache,mode=max - build-contexts: | - yolean/node-kafka-sqlite:root=docker-image://ghcr.io/yolean/node-kafka-sqlite:root - continue-on-error: false - timeout-minutes: 45 - name: Build and push node-kafka-duckdb root uses: docker/build-push-action@v6.18.0 diff --git a/images.sh b/images.sh index 1112a23..58ab513 100755 --- a/images.sh +++ b/images.sh @@ -26,7 +26,6 @@ java node node-kafka node-kafka-cache -node-kafka-sqlite node-kafka-duckdb node-watchexec node-kafka-watch diff --git a/node-kafka-sqlite/Dockerfile b/node-kafka-sqlite/Dockerfile deleted file mode 100644 index 0c53163..0000000 --- a/node-kafka-sqlite/Dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM --platform=$TARGETPLATFORM yolean/node-kafka:root - -COPY package.json /app/ - -RUN npm install diff --git a/node-kafka-sqlite/package.json b/node-kafka-sqlite/package.json deleted file mode 100644 index 2e3d46a..0000000 --- a/node-kafka-sqlite/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "private": true, - "dependencies": { - "better-sqlite3": "12.6.2" - } -} diff --git a/to-nonroot/node-kafka-sqlite/Dockerfile b/to-nonroot/node-kafka-sqlite/Dockerfile deleted file mode 100644 index 57f59e0..0000000 --- a/to-nonroot/node-kafka-sqlite/Dockerfile +++ /dev/null @@ -1,8 +0,0 @@ -FROM --platform=$TARGETPLATFORM yolean/node-kafka-sqlite:root - -# Appends the same nonroot directives as https://github.com/Yolean/kubernetes-kafka/tree/master/nonroot -# i.e. https://github.com/solsson/dockerfiles/tree/native/kafka-nonroot -RUN grep 'nonroot:x:65532' /etc/passwd || \ - echo 'nonroot:x:65532:65534:nonroot:/home/nonroot:/usr/sbin/nologin' >> /etc/passwd && \ - mkdir -p /home/nonroot && touch /home/nonroot/.bash_history && chown -R 65532:65534 /home/nonroot -USER nonroot:nogroup From da34ada6930f3fd41f51153e431cf245b2469e3c Mon Sep 17 00:00:00 2001 From: Staffan Olsson Date: Sat, 28 Mar 2026 10:05:21 +0100 Subject: [PATCH 3/3] duckdb v1.5.1, node-bindings 1.5.1-r.1, drop unused SEMVER_VERSION Co-Authored-By: Claude Opus 4.6 (1M context) --- duckdb/Dockerfile | 2 +- node-kafka-duckdb/package.json | 2 +- node-kafka/Dockerfile | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/duckdb/Dockerfile b/duckdb/Dockerfile index e4724bb..8e64ce8 100644 --- a/duckdb/Dockerfile +++ b/duckdb/Dockerfile @@ -1,6 +1,6 @@ FROM --platform=$BUILDPLATFORM yolean/builder-base ARG TARGETARCH -ARG DUCKDB_TAG=v1.5.0 +ARG DUCKDB_TAG=v1.5.1 RUN set -ex; \ ARCH=$TARGETARCH; \ diff --git a/node-kafka-duckdb/package.json b/node-kafka-duckdb/package.json index cced57d..e4a1bea 100644 --- a/node-kafka-duckdb/package.json +++ b/node-kafka-duckdb/package.json @@ -1,7 +1,7 @@ { "private": true, "dependencies": { - "@duckdb/node-bindings": "1.5.0-r.1", + "@duckdb/node-bindings": "1.5.1-r.1", "@google-cloud/pubsub": "5.3.0" } } diff --git a/node-kafka/Dockerfile b/node-kafka/Dockerfile index eccb8f2..bb651f4 100644 --- a/node-kafka/Dockerfile +++ b/node-kafka/Dockerfile @@ -2,7 +2,6 @@ FROM --platform=$TARGETPLATFORM yolean/node:root ENV NODE_PATH=/usr/local/lib/node_modules \ NODE_RDKAFKA_VERSION=v3.6.1 \ - SEMVER_VERSION=7.7.3 \ SNAPPY_VERSION=7.3.3 RUN set -ex; \