https://github.com/kubernetes-client/go
OpenAPI based generated Go Client for Kubernetes
https://github.com/kubernetes-client/go
client-go k8s k8s-sig-api-machinery kubernetes
Last synced: about 1 year ago
JSON representation
OpenAPI based generated Go Client for Kubernetes
- Host: GitHub
- URL: https://github.com/kubernetes-client/go
- Owner: kubernetes-client
- License: apache-2.0
- Created: 2017-03-29T20:24:44.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2022-03-08T08:27:45.000Z (about 4 years ago)
- Last Synced: 2025-03-29T15:06:36.780Z (about 1 year ago)
- Topics: client-go, k8s, k8s-sig-api-machinery, kubernetes
- Language: Go
- Homepage: https://kubernetes.io/
- Size: 971 KB
- Stars: 218
- Watchers: 11
- Forks: 76
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: code-of-conduct.md
- Security: SECURITY_CONTACTS
Awesome Lists containing this project
README
# OpenAPI based Generated Go client for Kubernetes
This repo hosts an experimental Golang client library generated using [swagger-codegen](https://github.com/swagger-api/swagger-codegen) and [Kubernetes OpenAPI spec](https://github.com/kubernetes/kubernetes/tree/master/api/openapi-spec). Currently the client capability meets the Bronze Requirement and is supported in Alpha state, as described in [Kubernetes: New Client Library Procedure](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/csi-new-client-library-procedure.md). For more advanced functionality (e.g. controller and shared informer), please refer to the more mature Kubernetes [Go client](https://github.com/kubernetes/client-go).
## Installation
Get the source:
```
cd $GOPATH/src/k8s.io
git clone --recursive https://github.com/kubernetes-client/go.git client
cd client
```
**NOTE on `go get`:**
Currently this repo is still under experimental state and the domains haven't been set up for `go get` yet. Please get the library from source.
## Example
Please see https://github.com/kubernetes-client/go/tree/master/examples for
basic examples of using this client library.
## Documentation
All APIs and Models' documentation can be found at the [Generated client's README file](kubernetes/README.md)
## Compatibility
This client library follows [semver](http://semver.org/), so until the major version of
client gets increased, your code will continue to work with explicitly
supported versions of Kubernetes clusters.
#### Compatibility matrix
| | Kubernetes 1.10 | Kubernetes 1.13 |
|------------------|-----------------|-----------------|
| client 0.1.0a1 | ✓ | |
| client 0.2.0a1 | | ✓ |
Key:
* `✓` Exactly the same features / API objects in both Go client and the Kubernetes
version.
* `+` Go client 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 Go client library can't use
(additional API objects, etc).
### Generatic code
Check out `https://github.com/kubernetes-client/gen` into `${GEN_DIR}`.
Assume that `https://github.com/kubernetes-client/go` is in `${GO_DIR}`.
```sh
cd ${GO_DIR}/kubernetes
${GEN_DIR}/openapi/go.sh ./ ./settings
```
## Contributing
Please see [CONTRIBUTING.md](CONTRIBUTING.md) for instructions on how to contribute.