Consumers of the kubernetes golang API and clients must use k8s.io/api,apimachinery,client-go. This is also require to download all the necessary dependencies. The apimachinery code contains a testing util for proxies that is used in client-go and in the kubectl e2e. Since the tests on e2e require ginkgo and we want to ensure this testing library is not used in production, we cast the interface to match one of those libraries, but the problem is that this forces consumers of apimachinery to also download the ginkgo library. Since NewHTTPProxyHandler receives a testing.TB interface, there is no need to cast the interface, if someone wants to use it by implementing a testing interface it is already aware of the risks. Kubernetes-commit: af3b9e613d3b76b826369153760a069aabb4cf7f |
||
|---|---|---|
| .github | ||
| config | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| OWNERS | ||
| README.md | ||
| SECURITY_CONTACTS | ||
| code-of-conduct.md | ||
| doc.go | ||
| go.mod | ||
| go.sum | ||
README.md
Kube-controller-manager
Purpose
This library contains code to expose kube-controller-manager API.
Compatibility
There are NO compatibility guarantees for this repository, yet. It is in direct support of Kubernetes, so branches will track Kubernetes and be compatible with that repo. As we more cleanly separate the layers, we will review the compatibility guarantee. We have a goal to make this easier to use in the future.
Where does it come from?
kube-controller-manager is synced from https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/kube-controller-manager.
Code changes are made in that location, merged into k8s.io/kubernetes and later synced here.
Things you should NOT do
- Directly modify any files under
pkgin this repo. Those are driven fromk8s.io/kubernetes/staging/src/k8s.io/kube-controller-manager. - Expect compatibility. This repo is changing quickly in direct support of Kubernetes and the kube-controller-manager API.