K8s
K8s - A Kubernetes library and HTTP client in 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
- Supports multiple kubernetes API
- Tested against kubernetes swagger specs: 1.10, 1.11, 1.12, 1.13, 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.
- K8s.Client does not assuming "default" namespaces. Always provide a namespace when a namespace is applicable.
- No support the deprecated Watch API.
- Connect URLs aren't supported.
Docs
Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/k8s.