All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Renamed
K8s.Conf
toK8s.Conn
- Refactored
:conf
configuration key to:conn
K8s.Selector.match_expressions?/2
to check if a resource matches expressionsK8s.Selector.match_labels?/2
to check if a resource matches labels
K8s.Resource
functions moved to submodule
- text/plain response handling
- K8s.Selector - labelSelector support for K8s.Operation
K8s.Client.DynamicHTTPProvider
to allow per-process registering of HTTP request handlers.K8s.Cluster.Discovery
discovery interfaceK8s.Cluster.Discovery.api_versions/1
- queries a cluster for all apiVersionsK8s.Cluster.Discovery.resource_definitions/1
- queries a cluster for all resource definitionsK8s.Cluster.Discovery.HTTPDriver
for discovery via k8s REST APIK8s.Cluster.Discovery.FileDriver
for discovery via a file, used for testing, shipped to help dependent libraries mock discovery- Support for creating subresources
- Support for getting subresources
- Support for updating subresources
- Refactored tests on DynamicHTTPProvider
- Refactored discovery to use
K8s.Cluster.Discovery
- Set correct content-type for patch operations (#32)
- Refactored Operation.kind -> Operation.name
- Group.cluster_key/2 -> Group.lookup_key/2
- K8s.Cluster.Group :ets data structure changed to map
- K8s.Cluster.Group module encompases access to :ets table
- Refactored Operation.resource -> Operation.data. The term
resource
is a bit overloaded in this repo, since the operation is encapsulating the HTTP request,data
feels a bit more clear. - Refactored internal references to "group version" to "api version"
- K8s.Cluster.base_url/1
- First K8s.Client.Runner.Stream evaluation made lazy
- K8s.Resource.api_version/1
- K8s.Resource.cpu/1 parses cpu resource requests/limits strings to number
- K8s.Resource.memory/1 parses cpu resource requests/limits strings to number
- K8s.Client.Runner.Stream for producing elixir streams from k8s list results
- K8s 1.15 swagger file
- Reversed pattern matching in functions from
var=pattern
topattern=var
- Added make target for fetching master swagger before running tests
- 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 kubernetes APIs in the same runtime
- serviceaccount authentication
- token authentication
- certificate authentication
- auth-provider authetnicati
- Tested against kubernetes swagger specs: 1.10+ and master
- CRD support
- Kubernetes resource and version helper functions
- Kube config file parsing
- Pluggable auth providers