go

module
v0.0.0-...-92040c8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 17, 2021 License: Apache-2.0

README

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.

Directories

Path Synopsis
examples
create-pod
Note: the example only works with the code within the same release/branch.
Note: the example only works with the code within the same release/branch.
in-cluster-client-configuration
Note: the example only works with the code within the same release/branch.
Note: the example only works with the code within the same release/branch.
out-of-cluster-client-configuration
Note: the example only works with the code within the same release/branch.
Note: the example only works with the code within the same release/branch.
watch
Note: the example only works with the code within the same release/branch.
Note: the example only works with the code within the same release/branch.
kubernetes

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL