1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
# Utils
[![Build Status]](https://travis-ci.org/kubernetes/utils) [](https://godoc.org/k8s.io/utils)
A set of Go libraries that provide low-level, kubernetes-independent packages
supplementing the [Go standard libs].
## Purpose
As Kubernetes grows and spins functionality out of its [core] and into
cooperating repositories like [apiserver], [kubectl], [kubeadm], etc., the need
arises for leaf repositories to house shared code and avoid cycles in repository
relationships.
This repository is intended to hold shared utilities with _no Kubernetes
dependencies_ that may be of interest to any Go project. See these [instructions
for moving] an existing package to this repository.
## Criteria for adding code here
- Used by multiple Kubernetes repositories.
- Complex enough to be worth vendoring, rather than copying (e.g. not 5 LOC).
- Can be fully exercised by unit tests (e.g. no dependencies on kernels).
- Has full unit test coverage.
- Stable, or backward compatible, API, with complete godocs.
- Go tools compliant (`go get`, `go test`, etc.).
- Very few (ideally zero) external dependencies.
- _No dependencies on any other Kubernetes repository_.
[Build Status]: https://travis-ci.org/kubernetes/utils.svg?branch=master
[Go standard libs]: https://pkg.go.dev/std#stdlib
[api]: https://github.com/kubernetes/api
[apiserver]: https://github.com/kubernetes/apiserver
[core]: https://github.com/kubernetes/kubernetes
[ingress]: https://github.com/kubernetes/ingress
[kubeadm]: https://github.com/kubernetes/kubeadm
[kubectl]: https://github.com/kubernetes/kubectl
[instructions for moving]: ./HOWTOMOVE.md
## Contributing
Please see [CONTRIBUTING.md](CONTRIBUTING.md) for instructions on how to contribute.
|