$ the-wire · showcase
Quantity overflow fixes land as security profiles merger gets a team
By RepoJournal · Filed · About Kubernetes · Composed from the cited sources · methodology
Kubernetes fixed two integer-overflow bugs in resource quantity validation and comparison, and formalized the security-profile-merger subproject with a team in kubernetes/org and a charter in kubernetes/community.
Two bug fixes target the same underlying hazard: int64 math on resource quantities. `ValidateResourceQuantityValue` checked whole-number values with `value.MilliValue()%1000 == 0`, but `MilliValue()` saturates past the milli range and `MaxInt64 % 1000` is 807, so whole numbers like `10^16` (10P) and `10^18` (1E) were rejected with "must be an integer" [1]. Separately, `Quantity.Cmp` could panic or run very long when scales differ by more than int32: `1e2147483647` parses to `int64Amount{value: 1, scale: 2147483647}`, and comparing it against a nanoscale value subtracts `2147483647 - (-9)`, which wraps negative [2]. Both are correctness fixes for extreme-but-valid quantities, not everyday workloads.
The security-profile-merger subproject now has organizational footing. kubernetes/community merged the sig-node subproject addition [3] and kubernetes/org added the corresponding team [4]. This is governance plumbing, so expect review ownership to route through the new team rather than the SIG as a whole.
In test-infra, a new periodic job `ci-kubernetes-dependencies-unwanted` runs daily under `sig-arch-code-organization` and runs no tests. It updates every dependency to latest and rebuilds vendor, runs `cmd/dependencyverifier` for the verdict, and attributes each new reference to the upstream release and commit that added it, using the module proxy and GitHub API with no clone [5]. The motivation is concrete: the existing dependency jobs compute the unwanted-dependency signal and then drop it with `hack/lint-dependencies.sh || true` [6]. The job addresses modules banned by `hack/unwanted-dependencies.json` that can sneak back in during dependency updates.
On the website, the Korean localization dropped its copy of the Minikube NGINX Ingress tutorial [7]. The English page was removed earlier and maintainers said the project no longer recommends ingress-nginx and would not replace the page; the change touched only English content, so Korean still shipped it. No Korean page linked to it and no redirect exists upstream, so this is a straight removal. Elsewhere, a new task page documents the per-release reference documentation flow: fetching the OpenAPI spec, generating the six reference sets, and which pull requests each set needs in reference-docs and the website [8].
Action items
- → Review resource quantity validation and comparison paths if you accept user-supplied quantities at the int64 extremes kubernetes/kubernetes [monitor]
- → Route security-profile-merger reviews through the new team added in kubernetes/org kubernetes/org [plan]
- → Watch ci-kubernetes-dependencies-unwanted results for modules banned by hack/unwanted-dependencies.json kubernetes/test-infra [monitor]
References
- [1] core/validation: check integer resources exactly to avoid int64 overflow ↗ kubernetes/kubernetes
- [2] resource: keep Quantity.Cmp bounded when scales differ by more than int32 ↗ kubernetes/kubernetes
- [3] sig-node: Add security profiles merger subproject ↗ kubernetes/community
- [4] Add team for security-profile-merger ↗ kubernetes/org
- [5] Add periodic job to catch unwanted dependencies ↗ kubernetes/test-infra
- [6] Add periodic job to catch unwanted dependencies ↗ kubernetes/test-infra
- [7] [ko] Remove the outdated Ingress on Minikube with NGINX Ingress Controller page ↗ kubernetes/website
- [8] Add a page for generating reference documentation for a release ↗ kubernetes/website