diff options
Diffstat (limited to 'vendor/k8s.io/client-go/README.md')
-rw-r--r-- | vendor/k8s.io/client-go/README.md | 79 |
1 files changed, 60 insertions, 19 deletions
diff --git a/vendor/k8s.io/client-go/README.md b/vendor/k8s.io/client-go/README.md index 48fe02fa8..82f41d738 100644 --- a/vendor/k8s.io/client-go/README.md +++ b/vendor/k8s.io/client-go/README.md @@ -2,21 +2,32 @@ Go clients for talking to a [kubernetes](http://kubernetes.io/) cluster. -We currently recommend using the v2.0.0 tag. See [INSTALL.md](/INSTALL.md) for +We currently recommend using the v6.0.0 tag. See [INSTALL.md](/INSTALL.md) for detailed installation instructions. `go get k8s.io/client-go/...` works, but will give you head and doesn't handle the dependencies well. -[![Build Status](https://travis-ci.org/kubernetes/client-go.svg?branch=master)](https://travis-ci.org/kubernetes/client-go) -[![GoDoc](https://godoc.org/k8s.io/client-go?status.svg)](https://godoc.org/k8s.io/client-go) +[![BuildStatus Widget]][BuildStatus Result] +[![GoReport Widget]][GoReport Status] +[![GoDocWidget]][GoDocReference] + +[BuildStatus Result]: https://travis-ci.org/kubernetes/client-go +[BuildStatus Widget]: https://travis-ci.org/kubernetes/client-go.svg?branch=master + +[GoReport Status]: https://goreportcard.com/report/github.com/kubernetes/client-go +[GoReport Widget]: https://goreportcard.com/badge/github.com/kubernetes/client-go + +[GoDocWidget]: https://godoc.org/k8s.io/client-go?status.svg +[GoDocReference]:https://godoc.org/k8s.io/client-go ## Table of Contents - + - [What's included](#whats-included) - [Versioning](#versioning) - [Compatibility: your code <-> client-go](#compatibility-your-code---client-go) - [Compatibility: client-go <-> Kubernetes clusters](#compatibility-client-go---kubernetes-clusters) - [Compatibility matrix](#compatibility-matrix) - [Why do the 1.4 and 1.5 branch contain top-level folder named after the version?](#why-do-the-14-and-15-branch-contain-top-level-folder-named-after-the-version) +- [Kubernetes tags](#kubernetes-tags) - [How to get it](#how-to-get-it) - [How to use it](#how-to-use-it) - [Dependency management](#dependency-management) @@ -80,22 +91,30 @@ We will backport bugfixes--but not new features--into older versions of #### Compatibility matrix -| | Kubernetes 1.3 | Kubernetes 1.4 | Kubernetes 1.5 | Kubernetes 1.6 | -|---------------------|----------------|----------------|----------------|----------------| -| client-go 1.4 | + | ✓ | - | - | -| client-go 1.5 | + | + | - | - | -| client-go 2.0 | + | + | ✓ | - | -| client-go 3.0 beta | + | + | + | ✓ | -| client-go HEAD | + | + | + | + | +| | Kubernetes 1.4 | Kubernetes 1.5 | Kubernetes 1.6 | Kubernetes 1.7 | Kubernetes 1.8 | Kubernetes 1.9 | +|---------------------|----------------|----------------|----------------|----------------|----------------|----------------| +| client-go 1.4 | ✓ | - | - | - | - | - | +| client-go 1.5 | + | - | - | - | - | - | +| client-go 2.0 | +- | ✓ | +- | +- | +- | +- | +| client-go 3.0 | +- | +- | ✓ | - | +- | +- | +| client-go 4.0 | +- | +- | +- | ✓ | +- | +- | +| client-go 5.0 | +- | +- | +- | +- | ✓ | +- | +| client-go 6.0 | +- | +- | +- | +- | +- | ✓ | +| client-go HEAD | +- | +- | +- | +- | +- | + | Key: * `✓` Exactly the same features / API objects in both client-go and the Kubernetes version. -* `+` client-go has features or api objects that may not be present in the - Kubernetes cluster, but everything they have in common will work. -* `-` The Kubernetes cluster has features the client-go library can't use - (additional API objects, etc). +* `+` client-go has features or API objects that may not be present in the + Kubernetes cluster, either due to that client-go has additional new API, or + that the server has removed old API. However, everything they have in + common (i.e., most APIs) will work. Please note that alpha APIs may vanish or + change significantly in a single release. +* `-` The Kubernetes cluster has features the client-go library can't use, + either due to the server has additional new API, or that client-go has + removed old API. However, everything they share in common (i.e., most APIs) + will work. See the [CHANGELOG](./CHANGELOG.md) for a detailed description of changes between client-go versions. @@ -104,8 +123,11 @@ between client-go versions. |----------------|--------------------------------------|-------------------------------| | client-go 1.4 | Kubernetes main repo, 1.4 branch | = - | | client-go 1.5 | Kubernetes main repo, 1.5 branch | = - | -| client-go 2.0 | Kubernetes main repo, 1.5 branch | ✓ | -| client-go 3.0 | Kubernetes main repo, 1.6 branch | ✓ | +| client-go 2.0 | Kubernetes main repo, 1.5 branch | = - | +| client-go 3.0 | Kubernetes main repo, 1.6 branch | = - | +| client-go 4.0 | Kubernetes main repo, 1.7 branch | ✓ | +| client-go 5.0 | Kubernetes main repo, 1.8 branch | ✓ | +| client-go 6.0 | Kubernetes main repo, 1.9 branch | ✓ | | client-go HEAD | Kubernetes main repo, master branch | ✓ | Key: @@ -128,6 +150,23 @@ separate directories for each minor version. That soon proved to be a mistake. We are keeping the top-level folders in the 1.4 and 1.5 branches so that existing users won't be broken. +### Kubernetes tags + +As of October 2017, client-go is still a mirror of +[k8s.io/kubernetes/staging/src/client-go](https://github.com/kubernetes/kubernetes/tree/master/staging/src/k8s.io/client-go), +the code development is still done in the staging area. Since Kubernetes 1.8 +release, when syncing the code from the staging area, we also sync the Kubernetes +version tags to client-go, prefixed with "kubernetes-". For example, if you check +out the `kubernetes-v1.8.0` tag in client-go, the code you get is exactly the +same as if you check out the `v1.8.0` tag in kubernetes, and change directory to +`staging/src/k8s.io/client-go`. The purpose is to let users quickly find matching +commits among published repos, like +[sample-apiserver](https://github.com/kubernetes/sample-apiserver), +[apiextension-apiserver](https://github.com/kubernetes/apiextensions-apiserver), +etc. The Kubernetes version tag does NOT claim any backwards compatibility +guarantees for client-go. Please check the [semantic versions](#versioning) if +you care about backwards compatibility. + ### How to get it You can use `go get k8s.io/client-go/...` to get client-go, but **you will get @@ -137,7 +176,9 @@ management system. See [INSTALL.md](/INSTALL.md) for detailed instructions. ### How to use it -If your application runs in a Pod in the cluster, please refer to the in-cluster [example](examples/in-cluster/main.go), otherwise please refer to the out-of-cluster [example](examples/out-of-cluster/main.go). +If your application runs in a Pod in the cluster, please refer to the +in-cluster [example](examples/in-cluster-client-configuration), otherwise please +refer to the out-of-cluster [example](examples/out-of-cluster-client-configuration). ### Dependency management @@ -146,4 +187,4 @@ If your application depends on a package that client-go depends on, and you let * or run `godep save` in your application folder to flatten all dependencies. ### Contributing code -Please send pull requests against the client packages in the Kubernetes main [repository](https://github.com/kubernetes/kubernetes), and run the `/staging/copy.sh` script to update the staging area in the main repository. Changes in the staging area will be published to this repository every day. +Please send pull requests against the client packages in the Kubernetes main [repository](https://github.com/kubernetes/kubernetes). Changes in the staging area will be published to this repository every day. |