Skip to content

Releases: cloudydeno/deno-kubernetes_client

v0.3.1: Fix Cluster CA on Deno v1.15+

27 Nov 14:59
2ba9a5c
Compare
Choose a tag to compare

Fix cluster certificate authority setup in KubeConfigRestClient on Deno v1.15.0 and later.

In Deno v1.15, the API for adding extra certificate authorities was replaced with a new Array field, which newly allows adding extra certificate authorities. Upstream documentation on the change can be found in the Deno 1.15 blogpost: https://deno.com/blog/v1.15#in-memory-ca-certificates

TLS-related configuration are locked behind Deno's --unstable flag, and Kubernetes loves TLS :) so using an API that can change completely on any minor release is a necessary evil for now.

v0.3.0: TLS client auth, Deno 1.11+

29 Aug 12:22
Compare
Choose a tag to compare
  • Allow TLS authentication, when supported by Deno (#7).
    • Requires running Deno with --unstable.
    • Not available yet as of Deno v1.13.2. To use immediately, use deno upgrade --canary.
    • Should be available in Deno v1.14 once it is released.
  • More consistently obey --verbose flag (#4).
  • Updated deps to /[email protected].
  • Now requires Deno v1.11 or later.

v0.2.4: Improve Deno Deploy compatibility

09 May 14:52
Compare
Choose a tag to compare
  • Clean up Deno-specific code in stream-transformers.ts.
    • This also improves compatibility with Deno Deploy.
  • Updated deps to /[email protected].

v0.2.3: Fix InClusterConfig regression in v0.2.2

26 Apr 10:43
6bd0795
Compare
Choose a tag to compare
Correctly base64-encode certificate-authority-data

v0.2.2: Kubeconfig inline CA data fix, update README

21 Apr 20:50
Compare
Choose a tag to compare

Fix for using certificate data stored within kubeconfig. The Base64 encoding was not being respected previously.

Also updated README to leverage the new permissions scoping in Deno 1.9, where --allow-run=kubectl can now be used to make the required development permissions just that bit less wide-open.

v0.2.1: Windows environment detection

27 Mar 07:53
Compare
Choose a tag to compare

Better Windows support from jhannes via #1. Checks for the $USERPROFILE variable as well as $HOME.

v0.2.0: Consolidate all fetch-based clients

27 Feb 23:06
Compare
Choose a tag to compare

Rewrote KubeConfig handling and removed stable/unstable split.

There's only two transport implementations now: KubectlRawRestClient and KubeConfigRestClient.

autoDetectClient() tries a lot harder now and if nothing works, it prints a compound error message (a la AWS credential chaining 😉) showing why each one failed.

Breaking change for almost any usage more complex than calling autoDetectClient().

v0.1.3: Improved locally patching resources

29 Dec 15:29
Compare
Choose a tag to compare

Now supports namespaced resources ;) and knows that subresources can't be patched.

Also, when running locally no API traffic is logged unless --verbose is passed to the Deno program.
This is to help make interactive tooling more ergonomic.
All request paths are still logged in-cluster.

Hopefully will be able to put this down for a bit to bake, and come back to bump version once it feels stable.

v0.1.2: Initial via-kubectl-raw Patch support

29 Dec 15:22
Compare
Choose a tag to compare

Also exports the Reflector implementation and plumbs unstable/via-kubeconfig.ts more.

v0.1.1: Add generic Reflector

24 Dec 22:34
Compare
Choose a tag to compare

Copy of notes from reflector.ts:

Implementation of a Kubernetes List/Watch client which furnishes a view of the watched data.
This is commonly called a 'Reflector' among the client libraries, though this one is less standard.

The core class here is a bit generic and tries to depend mostly on things within this file.
This is because a Reflector works pretty directly with Kubernetes API objects,
while this overall kubernetes_client module only serves as an API access path.
So you'll be furnishing your exact API structures by instiantiating the Reflector class.
(Usually the API will be from /x/kubernetes_apis/builtin/meta@v1/struct.ts but it can vary)

This class/file work fine, but the types and APIs are still unstable while I figure out
what's necesary for various usecases.
Please file issues or start discussions if you have any input!

The new module is not imported anywhere, it is a standalone addition. This will likely remain so until I"m more confident in the API.

Also, added contentType to the request options contract. This will be used for patching.