/go

OpenAPI based generated Go Client for Kubernetes

Primary LanguageGoApache License 2.0Apache-2.0

OpenAPI based Generated Go client for Kubernetes

This repo hosts an experimental Golang client library generated using swagger-codegen and Kubernetes OpenAPI spec. Currently the client capability meets the Bronze Requirement and is supported in Alpha state, as described in Kubernetes: New Client Library Procedure. For more advanced functionality (e.g. controller and shared informer), please refer to the more mature Kubernetes Go client.

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

Compatibility

This client library follows semver, 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}.

cd ${GO_DIR}/kubernetes
${GEN_DIR}/openapi/go.sh ./ ./settings

Contributing

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