Go 1.25 comes with a major improvment for Kubernetes, it now reads the cgroup CPU limits set in the container and automatically adjusts GOMAXPROCS. This means we can drop GOMAXPROCS from the distribution manifests that are now using the downward API.
To Go upgrade procedure is:
- Bump the
go minor version in all go.mod files.
- Change the Makefile
tidy target to match the new Go version.
- Bump the
golang image tag in Dockerfiles (including Go fuzzing).
- Bump the
go-version in all GitHub workflows.
- Bump the Go version in
Prerequisites section of all dev docs.
Repos subject to this upgrade:
Note that releasing cli-utils, then all fluxcd/pkg with Go 1.25 must be done before moving to controllers.
Go 1.25 comes with a major improvment for Kubernetes, it now reads the cgroup CPU limits set in the container and automatically adjusts
GOMAXPROCS. This means we can dropGOMAXPROCSfrom the distribution manifests that are now using the downward API.To Go upgrade procedure is:
gominor version in allgo.modfiles.tidytarget to match the new Go version.golangimage tag inDockerfiles (including Go fuzzing).go-versionin all GitHub workflows.Prerequisitessection of all dev docs.Repos subject to this upgrade:
Note that releasing
cli-utils, then allfluxcd/pkgwith Go 1.25 must be done before moving to controllers.