tiny-kubernetes 1.1.1

Creator: bradpython12

Last updated:

Add to Cart

Description:

tinykubernetes 1.1.1

tiny-kubernetes
tiny-kubernetes provides a thin wrapper on top of requests to make it
easier to work with Kubernetes APIs.
Features

Automatic authentication ($KUBECONFIG)
Simplified response traversal (never['do']['this']['again']) thanks to
DotMap
Sane exceptions
No crazy complex client-side APIs to deal with

Why?
The official kubernetes package is, uh, complex. While it does support all
the advanced features the Kubernetes API offers (like WebSocket streaming) it is
often non-trivial to work with. tiny-kubernetes aims to provide most of the same
functionality with minimal overhead.
Installation
pip install tiny-kubernetes

Usage
from tiny_kubernetes import KubernetesAPIClient

client = KubernetesAPIClient()
client.load_auto_config()

pods = client.get('/api/v1/namespaces/{}/pods', 'default')
for pod in pods['items']:
print pod.metadata.name

Notice that you can access (almost) all parts of the Kubernetes API response
using dot accessors (courtesy of DotMap). As .items() is a reserved name
in dictionaries, it needs to be accessed more traditionally, but most other
member names can use the shortened syntax.
The endpoint is formatted using str.format with the remaining positional
arguments. All keyword arguments are passed through to requests's
Session.request, so you can include a body with json={...} or URL
parameters with params={...}.
A special json_patch method exists to help perform patches. It works around
a few potential requests bugs automatically. For example, it can be used to
append labels to a resource:
client.json_patch([{
'op': 'add',
'path': '/metadata/labels/foo',
'value': 'bar'
}], '/api/v1/namespaces/{}/pods/{}', 'default', 'some-pod')

Notes

Temporary files may be created if using a local $KUBECONFIG with
base64-encoded certificates. Due to limitations in python's SSL library these
must be decoded and written to the filesystem to be used. They should be
cleaned up when the interpreter exits.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.