-
Notifications
You must be signed in to change notification settings - Fork 25
[VC-45029] Upgrade all the Go dependencies in preparation for a release #722
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[VC-45029] Upgrade all the Go dependencies in preparation for a release #722
Conversation
I used go-mod-upgrade to update only the vcert module and it pulled in the updated pflag and sync dependencies. Then I ran `make go-tidy` to cleanup the go.sum file. - Bump direct dependencies: vcert, pflag, x/sync - Update indirect dependencies: genqlient, fsnotify, duration, gqlparser, pkcs8, x/crypto, x/net, oauth2, sys, term, text - Refresh go.sum for new versions Signed-off-by: Richard Wall <richard.wall@cyberark.com>
- Bump k8s.io/api, k8s.io/apimachinery, k8s.io/client-go, k8s.io/component-base to v0.34.1 - Update sigs.k8s.io/yaml to v1.6.0 - Update several indirect dependencies to latest versions - Add new indirect dependencies for yaml and structured-merge-diff Signed-off-by: Richard Wall <richard.wall@cyberark.com>
- Upgrade sigs.k8s.io/controller-runtime to v0.22.1 - Upgrade cel.dev/expr to v0.24.0 and github.com/google/cel-go to v0.26.0 - Upgrade k8s.io/apiextensions-apiserver and k8s.io/apiserver to v0.34.0 - Update go.sum for new dependency versions Signed-off-by: Richard Wall <richard.wall@cyberark.com>
Signed-off-by: Richard Wall <richard.wall@cyberark.com>
- Bump github.com/cenkalti/backoff/v5 from v5.0.2 to v5.0.3 in go.mod - Update go.sum to reflect new dependency version Signed-off-by: Richard Wall <richard.wall@cyberark.com>
- Update go.mod and go.sum to use latest golang.org/x/sync - Ensure compatibility with new dependency version Signed-off-by: Richard Wall <richard.wall@cyberark.com>
- Bump github.com/prometheus/client_golang to v1.23.2 - Bump github.com/stretchr/testify to v1.11.1 - Update indirect Prometheus and protobuf dependencies - Update golang.org/x/net to v0.43.0 in go.mod and go.sum Signed-off-by: Richard Wall <richard.wall@cyberark.com>
Signed-off-by: Richard Wall <richard.wall@cyberark.com>
- Introduce firefly connection type to CRD schemas - Add firefly accessToken retrieval steps and validation rules - Update controller-gen version annotation - Adjust validation to require one of tpp, vaas, vcp, or firefly - Update LICENSES for new and upgraded dependencies Signed-off-by: Richard Wall <richard.wall@cyberark.com>
- Add instructions for upgrading Go dependencies using go-mod-upgrade - Update govulncheck step to use make verify-govulncheck - Renumber and clarify release steps for improved readability Signed-off-by: Richard Wall <richard.wall@cyberark.com>
| make generate | ||
| ``` | ||
|
|
||
| Finally, create a PR with the changes and merge it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's what I'm doing in this PR.
| ```bash | ||
| go install golang.org/x/vuln/cmd/govulncheck@latest | ||
| govulncheck -v ./... | ||
| make verify-govulncheck |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The verify-govulncheck was fixed recently, to allow it run when there non-opensource Go modules in use:
$ make verify-govulncheck
Running 'GOTOOLCHAIN=go1.25.1 _bin/tools/govulncheck ./...' in directory '.'
No vulnerabilities found.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[14:37:00]* Copilot(gpt-4.1) created the following table which lists Go dependencies that were updated, showing their previous and new versions, update type, and links to their release notes or changelogs (where available).
| Dependency | Previous Version | New Version | Update Type | Release Notes Link |
|---|---|---|---|---|
| github.com/cenkalti/backoff/v5 | v5.0.2 | v5.0.3 | Patch | https://github.com/cenkalti/backoff/releases |
| github.com/jetstack/venafi-connection-lib | v0.4.1-0.20250617093438-475079c98311 | v0.5.0 | Minor | https://github.com/jetstack/venafi-connection-lib/releases |
| github.com/prometheus/client_golang | v1.22.0 | v1.23.2 | Minor | https://github.com/prometheus/client_golang/releases |
| github.com/spf13/cobra | v1.9.1 | v1.10.1 | Minor | https://github.com/spf13/cobra/releases |
| github.com/stretchr/testify | v1.10.0 | v1.11.1 | Minor | https://github.com/stretchr/testify/releases |
| golang.org/x/sync | v0.16.0 | v0.17.0 | Minor | https://pkg.go.dev/changelog/golang.org/x/sync |
| k8s.io/api | v0.33.2 | v0.34.1 | Minor | https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-0.34.md |
| k8s.io/apimachinery | v0.33.2 | v0.34.1 | Minor | https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-0.34.md |
| k8s.io/client-go | v0.33.2 | v0.34.1 | Minor | https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-0.34.md |
| k8s.io/component-base | v0.33.2 | v0.34.1 | Minor | https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-0.34.md |
| sigs.k8s.io/controller-runtime | v0.21.0 | v0.22.1 | Minor | https://github.com/kubernetes-sigs/controller-runtime/releases |
| sigs.k8s.io/yaml | v1.4.0 | v1.6.0 | Minor | https://github.com/kubernetes-sigs/yaml/releases |
| cel.dev/expr | v0.19.1 | v0.24.0 | Minor | https://github.com/google/cel-go/releases |
| github.com/fxamacker/cbor/v2 | v2.7.0 | v2.9.0 | Minor | https://github.com/fxamacker/cbor/releases |
| github.com/google/cel-go | v0.23.2 | v0.26.0 | Minor | https://github.com/google/cel-go/releases |
| github.com/google/gnostic-models | v0.6.9 | v0.7.0 | Minor | https://github.com/google/gnostic/releases |
| github.com/goccy/go-yaml | v1.17.1 | v1.18.0 | Patch | https://github.com/goccy/go-yaml/releases |
| github.com/golang-jwt/jwt/v5 | v5.2.2 | v5.3.0 | Patch | https://github.com/golang-jwt/jwt/releases |
| github.com/emicklei/go-restful/v3 | v3.11.2 | v3.12.2 | Minor | https://github.com/emicklei/go-restful/releases |
| github.com/prometheus/client_model | v0.6.1 | v0.6.2 | Patch | https://github.com/prometheus/client_model/releases |
| github.com/prometheus/common | v0.62.0 | v0.66.1 | Minor | https://github.com/prometheus/common/releases |
| github.com/prometheus/procfs | v0.15.1 | v0.16.1 | Patch | https://github.com/prometheus/procfs/releases |
| go.opentelemetry.io/otel | v1.33.0 | v1.35.0 | Minor | https://github.com/open-telemetry/opentelemetry-go/releases |
| go.opentelemetry.io/otel/trace | v1.33.0 | v1.35.0 | Minor | https://github.com/open-telemetry/opentelemetry-go/releases |
| go.opentelemetry.io/otel/metric | v1.33.0 | v1.35.0 | Minor | https://github.com/open-telemetry/opentelemetry-go/releases |
| go.opentelemetry.io/otel/sdk | v1.33.0 | v1.34.0 | Patch | https://github.com/open-telemetry/opentelemetry-go/releases |
| go.opentelemetry.io/otel/exporters/otlp/otlptrace | v1.33.0 | v1.34.0 | Patch | https://github.com/open-telemetry/opentelemetry-go/releases |
| go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc | v1.33.0 | v1.34.0 | Patch | https://github.com/open-telemetry/opentelemetry-go/releases |
| go.yaml.in/yaml/v2 | not present | v2.4.2 | New | https://github.com/go-yaml/yaml/releases |
| go.yaml.in/yaml/v3 | not present | v3.0.4 | New | https://github.com/go-yaml/yaml/releases |
| k8s.io/apiextensions-apiserver | v0.33.1 | v0.34.0 | Minor | https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-0.34.md |
| k8s.io/apiserver | v0.33.1 | v0.34.0 | Minor | https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-0.34.md |
| k8s.io/kube-openapi | v0.0.0-20250318190949-c8a335a9a2ff | v0.0.0-20250710124328-f3f2b991d03b | Patch | https://github.com/kubernetes/kube-openapi/releases |
| k8s.io/utils | v0.0.0-20250502105355-0f33e8f1c979 | v0.0.0-20250604170112-4c0f3b243397 | Patch | https://github.com/kubernetes/utils/releases |
| sigs.k8s.io/json | v0.0.0-20241010143419-9aa6b5e7a4b3 | v0.0.0-20241014173422-cfa47c3a1cc8 | Patch | https://github.com/kubernetes-sigs/json/releases |
| sigs.k8s.io/structured-merge-diff | v4.6.0 | v6.3.0 | Minor | https://github.com/kubernetes-sigs/structured-merge-diff/releases |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, that's super helpful.
I see sigs.k8s.io/structured-merge-diff went from
v4.6.0 to v6.3.0, big jump; weird thought that Copilot said it's just a minor version bump 😅 i've looked at their release notes and all good; your table made it super easy to do!
I see that there was also a bump of go-yaml/yaml from v2 to v3, I think it's OK. What's weird is that https://github.com/go-yaml/yaml/ is deprecated, I guess it's a transitive dep that hasn't been updated to https://github.com/yaml/go-yaml (@inteon is a contributor of that project I learned recently!)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see sigs.k8s.io/structured-merge-diff went from v4.6.0 to v6.3.0, big jump; weird thought that Copilot said it's just a minor version bump 😅 i've looked at their release notes and all good; your table made it super easy to do!
That was probably because in my prompt I only mentioned patch and minor...wasn't expecting any major updates. I said:
"Create markdown table showing the previous and new versions of each dependency and show which are patch updates and which are minor updates."
I see that there was also a bump of go-yaml/yaml from v2 to v3, I think it's OK. What's weird is that https://github.com/go-yaml/yaml/ is deprecated, I guess it's a transitive dep that hasn't been updated to https://github.com/yaml/go-yaml (@inteon is a contributor of that project I learned recently!)
Not sure. It was pulled in as a transitive dependency of the k8s.io/ dependencies: 5cbd8f2
I want to release the venafi-kubernetes-agent and the new cyberark-disco-agent soon, so in preparation I've updated all the Go dependencies and added that step to the release process, in accordance with the venafi-enhanced-issuer release process:
Dependency Updates
controller-runtimev0.22.1k8s.io/api,client-go,apimachinery,component-basev0.34.1prometheus/client_golangv1.23.2spf13/cobrav1.10.1jetstack/venafi-connection-libv0.5.0sigs.k8s.io/structured-merge-diff/v6(was v4)go.yaml.in/yaml/v2,go.yaml.in/yaml/v3addedgo.sumandLICENSESupdated to reflect new/removed dependencies.Documentation Improvements
RELEASE.mdnow includes:go-mod-upgrade.govulncheck.LICENSES: Updates for new/removed dependencies and license types.