Debian Technical Committee (CTTE) approved to ship Kubernetes as a monolithic package that includes dependencies. Kubernetes requires a large number of Go libraries to run. In accordance with the Debian rules, each library must be maintained in a separate package, which in the case of a single use is impractical and significantly increases labor costs. In addition, for large projects there is a binding to the versions of the libraries, with which stable work is guaranteed. The Kubernetes maintainer did not follow the rules and built about 200 Go dependencies into the package.
After reviewing this violation, the Debian Technical Committee made an exception for Kubernetes and allowed it to be shipped with built-in dependencies (instead of splitting into separate libraries that are linked through the dpkg dependency mechanism, all sources will be downloaded from the set provided by the Kubernetes project and placed in the repository Debian in one go).
By analogy with Firefox, the Kubernetes package is categorized as special, which, due to its large size and complexity, differ from other packages and can be processed separately. It is also noted that Kubernetes developers have significantly more resources to keep the set up to date than the Debian maintainers. Allowing dependency inclusion is rated as the only possible delivery path for Kubernetes for Debian.
Dependency Integration has also been previously approved by the Fedora Project for projects based on the Node.js platform. The issue with dependency integration was discussed in detail in a review published last week.