K8s
K8s - Kubernetes API Client for Elixir
Installation
If available in Hex, the package can be installed
by adding k8s
to your list of dependencies in mix.exs
:
def deps do
[
{:k8s, "~> 0.2"}
]
end
Usage
Check out the Usage Guide for in-depth examples.
Most functions are also written using doctests.
- K8s.Client doctests
- K8s.Cluster doctests
- K8s.Conf doctests
- K8s.Resource doctests
- K8s.Version doctests
Features
- A client API for humans
- Kubernetes resources, groups, and CRDs are autodiscovered at boot time. No swagger file to include or override.
- Client supports standard HTTP calls, async batches, wait on status, and watchers
- Supports multiple clusters
Supports multiple authentication credentials
- serviceaccount
- token
- certificate
- auth-provider
- Supports multiple kubernetes API
- Tested against kubernetes swagger specs: 1.10+ and master
- CRD support
- Kubernetes resource and version helper functions
- Kube config file parsing
- Certificate and service account based auth
- Pluggable auth providers
- Macro free; fast compile & fast startup
Non-features
- Modules for every kubernetes resource.
- Assume the "default" namespaces. Always provide a namespace when a namespace is applicable.
- Support for the deprecated Watch API.
Docs
Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/k8s.