README

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

Contributing

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

Expand ▾ Collapse ▴

Directories

Path Synopsis
Package env provides utility functions for using environment variables.
Package env provides utility functions for using environment variables.
Package exec provides an injectable interface and implementations for running commands.
Package exec provides an injectable interface and implementations for running commands.
Package inotify implements a wrapper for the Linux inotify system.
Package inotify implements a wrapper for the Linux inotify system.
Package mount defines an interface to mounting filesystems.
Package mount defines an interface to mounting filesystems.
net
ebtables
Package ebtables allows to control the ebtables Linux-based bridging firewall.
Package ebtables allows to control the ebtables Linux-based bridging firewall.
Package temp provides an interface to handle temporary files and directories.
Package temp provides an interface to handle temporary files and directories.
temptest
Package temptest provides utilities for testing temp files/directories testing.
Package temptest provides utilities for testing temp files/directories testing.
third_party
forked/golang/reflect
Package reflect is a fork of go's standard library reflection package, which allows for deep equal with equality functions defined.
Package reflect is a fork of go's standard library reflection package, which allows for deep equal with equality functions defined.