chore(deps): patch Dependabot alerts; migrate kubewatch argo-cd v2 -> v3 - #401
Open
prkhrkat wants to merge 4 commits into
Open
chore(deps): patch Dependabot alerts; migrate kubewatch argo-cd v2 -> v3#401prkhrkat wants to merge 4 commits into
prkhrkat wants to merge 4 commits into
Conversation
…argo-cd v3 Rebased onto main after #395 landed, so this is only the remaining delta. Across every module: google.golang.org/grpc 1.79.3 / 1.80.0 -> 1.82.1 Per module: chart-sync oras-go 2.6.1 -> 2.6.2 common-lib oras-go 2.6.1 -> 2.6.2, k8s.io/kubernetes 1.33.4 -> 1.33.6 kubelink oras-go 2.6.1 -> 2.6.2, k8s.io/kubernetes 1.33.4 -> 1.33.6 git-sensor go-git/v5 5.19.1 -> 5.19.2 lens go-pg/pg/v10 10.14.0 -> 10.15.0 kubewatch argo-cd/v2 2.14.20 -> argo-cd/v3 3.4.7, argo-workflows/v3 3.7.14 -> 3.7.15, oras-go 2.6.1 -> 2.6.2, go-git/v5 5.19.1 -> 5.19.2, k8s.io 0.33.3 -> 0.34.9, k8s.io/kubernetes 1.33.4 -> 1.34.10 kubewatch: the argo-cd/v2 advisory has no patched release, so migrating is the only way it closes. Only three files import argo-cd, so the change is an import-path rewrite with no API fallout. argo-cd v3.4 moved gitops-engine in-repo to github.com/argoproj/argo-cd/gitops-engine. Its local `replace ./gitops-engine` does not apply to consumers and the version it requires does not exist at the new path, so `go mod tidy` fails outright; pinned via replace to the v3.4.7 tag revision. Dropped the filepath-securejoin => v0.3.6 replace. Its comment states it exists because argo-cd/v2 calls the old MkdirAll(root, path, int(mode)) signature; argo-cd v3.4.7 requires v0.6.1, so forcing v0.3.6 was now holding the module *below* what argo-cd needs. Since the failure it guarded lives in secure_mkdir_linux.go, every module was verified with GOOS=linux, not just the host build. Verified: vendor-mode build of all nine modules for both darwin and GOOS=linux, plus `make build` end to end. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
argo-cd v3.4.7 pulls in gitops-engine, which requires go 1.26.0, so kubewatch's go directive moved 1.25.7 -> 1.26.0 and the image build failed on golang:1.25-alpine. Keeps the floating -alpine form #395 moved to; note there is no golang:1.26-alpine3.21 (the alpine3.21 variant was dropped for Go 1.26 -- the registry 404s), so the pinned form could not have been carried over even if wanted. Build stage only: the runtime stage stays on alpine:3.21.2 and kubewatch builds CGO_ENABLED=0, so the binary is static. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Output of `make build`. These were already stale on main relative to its own common-lib -- they pick up PG_SSL_MODE / PG_SSL_ROOT_CERT. No code change; split out so it can be dropped independently of the dep bumps. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
prkhrkat
force-pushed
the
dependabot-safe-patches-2026-08
branch
from
August 19, 2026 08:17
ec8d3aa to
33e7db5
Compare
|
Some linked issues are invalid. Please update the issue links:\nIssue # in is not found or invalid (HTTP }404).\n |
|
Some linked issues are invalid. Please update the issue links:\nIssue # in is not found or invalid (HTTP }404).\n |
1 similar comment
|
Some linked issues are invalid. Please update the issue links:\nIssue # in is not found or invalid (HTTP }404).\n |
|
Some linked issues are invalid. Please update the issue links:\nIssue # in is not found or invalid (HTTP }404).\n |
github.com/argoproj/argo-cd/gitops-engine sorts before github.com/argoproj/argo-cd/v3, so repointing the import left the block out of order. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes devtron-labs/devtron#6839
Rebased onto
mainafter #395 landed, so this is only the remaining delta.Dependency bumps
Across every module:
google.golang.org/grpc1.79.3 / 1.80.0 → 1.82.1chart-synccommon-libkubelinkgit-sensorlenskubewatchkubewatch → argo-cd v3
The
argo-cd/v2advisory has no patched release — migrating is the only wayit closes. Only three files import argo-cd, so it was an import-path rewrite
with no API fallout.
gitops-engine moved in-repo in v3.4, to
github.com/argoproj/argo-cd/gitops-engine. Argo CD's owngo.modresolves itwith a local
replace ./gitops-engine, which does not apply to consumers, andthe version it requires does not exist at the new path —
go mod tidyfailsoutright. Pinned via
replaceto the v3.4.7 tag revision.Dropped the filepath-securejoin pin⚠️
mainpinsfilepath-securejoin => v0.3.6, and its comment says why: argo-cd/v2calls the old
MkdirAll(root, path, int(mode))signature. argo-cd v3.4.7requires v0.6.1, so after this migration that replace was holding the module
below what argo-cd needs. Removed.
Because the breakage it guarded lives in
secure_mkdir_linux.go, a host-onlybuild would not catch a regression here — so every module was verified with
GOOS=linuxas well.Build fix
kubewatch's go directive moved 1.25.7 → 1.26.0 (gitops-engine requiresgo 1.26.0), so its builder image goes
golang:1.25-alpine→golang:1.26-alpine.Note there is no
golang:1.26-alpine3.21— the alpine3.21 variant was droppedfor Go 1.26 (registry 404s), so the pinned form could not have been carried over
regardless. Build stage only; the runtime stage stays on
alpine:3.21.2andkubewatch builds
CGO_ENABLED=0, so the binary is static.Still open — no upstream fix exists
go-pg/pgv8quay/claircoredocker/docker— Dependabot names 29.3.1, but docker publishes no v29 tag tothe Go proxy (it uses
+incompatible; max is v28.5.2)helm.sh/helm/v33.20.2 is already inchart-syncvia #395.common-libandkubelinkstay on 3.18.6 — 3.20.2 requires k8s 0.35.1 and both are on 0.33; noArgo CD release builds against k8s 0.35 (3.4.x pins 0.34, 3.5.x pins 0.36), so
that is separate work.
Verification
GOOS=linuxmake buildgreen end to end, wire codegen included3.4.6 cluster: discovery negotiated, core/v1 + apps/v1 + batch/v1 +
networking/v1 + rbac/v1 all listed, and an Application built from the v3.4.7 Go
types was accepted by the real CRD via server-side dry-run and decoded back
intact (
automated=true prune=true). Nothing persisted.The third commit is just
env_gen.{json,md}regenerated bymake build— thesewere already stale on
mainrelative to its own common-lib. Split out so it canbe dropped independently.
🤖 Generated with Claude Code