Skip to content

chore(deps): consolidate outstanding dependency updates for single-pass testing - #1797

Merged
gambol99 merged 18 commits into
masterfrom
chore/deps-consolidated
Sep 17, 2026
Merged

gambol99 merged 18 commits into
masterfrom
chore/deps-consolidated

Conversation

@mrsheepuk

@mrsheepuk mrsheepuk commented Sep 17, 2026 •

Copy link
Copy Markdown
Member

Consolidates the outstanding dependency updates against develop into one change set so the full CI + E2E surface can be exercised once. The go_modules PRs all rewrite go.mod/go.sum/vendor/ and cannot be merged independently without conflicting; #1791 also subsumes #1789 and #1788 (ec2 v1.294.0 already requires aws-sdk-go-v2 v1.41.3 and smithy-go v1.24.2).

Supersedes: #1793, #1791, #1790, #1789, #1788, #1787, #1785, #1784, #1783, #1782.
Intentionally not included: #1752 (tablewriter v1.1.3) - it changes rendered tnctl table padding and fails pkg/cmd/tnctl/state/list_test.go, which overlaps the open CLI formatting work in #1562.

Dependency changes

Module From To Driver
aws-sdk-go-v2/service/ec2 v1.285.0 v1.294.0 #1791
aws-sdk-go-v2 v1.41.1 v1.41.5 #1789, raised by s3 v1.97.3
aws/smithy-go v1.24.1 v1.24.2 #1788
sigs.k8s.io/controller-runtime v0.22.4 v0.23.3 #1790
go.opentelemetry.io/otel{,/metric,/trace} v1.39.0 v1.44.0 #1782 + advisory
go.opentelemetry.io/otel{,/sdk/metric} v1.39.0 v1.44.0 #1782 + advisory
golang.org/x/crypto v0.48.0 v0.55.0 7 critical advisories
google.golang.org/grpc v1.78.0 v1.83.2 4 advisories (1 critical)
golang.org/x/net v0.50.0 v0.58.0 advisory
hashicorp/go-getter (direct) v1.8.4 v1.8.6 advisory
go-jose/go-jose/v4 v4.1.3 v4.1.4 advisory
aws-sdk-go-v2/service/s3 v1.95.0 v1.97.3 advisory
aws-sdk-go-v2/aws/protocol/eventstream v1.7.4 v1.7.8 advisory
go.mongodb.org/mongo-driver v1.17.4 v1.17.7 advisory

Security targets are the minimum fixed versions, which keeps everything on the go1.25 toolchain (latest x/crypto/x/net/go-getter require go1.26). go-getter v1.8.6 requires go 1.25.8, so the go directive moves 1.25.0 -> 1.25.8 and the now-redundant toolchain pin is dropped (CI resolves go-version: "1.25" to 1.25.14). The otel bump goes to v1.44.0 rather than the v1.40.0 proposed in #1782, because 1.40.0 is still inside two open advisory ranges (otel <= 1.40.0, otel/sdk <= 1.42.0). Bumps pulled in transitively by these (grpc/cloud.google.com/envoy, golang.org/x/*, genproto) are included.

Code changes required

  • controller-runtime 0.23 deprecations (make golangci-lint runs staticcheck: all, so these are fatal): the 7 validators and 3 defaulters move to admission.Validator[T]/Defaulter[T] with concrete resource types, and registrations move to admission.WithValidator/WithDefaulter. The now impossible expected a X, but got: Y test cases are dropped.
  • mgr.GetEventRecorderFor is deprecated in favour of the events.k8s.io backed mgr.GetEventRecorder. That migration changes event RBAC and the 12 Eventf call sites, so it is deliberately deferred; the 8 call sites carry a scoped //nolint:staticcheck with a TODO. Behaviour unchanged.
  • GitHub Actions majors: login-action v4, build-push-action v7.0.0, setup-buildx-action v4, upload-artifact v7, download-artifact v8.
  • Alpine base image 3.23.3 -> 3.23.5 (Dockerfile.controller, Dockerfile.executor, Dockerfile.cli): both image jobs were failing on CVE-2026-31789 (openssl heap buffer overflow), reported CRITICAL against libcrypto3/libssl3 3.5.5-r0 with the fix in 3.5.6-r0. apk add ca-certificates does not upgrade it because the installed version already satisfies the dependency, so the base tag has to move; alpine:3.23.5 ships 3.5.7-r0.

Verification

  • go build ./..., go vet ./... clean
  • make test - all packages pass
  • make golangci-lint - clean
  • gofmt -l pkg cmd test - clean
  • CI on this PR - all 9 checks pass, including the two image jobs and their trivy scans (the gobinary scan of bin/controller also reports 0 findings)
  • Reproduced the CVE locally with the CI scan settings (trivy image --ignore-unfixed --severity CRITICAL): alpine:3.23.3 reports 2 CRITICAL, all three rebuilt images report 0
  • E2E dispatched on this branch (cloud=aws, version=ci): https://github.com/appvia/terranetes-controller/actions/runs/35239861007 - the image build/upload/download jobs and the helm install, webhook registration, provider and configuration creation all pass, confirming the migrated generic webhooks serve correctly. The run then fails at the terraform plan step with BackoffLimitExceeded while the runner's own diagnostics S3 upload reports InvalidAccessKeyId - the E2E AWS credential is stale, not a regression. Last green develop E2E was 2026-01-22. Re-run after rotating the secret: GIT_BRANCH=chore/deps-consolidated make trigger-aws-e2e

Note: develop is currently missing 3 commits that are only on master (including the GHSA-26jv-m5j2-9xpp enableAutoApproval fix in #1794), so a master -> develop reconcile is still outstanding and this branch does not include that fix.

@mrsheepuk

Copy link
Copy Markdown
Member Author

Verification status

CI on this PR: ci, linting, binaries, cli, formating, helm, dependencies all pass. controller-image and executor-image fail at the trivy "Verify Image" step, which is pre-existing - both jobs are also red on already-merged #1786 and #1796.

AWS E2E dispatched on this branch (cloud=aws, version=ci): https://github.com/appvia/terranetes-controller/actions/runs/35239861007

  • controller-image / executor-image jobs: success - this exercises the bumped docker/setup-buildx-action@v4, docker/build-push-action@v7.0.0 and actions/upload-artifact@v7
  • e2e job: Retrieve Controller Image / Retrieve Executor Image / Load images success - exercises actions/download-artifact@v8
  • Helm install, CRDs, webhook registration (We should have the controller webhooks enabled, mutating webhook present), provider, configuration creation and plan job creation all pass, so the migrated admission.Validator[T]/Defaulter[T] webhooks are serving correctly
  • The run then fails at We should see the terraform plan complete successfully: the terraform/executor Job hits BackoffLimitExceeded, and the workflow's own diagnostics S3 upload fails with InvalidAccessKeyId: The AWS Access Key Id you provided does not exist in our records

That InvalidAccessKeyId is raised by the runner's own S3 upload using E2E_AWS_ACCESS_KEY_ID/E2E_AWS_SECRET_ACCESS_KEY, i.e. the E2E AWS credential is stale rather than a regression in this change set. The last E2E run on develop was 2026-01-22 (success), and none have run since, so the AWS secret needs rotating before this branch can produce a full E2E pass. A re-run after rotation is a one-liner: GIT_BRANCH=chore/deps-consolidated make trigger-aws-e2e.

dependabot Bot and others added 17 commits September 17, 2026 17:17
…#1756)

Dependabot couldn't find the original pull request head commit, 34300db.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
….0 to 1.281.0 (#1759)

chore(deps): bump github.com/aws/aws-sdk-go-v2/service/ec2

Bumps [github.com/aws/aws-sdk-go-v2/service/ec2](https://github.com/aws/aws-sdk-go-v2) from 1.280.0 to 1.281.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@service/ec2/v1.280.0...service/ec2/v1.281.0)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/ec2
  dependency-version: 1.281.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
)

Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.27.5 to 2.28.1.
- [Release notes](https://github.com/onsi/ginkgo/releases)
- [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md)
- [Commits](onsi/ginkgo@v2.27.5...v2.28.1)

---
updated-dependencies:
- dependency-name: github.com/onsi/ginkgo/v2
  dependency-version: 2.28.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
….0 to 1.285.0 (#1764)

chore(deps): bump github.com/aws/aws-sdk-go-v2/service/ec2

Bumps [github.com/aws/aws-sdk-go-v2/service/ec2](https://github.com/aws/aws-sdk-go-v2) from 1.281.0 to 1.285.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@service/ec2/v1.281.0...service/ec2/v1.285.0)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/ec2
  dependency-version: 1.285.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.39.0 to 1.39.1.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](onsi/gomega@v1.39.0...v1.39.1)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  dependency-version: 1.39.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…0 to 1.77.1 (#1770)

chore(deps): bump github.com/aws/aws-sdk-go-v2/service/eks

Bumps [github.com/aws/aws-sdk-go-v2/service/eks](https://github.com/aws/aws-sdk-go-v2) from 1.77.0 to 1.77.1.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@service/s3/v1.77.0...service/s3/v1.77.1)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/eks
  dependency-version: 1.77.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.34.0 to 0.35.0.
- [Commits](golang/oauth2@v0.34.0...v0.35.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-version: 0.35.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [k8s.io/cli-runtime](https://github.com/kubernetes/cli-runtime) from 0.35.0 to 0.35.1.
- [Commits](kubernetes/cli-runtime@v0.35.0...v0.35.1)

---
updated-dependencies:
- dependency-name: k8s.io/cli-runtime
  dependency-version: 0.35.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…1 to 1.79.0 (#1772)

chore(deps): bump github.com/aws/aws-sdk-go-v2/service/eks

Bumps [github.com/aws/aws-sdk-go-v2/service/eks](https://github.com/aws/aws-sdk-go-v2) from 1.77.1 to 1.79.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@service/s3/v1.77.1...service/s3/v1.79.0)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/eks
  dependency-version: 1.79.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.41.0 to 0.42.0.
- [Release notes](https://github.com/golang/tools/releases)
- [Commits](golang/tools@v0.41.0...v0.42.0)

---
updated-dependencies:
- dependency-name: golang.org/x/tools
  dependency-version: 0.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.18.0 to 6.19.2.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](docker/build-push-action@v6.18.0...v6.19.2)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: 6.19.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…0 to 1.80.0 (#1776)

chore(deps): bump github.com/aws/aws-sdk-go-v2/service/eks

Bumps [github.com/aws/aws-sdk-go-v2/service/eks](https://github.com/aws/aws-sdk-go-v2) from 1.79.0 to 1.80.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](aws/aws-sdk-go-v2@service/s3/v1.79.0...service/s3/v1.80.0)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/eks
  dependency-version: 1.80.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [k8s.io/code-generator](https://github.com/kubernetes/code-generator) from 0.35.0 to 0.35.1.
- [Commits](kubernetes/code-generator@v0.35.0...v0.35.1)

---
updated-dependencies:
- dependency-name: k8s.io/code-generator
  dependency-version: 0.35.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [github.com/aws/smithy-go](https://github.com/aws/smithy-go) from 1.24.0 to 1.24.1.
- [Release notes](https://github.com/aws/smithy-go/releases)
- [Changelog](https://github.com/aws/smithy-go/blob/main/CHANGELOG.md)
- [Commits](aws/smithy-go@v1.24.0...v1.24.1)

---
updated-dependencies:
- dependency-name: github.com/aws/smithy-go
  dependency-version: 1.24.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 5.10.0 to 6.0.0.
- [Release notes](https://github.com/docker/metadata-action/releases)
- [Commits](docker/metadata-action@v5.10.0...v6.0.0)

---
updated-dependencies:
- dependency-name: docker/metadata-action
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Consolidates the outstanding dependency updates against develop so they can be
tested as a single change set (the go_modules PRs all rewrite go.mod/go.sum and
vendor/ and cannot be merged independently without conflicts).

Dependabot batch:
- github.com/aws/aws-sdk-go-v2/service/ec2 v1.285.0 => v1.294.0
- github.com/aws/aws-sdk-go-v2 v1.41.1 => v1.41.5 (raised from v1.41.3 by the
  security sweep below)
- github.com/aws/smithy-go v1.24.1 => v1.24.2
- sigs.k8s.io/controller-runtime v0.22.4 => v0.23.3
- go.opentelemetry.io/otel{,/metric,/trace} v1.39.0 => v1.44.0
- go.opentelemetry.io/otel{,/sdk/metric} v1.39.0 => v1.44.0

Security advisories cleared (minimum fixed versions, staying on the go1.25
toolchain):
- golang.org/x/crypto v0.48.0 => v0.55.0 (7 critical advisories)
- google.golang.org/grpc v1.78.0 => v1.83.2 (4 advisories, 1 critical)
- golang.org/x/net v0.50.0 => v0.58.0
- github.com/hashicorp/go-getter v1.8.4 => v1.8.6 (direct dependency)
- github.com/go-jose/go-jose/v4 v4.1.3 => v4.1.4
- github.com/aws/aws-sdk-go-v2/service/s3 v1.95.0 => v1.97.3
- github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.4 => v1.7.8
- go.mongodb.org/mongo-driver v1.17.4 => v1.17.7

The otel bump goes to v1.44.0 rather than the v1.40.0 dependabot proposed, as
1.40.0 is still inside two open advisory ranges (otel <= 1.40.0, otel/sdk
<= 1.42.0). go-getter v1.8.6 requires go 1.25.8, which raises the go directive
from 1.25.0 to 1.25.8 (the redundant toolchain pin is dropped).

Regenerated with `go get`, `go mod tidy` and `go mod vendor`.
controller-runtime 0.23 deprecates the runtime.Object shaped webhook
interfaces, which `make golangci-lint` (staticcheck SA1019) rejects.

- admission.CustomValidator/CustomDefaulter => admission.Validator[T]/Defaulter[T]
  with the concrete resource type, so the type assertion is done by the type
  system rather than at request time
- admission.WithCustomValidator/WithCustomDefaulter => WithValidator/WithDefaulter
  (the resource object is now derived from T)
- drop the now impossible "expected a X, but got: Y" test cases; the mismatch
  can no longer be constructed
- mgr.GetEventRecorderFor is deprecated in favour of the events.k8s.io backed
  mgr.GetEventRecorder. That migration changes event RBAC and the Eventf call
  sites, so it is deliberately deferred here and the 8 call sites carry a scoped
  //nolint:staticcheck with a TODO instead. Behaviour is unchanged.
- docker/login-action v3 => v4 (images.yaml)
- docker/build-push-action v6.19.2 => v7.0.0 (e2e.yaml, images.yaml)
- docker/setup-buildx-action v3 => v4 (e2e.yaml; images.yaml already on v4.3.0)
- actions/upload-artifact v6 => v7 (e2e.yaml)
- actions/download-artifact v7 => v8 (e2e.yaml)
@gambol99
gambol99 force-pushed the chore/deps-consolidated branch from bd77268 to a928e67 Compare September 17, 2026 16:26
@gambol99
gambol99 changed the base branch from develop to master September 17, 2026 16:28
@gambol99
gambol99 merged commit ddba48f into master Sep 17, 2026
@gambol99
gambol99 deleted the chore/deps-consolidated branch September 17, 2026 16:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants