Update dockerfile dependencies - #4682
Conversation
|
Reviewed this Renovate bump — no findings, looks clean. Digest verification Both pins resolve to the current published manifest for their tag:
Release notes list a single notable change: "Fix incorrect warning when matching dockerignore patterns to Hardening commits backported from v0.31.1 ( The
No incompatible changes. Relevant to PeerDB's MySQL CDC path, the replication/binlog fixes are net-positive rather than regressions — e.g. row-based apply with stored Checked the potentially disruptive items against this repo; none apply:
Blast radius is also limited: Unrelated to this PR, just flagging: |
dcd7194 to
9d3609e
Compare
Review: dependency bump reviewed — looks clean ✅No findings. Reviewed per Digest/tag integrity — all three pinned digests match what the tags currently resolve to on the registry:
Non-blocking, pre-existing, and out of scope for this PR: |
9d3609e to
5d6d3ca
Compare
|
Reviewed this Renovate bump per Digest verification All three pins resolve to the tags they claim, checked against Docker Hub right now:
Upstream changes in the bumped range
The release notes list exactly one notable change: "Fix incorrect warning when matching dockerignore patterns to Note that
Nothing that looks like a regression risk for PeerDB. Several fixes land in our favour on the MySQL CDC path:
The two incompatible changes in the release (EL7 support dropped,
Other checks
|
🔄 Flaky Test DetectedAnalysis: TestApiMy/TestTableAdditionWithoutInitialLoad hit the fixed 60s polling deadline in SetupCDCFlowStatusQuery while the mirror was still in STATUS_SETUP — a wall-clock timeout under CI load on a Renovate Dockerfile bump, with the same suite passing on the other two matrix legs. ✅ Automatically retrying the workflow |
🔄 Flaky Test DetectedAnalysis: A whole-stack stall on the single maria-12 matrix leg made every MariaDB→ClickHouse test time out (mirrors stuck in STATUS_SETUP, CDC never delivered) until Go's 20m package timeout panicked and marked all 95 in-flight/waiting tests failed, while the other two matrix legs ran the same suites successfully against unchanged service images on a Renovate Dockerfile-bump PR. ✅ Automatically retrying the workflow |
5d6d3ca to
9e7a240
Compare
|
Reviewed this Renovate bump — no findings, looks clean to merge. Digest verification. All three pins match what the tags currently resolve to on Docker Hub: Upstream changes in the bumped ranges
No new stdout/stderr/log output is introduced, so this diff adds no PII or secret-exposure surface. Informational, pre-existing and out of scope for this PR: |
b34cac4 to
2cd4d68
Compare
Renovate review:
|
| Pin | Live digest matches |
|---|---|
docker/dockerfile:1.26 -> ecfaec9e… |
✅ |
mysql:9.7.2 -> 257388ed… |
✅ |
node:24-alpine -> d32cdf61… |
✅ |
docker/dockerfile 1.25 -> 1.26 (stacks/flow.Dockerfile, stacks/peerdb-ui.Dockerfile)
The dockerfile/1.26.0 release notes list a single notable change, and the only non-test source changes under frontend/dockerfile in the 1.25.0…1.26.0 range are:
- moby/buildkit#6930 — fixes a false-positive
CopyIgnoredFilewarning forCOPY ./COPY /when.dockerignoredoes not actually exclude the context root. Warning-only; no build-semantics change. dockerfile: fix Windows SBOM scanner temp mount— Windows-only, not applicable here.vendor: migrate to gohugoio/hashstructureinbuilder/resolvecache.go— internal hashing-lib swap; at worst a one-time frontend resolve-cache miss.- A
WorkdirRelativePathlinter doc tweak — everyWORKDIRinstacks/*.Dockerfileis absolute, so no new lint warnings.
No new required frontend capabilities and no syntax changes, so no regression risk for these two Dockerfiles. docker-build on this PR passes, which exercises both.
Minor pre-existing note (not this PR): stacks/peerdb-server.Dockerfile is still pinned to docker/dockerfile:1@sha256:87999aa3…, while the 1 tag now resolves to the same digest as 1.26. That stack therefore builds with an older frontend than the other two. Untouched here — flagging only in case the pinning inconsistency is unintentional.
mysql 9.7.1 -> 9.7.2 (stacks/mysql.Dockerfile)
Patch release (2026-07-28). Relevant items from the 9.7.2 release notes:
- The replication fixes are all on the replica/applier side (
SOURCE_RETRY_COUNT=0now consistently unlimited, self-referencing-FK delete replication failure, row-basedTIMESTAMP NOT NULLrecompute). Nothing changes binlog emission — no row-format,binlog_row_metadata, or GTID changes — which is what PeerDB's MySQL CDC consumes.stacks/mysql/my.cnf.sample(binlog_format=ROW,binlog_row_image=full,binlog_row_metadata=full,gtid_mode=ON) is unaffected. - Behavior change:
thread_pool_max_unused_threadsdefault 2 -> 32. Irrelevant for a local test image. - Deprecations:
group_replication_communication_stack,group_replication_ip_allowlist— not used in this repo. - Dropped platform support: Enterprise Linux 7 — n/a for a container base.
Blast radius is small regardless: this image is a local/dev fixture, and CI's flow_test matrix uses mysql:9.5 (.github/workflows/flow.yml).
node:24-alpine digest bump (stacks/peerdb-ui.Dockerfile)
Renovate labels this digest-only, but the underlying Node version does move — worth knowing rather than a problem:
- old
a0b9bf06…= node 24.18.0-alpine3.24 - new
d32cdf61…= node 24.19.0-alpine3.24
Same Alpine 3.24 base, so no musl/openssl distro jump (relevant because the base stage runs apk add --no-cache openssl). The delta pulls in:
- v24.18.1 (security release, 2026-07-29) — 11 CVEs including three High: http2 header-memory accounting (CVE-2026-56846), http2 deferred rst-stream (CVE-2026-56848), permission-model radix split nodes (CVE-2026-58043); plus llhttp 9.4.3 and undici 7.29.0. Net security win for the UI runtime.
- v24.19.0 (LTS, semver-minor) — additive APIs only (
blob.textStream(),ReadableStreamTee,setKeepAliveTCP options, TLScertificateCompression, etc.). No removals or breaking changes affecting a Next.js 16 build, andui/package.jsondeclares noenginesconstraint.
Secrets / PII check
The diff touches only base-image pins — no new stdout/stderr/log output and no credentials. The pre-existing MYSQL_ROOT_PASSWORD=<some password> in the mysql.Dockerfile usage comment is an unchanged placeholder.
One thing to wait on
renovate/stability-days is still pending (minimum release age), so let that settle before automerge lands this.
|
Renovate review: Dockerfile dependency bumps — looks clean ✅ Reviewed per Digest verification
183 commits upstream, but only one is a real Dockerfile-frontend behavior change: moby/buildkit#6930, which fixes a spurious dockerignore warning for No regression exposure here:
Maintenance release (2026-07-28): bug fixes across InnoDB, JSON, optimizer, and replication. Items worth knowing:
Blast radius is small: this Dockerfile is only the local convenience image described in its own header. The CI matrix uses upstream
Renovate classifies this as digest-only, but the new digest is Other notes
|
🔄 Flaky Test DetectedAnalysis: TestPeerFlowE2ETestSuiteBQ/Test_Soft_Delete_Basic hit its 3-minute EnvWaitFor deadline waiting for a CDC update to normalize into BigQuery (insert had already succeeded, no BQ/network errors logged), while the same test passed on the other two matrix legs of this Renovate Dockerfile-bump PR — a latency flake, not a regression. ✅ Automatically retrying the workflow |
🔄 Flaky Test DetectedAnalysis: TestApiPg/TestResyncWithSnapshotConfigOnPausedPipe hit an UNEXPECTED TIMEOUT waiting 3 minutes for the flow to be dropped after termination in only 1 of 3 identical matrix legs, on a Renovate Dockerfile-only PR that cannot affect drop logic — a timing/race timeout rather than a real assertion failure, though the resync→terminate handoff deserves a look if it recurs. ✅ Automatically retrying the workflow |
2cd4d68 to
3ed42af
Compare
Dependency bump review — reviewed, looks clean ✅All three digests were verified against the current Docker Hub tag digests, and the upstream release notes / commit ranges were read for each bump. No blocking findings; no changes to stdout/stderr/logging and no secret or PII exposure.
|
3ed42af to
d378f58
Compare
Renovate bump review — clean ✅Reviewed per
|
d378f58 to
54d44e0
Compare
Dependency bump review — clean ✅Reviewed all three bumps against upstream release notes and verified the pinned digests resolve to the claimed tags on Docker Hub. Digest verification
|
🔄 Flaky Test DetectedAnalysis: All 9 failures on the single failing matrix leg are ~61s "UNEXPECTED STATUS TIMEOUT" waits on mirrors stuck in STATUS_SETUP/STATUS_SNAPSHOT across four unrelated suites, while the other two matrix legs passed on the same commit and all core services reported healthy — indicating runner-level stall/contention rather than a bug in this Renovate Dockerfile bump. ✅ Automatically retrying the workflow |
54d44e0 to
bd7f450
Compare
|
Reviewed this Renovate bump against Digest verification All three pinned digests match what the tags currently resolve to on Docker Hub (no tag/digest mismatch):
Upstream release notes for the bumped range docker/dockerfile 1.25 → 1.26 ( Side note: mysql 9.7.1 → 9.7.2 (
Worth noting for scope: this Dockerfile is a local/dev helper only. CI e2e runs pin node:24-alpine digest bump ( Other review criteria No new stdout/stderr/log output is introduced, so no PII or secret-exposure risk. The |
b3f3956 to
6347d47
Compare
Renovate review:
|
| Pin | Tag digest today | Match |
|---|---|---|
docker/dockerfile:1.26 |
sha256:ecfaec9e…95fc32 |
✅ |
mysql:9.7.2 |
sha256:257388ed…a7ab4e |
✅ |
node:24-alpine |
sha256:d32cdf61…e1ad43 |
✅ |
docker/dockerfile 1.25 → 1.26 (stacks/flow.Dockerfile, stacks/peerdb-ui.Dockerfile)
Frontend release notes for dockerfile/1.26.0 list a single notable change: "Fix incorrect warning when matching dockerignore patterns to COPY ." (moby/buildkit#6930). Diffing dockerfile/1.25.0...dockerfile/1.26.0, the only non-test changes under frontend/dockerfile/ are builder/build.go, builder/resolvecache.go, dockerfile2llb/validations.go, version/version.go and linter docs — no syntax/semantic changes affecting our directives (--mount=type=cache, COPY --chown, multi-stage, build args). No regression risk identified.
Note: exporter: default attestations to OCI artifacts also landed in that commit range, but that is a BuildKit daemon/exporter change, not part of the frontend the # syntax= line pins, so it is not pulled in by this bump.
mysql 9.7.1 → 9.7.2 (stacks/mysql.Dockerfile)
Routine patch on the 9.7 LTS line (docker-library/mysql, 2026-07-27). Release notes are net-positive for our MySQL CDC path — several binlog/replication fixes (SOURCE_RETRY_COUNT=0 now consistently treated as unlimited reconnects, row-based apply with TIMESTAMP NOT NULL, binary_log_transaction_compression_stats race, event-rotate/heartbeat handling) plus InnoDB AUTO_INCREMENT and unique-index fixes.
Checked the two behavior changes for impact and both are non-issues here:
thread_pool_max_unused_threadsdefault 2 → 32 — thread pool plugin isn't enabled instacks/mysql/my.cnf.sample.- Enterprise Linux 7 support dropped — irrelevant to the container image.
CUBE/EXTERNAL/QUALIFY/TABLESAMPLEare now properly reserved keywords — greppedflow/connectors/mysqlandflow/e2e/mysqlfor those identifiers, no hits.
Blast radius is also small: stacks/mysql.Dockerfile is a dev-only helper (per its own header comment) and isn't referenced by any compose file, Tiltfile, workflow, or Go test. CI's MySQL service uses mysql:9.5 (.github/workflows/flow.yml:57) and the e2e debug image pins 8.0.46 — both untouched and unaffected.
node:24-alpine digest (stacks/peerdb-ui.Dockerfile)
Renovate labels this digest-only, but the tag moved Node 24.18.0 → 24.19.0. The previous digest was pinned in #4514 (2026-06-29, 24.18.0 era); 24-alpine now resolves to NODE_VERSION=24.19.0 on alpine:3.24.
This is a security-relevant bump: it rolls up 24.18.1 (2026-07-29), which fixed 11 CVEs including high-severity HTTP/2 header memory retention / RST-stream handling and a permission-model radix tree issue, and updated llhttp 9.4.3 / undici 7.29.0. 24.19.0 itself is semver-minor LTS (new blob.textStream(), TurboSHAKE/KangarooTwelve WebCrypto, --experimental-import-text, etc.) with no breaking changes. Alpine base line is unchanged from the previous pin (3.24), so apk add openssl in the base stage is unaffected.
No PII/secret output is added anywhere in this diff.
Unrelated FYI (pre-existing, not introduced here)
stacks/peerdb-server.Dockerfile:1 pins docker/dockerfile:1@sha256:87999aa3… — that digest is the 1.24 frontend, so it's two minors behind. Because it uses the floating :1 tag instead of :1.25/:1.26, Renovate tracks it as a separate dependency and this PR doesn't touch it. Might be worth aligning it to 1.26 so all three images build with the same frontend.
05c3f82 to
09f0de1
Compare
|
Renovate bump review — clean ✅ Reviewed all 4 changed lines in Digest verification All four pins were checked against Docker Hub and resolve correctly:
Upstream review of the bumped ranges
Other checks
|
09f0de1 to
f13bbc8
Compare
Dependency bump review — clean ✅Reviewed per Digest verification All four pins resolve to the tags they claim (checked against Docker Hub):
Side benefit: before this PR Upstream release notes / commit log
The only notable change called out upstream is "Fix incorrect warning when matching dockerignore patterns to Worth noting explicitly, since it looks alarming in the v0.32.x log:
Patch release, mostly replication-applier and JSON fixes. I checked specifically for anything that could affect our MySQL CDC (binlog reader, GTID): nothing changes binlog event format or GTID semantics. The one replication fix that touches row events (Bug #120128 — Also:
Other checks
|
f13bbc8 to
91c7e59
Compare
|
🤖 Automated dependency review Reviewed per Digest verification All four pins were resolved against Docker Hub and match what the diff claims:
Upstream release notes — regression check
The only frontend-visible change is a bug fix: "Fix incorrect warning when matching dockerignore patterns to
Patch release, bug fixes only. Nothing touches the options in
Same tag, rebuilt 2026-08-03 — routine Node 24 LTS patch plus Alpine base security updates. No major-version movement, so Secrets / PII (REVIEW.md rule 1) No new logging, stdout/stderr output, or credential handling introduced. The Non-blocking nit, pre-existing: |
🔄 Flaky Test DetectedAnalysis: Timing-dependent duplicate emission in the brand-new TestCockroachDBSuite/Test_CDC_Exactly_Once_Across_Batches — the connector deliberately emits buffered records past the checkpoint when resolved timestamps stall beyond IdleTimeout+2s (cdc.go:489), which a loaded CI runner easily triggers; the other two CockroachDB matrix legs passed on identical code and the PR is a Renovate Dockerfile bump touching no Go code. ✅ Automatically retrying the workflow |
91c7e59 to
0068d0f
Compare
|
Renovate dependency bump review — no findings Reviewed per Digest verification (all confirmed against Docker Hub)
Regression assessment
The
The rest of the range is buildkitd-side (solver/exporter/executor) and does not ship with the frontend image — notably No open buildkit issues report a 1.26 frontend regression. The features these Dockerfiles rely on —
Maintenance release: X Plugin and Clone plugin fixes, optimizer fixes (
Notes (non-blocking, pre-existing)
Verdict: clean, safe to merge once CI is green. |
🔄 Flaky Test DetectedAnalysis: All four failures are BigQuery normalize ✅ Automatically retrying the workflow |
🔄 Flaky Test DetectedAnalysis: A Renovate Dockerfile-only PR failed with a rotating subset of BigQuery e2e tests hitting 180s "UNEXPECTED TIMEOUT" waiting for normalization (different tests on attempt 1 vs attempt 2, and the same tests passed in a parallel matrix leg on the same commit), indicating transient BigQuery/runner contention rather than a real bug. ✅ Automatically retrying the workflow |
0068d0f to
2227871
Compare
|
Reviewed this Renovate bump per Digest verification All four pins resolve to the current Docker Hub digest for their tag (checked against
Side benefit: Upstream release notes for the bumped ranges
Note this Dockerfile is the local/dev MySQL image only — the CI matrix pins its own versions (
Other checks
|
2227871 to
f53d527
Compare
|
Reviewed this Renovate bump per Digest verification All four pins were verified against Docker Hub; every digest matches the tag it claims:
Upstream release notes / regression check docker/dockerfile 1.25 → 1.26 ( docker/dockerfile mysql 9.7.1 → 9.7.2 (
node 24.18.x-alpine3.24 → 24.19.0-alpine3.24 ( Secrets / PII No changes to logging or stdout/stderr output. The only credential-adjacent line anywhere near the diff is the pre-existing Note: |
f53d527 to
73a5aba
Compare
Renovate bump review — no findingsReviewed all 4 changed files against Digest verificationEvery pinned digest resolves to the claimed tag on Docker Hub:
All three Regression analysis
Net effect is a security improvement. Low risk, recommended.
Blast radius is small regardless: Note
|
73a5aba to
9b42291
Compare
|
Renovate bump review — clean ✅ Reviewed per Digests verified against the registry All four pins resolve to the current tag digests on Docker Hub:
Upstream changes in the bumped ranges docker/dockerfile 1.25.0 → 1.26.0 (release notes, 183 commits) Outside of tests, only four files under
No new required gateway capabilities and no Dockerfile syntax or semantic changes. Every feature these Dockerfiles rely on ( mysql 9.7.1 → 9.7.2 (release notes, 2026-07-28) Bug-fix release, with nothing that regresses the settings in
Worth noting this Dockerfile is a manual dev helper — nothing in CI or compose references it, and node:24-alpine digest → 24.19.0 (release notes, 2026-08-03) Semver-minor within Active LTS, rolling up the 24.18.1 security fixes (HTTP/2, HTTPS, permission model, SQLite, DNS, zlib). Ships npm 11.17.0, so Other checks
Minor and pre-existing, so out of scope here: |
9b42291 to
42d865a
Compare
🔄 Flaky Test DetectedAnalysis: All tests in the pg17 job failed simultaneously with infrastructure errors ("Temporal client dial... context deadline exceeded" and "no mapping defined for search attribute MirrorName") because CI's readiness gate omits temporal/temporal-admin-tools and the one-shot search-attribute registration script races Temporal server startup — not a test or code defect. ✅ Automatically retrying the workflow |
Renovate dependency bump review — looks clean ✅Reviewed per Digest verification — every pinned digest resolves to the tag it claims:
Upstream review of the bumped ranges
The rest of the range is buildkit-daemon/vendor churn (containerd v2.2.5,
Secrets / PII ( One note for whoever merges: |
42d865a to
f00898c
Compare
f00898c to
1de5d36
Compare
Renovate bump review — no findings ✅Reviewed per
|
| Ref | Pinned digest | Registry |
|---|---|---|
docker/dockerfile:1.26 |
ecfaec9… |
✅ match |
docker/dockerfile:1 |
ecfaec9… |
✅ match |
mysql:9.7.2 |
257388e… |
✅ match |
node:24-alpine |
d32cdf6… |
✅ match |
Status
renovate/stability-days is currently pending (minimum release age not met), so automerge is held until that clears — expected, no action needed.
No regressions identified. LGTM.
|
Renovate dependency review — no findings Reviewed per Digest verification — all four pins resolve to the current Docker Hub tags:
docker/dockerfile 1.25 → 1.26 (1.26.0, 2026-07-29) Only one user-visible frontend change since 1.25.0: "Fix incorrect warning when matching dockerignore patterns to mysql 9.7.1 → 9.7.2 (release notes, 2026-07-28) Bugfix-only release, no CVEs listed. Behavior changes worth knowing, none of which affect this repo:
Several replication/binlog fixes land in this release (row-based apply with node 24-alpine digest Patch-level rebuild within Node 24 on Alpine 3.24 (same Alpine minor as the previous pin), consumed only by the UI build stages. No lockfile or engine constraint changes needed. |
This PR contains the following updates:
1.25→1.2687999aa→ecfaec99.7.1→9.7.2a0b9bf0→d32cdf6Configuration
📅 Schedule: (in timezone Etc/UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.