View Source Changelog
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.
unreleased
Unreleased
1-1-1-2022-03-01
[1.1.1] - 2022-03-01
fixed
Fixed
- Initialize authorization header as valid keyword list #142
- Restore deprecated
K8s.Sys.Event
module.
1-1-0-2022-02-21
[1.1.0] - 2022-02-21
added
Added
K8s.Client.Runner.Watch.stream/3
- watches a resource and returns an elixir Stream of events #121K8s.Client.apply/2
- Create a server-side apply operation
changed
Changed
- Handle generic kubernetes response Failure without a reason #120
- Replace Notion with Telemetry and improve Logging #128
deprecated
Deprecated
K8s.Client.HTTPProvider.headers/2
was deprecated in favor ofK8s.Client.HTTPProvider.headers/1
K8s.Client.DynamicHTTPProvider.headers/2
was deprecated in favor ofK8s.Client.DynamicHTTPProvider.headers/1
fixed-1
Fixed
- Preserve namespace in get_to_list/1 #122, #123
- Fix obsolete doc on wait operation #118
- Dialyzer errors with K8s.Client functions #119
- Enable peer certificate authentication #127. Be aware, this will break configurations that have been using incorrect certificate(s) up to this point.
1-0-0-2021-07-19
[1.0.0] - 2021-07-19
added-1
Added
K8s.Resource.NamedList.access!/1
raises if item is missing- K8s.Operation.put_label_selector/2
- K8s.Operation.get_label_selector/1
- Per connection http provider configuration
- K8s.Operation now uses keyword lists for query_params instead of maps
changed-1
Changed
- error tuples refactored away from binary and atom to exception modules
- removed dialyzer exceptions
K8s.Conn.from_file/2
now returns an ok or error tupleK8s.Conn.from_service_account/N
now returns an ok or error tupleK8s.Conn.t()
is now the first argument in all runners.K8s.Operation.t()
is now the second.- deprecated K8s.http_provider/0
- deprecated K8s.Discovery.default_opts/0
- deprecated K8s.Discovery.default_driver/0
- Refactored cluster names to strings
K8s.Resource.NamedList.access/1
deals better with missing items now- Removed K8s.Client.run/4, use
K8s.Client.run/3
to pass options to HTTP provider - Middleware moved to K8s.Conn.Middleware
removed
Removed
- K8s.Conn.lookup/1
- config.exs based cluster registration is no longer supported, build K8s.Conn using K8s.Conn module
- environment variable based cluster registration has been removed and may be moved to an external library
0-5-2-2020-07-31
[0.5.2] - 2020-07-31
added-2
Added
- Added auth
exec
support
0-5-1-2020-07-17
[0.5.1] - 2020-07-17
added-3
Added
- K8s.Operation struct
query_params
field - BasicAuth auth provider
- Deprecated HTTPoison options being passed to K8s.Client.Runner.base
- K8s.Operation.put_query_param/3 to add query parameters by key
- K8s.Operation.get_query_param/3 to get a query parameter by key
- DigitalOcean authentication
K8s.Resource.NamedList.access/1
- Accessor for lists with named items (containers, env, ...) (#82)
changed-2
Changed
- Refactored old references to
cluster_name
toconn
0-5-0-2020-02-12
[0.5.0] - 2020-02-12
added-4
Added
- #42 Request middleware support
- #43 Just in time discovery: K8s.Discovery
- #44 Support for ad-hoc connections. K8s.Conn based functions. Build your own Conn at runtime or config mix/env vars. No more Cluster registry.
- K8s.Resource.from_file/2 and K8s.Resource.all_from_file/2 - non-exception versions
removed-1
Removed
- Boot time discovery K8s.Cluster.Discovery
- K8s.Cluster.base_url/1
- Remove K8s.Cluster*
0-4-0-2019-08-29
[0.4.0] - 2019-08-29
changed-3
Changed
- Renamed
K8s.Conf
toK8s.Conn
- Refactored
:conf
configuration key to:conn
0-3-2-2019-08-15
[0.3.2] - 2019-08-15
added-5
Added
K8s.Selector.match_expressions?/2
to check if a resource matches expressionsK8s.Selector.match_labels?/2
to check if a resource matches labels
changed-4
Changed
K8s.Resource
functions moved to submodule
0-3-1-2019-08-15
[0.3.1] - 2019-08-15
added-6
Added
- text/plain response handling
- K8s.Selector - labelSelector support for K8s.Operation
0-3-0-2019-07-29
[0.3.0] - 2019-07-29
added-7
Added
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
changed-5
Changed
- Refactored tests on DynamicHTTPProvider
- Refactored discovery to use
K8s.Cluster.Discovery
- Set correct content-type for patch operations (https://github.com/coryodaniel/k8s/issues/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"
0-2-13-2019-06-27
[0.2.13] - 2019-06-27
added-8
Added
- K8s.Cluster.base_url/1
0-2-12-2019-06-26
[0.2.12] - 2019-06-26
added-9
Added
- First K8s.Client.Runner.Stream evaluation made lazy
- K8s.Resource.api_version/1
0-2-11-2019-06-24
[0.2.11] - 2019-06-24
added-10
Added
- K8s.Resource.cpu/1 parses cpu resource requests/limits strings to number
- K8s.Resource.memory/1 parses cpu resource requests/limits strings to number
0-2-10-2019-06-24
[0.2.10] - 2019-06-24
added-11
Added
- K8s.Client.Runner.Stream for producing elixir streams from k8s list results
- K8s 1.15 swagger file
changed-6
Changed
- Reversed pattern matching in functions from
var=pattern
topattern=var
- Added make target for fetching master swagger before running tests
0-2-9-2019-06-10
[0.2.9] - 2019-06-10
added-12
Added
- 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