Rainbond/vendor/k8s.io/utils
2019-11-25 16:14:32 +08:00
..
buffer upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
clock upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
diff upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
exec upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
field upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
hack upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
inotify upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
integer upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
io upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
keymutex upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
mount upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
net upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
nsenter upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
path upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
pointer upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
semantic upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
strings upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
third_party/forked/golang upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
trace upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
.travis.yml upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
code-of-conduct.md upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
CONTRIBUTING.md upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
go.mod upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
go.sum upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
HOWTOMOVE.md upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
LICENSE upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
Makefile upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
OWNERS upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
README.md upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00
SECURITY_CONTACTS upgrade client-go to 1.16.3 2019-11-25 16:14:32 +08:00

Utils

Build Status GoDoc

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 dependence 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.

  • Full unit test coverage.

  • Go tools compliant (go get, go test, etc.).

  • Complex enough to be worth vendoring, rather than copying.

  • Stable, or backward compatible, API.

  • No dependence on any Kubernetes repository.

Libraries

  • Exec provides an interface for os/exec. It makes it easier to mock and replace in tests, especially with the FakeExec struct.

  • Temp provides an interface to create temporary directories. It also provides a FakeDir implementation to replace in tests.

  • Clock provides an interface for time-based operations. It allows mocking time for testing.

  • Pointer provides some functions for pointer-based operations.

  • Io provides interfaces for working with file IO. Currently it provides functionality for consistently reading a file.

  • NSEnter provides interfaces for executing and interacting with processes running within a namespace.

Contributing

Please see CONTRIBUTING.md for instructions on how to contribute.