Building and Maintaining a Client Library - Stories From the Trenches
![Building and Maintaining a Client Library - Stories From the Trenches](/2019/images/all/lf_huffc03acb4b89c823f315cae16e4b2e6b_29065_900x500_fit_q75_box.jpg)
As Kubernetes is a pretty complex system, so is the (REST) API of it. On the first look things feel pretty simple, you authenticate with a token or SSL client certificate and POST few resources to the …
Talk Title | Building and Maintaining a Client Library - Stories From the Trenches |
Speakers | Jussi Nummelin (Developer Advocate, Kontena Inc.) |
Conference | KubeCon + CloudNativeCon Europe |
Conf Tag | |
Location | Barcelona, Spain |
Date | May 19-23, 2019 |
URL | Talk Page |
Slides | Talk Slides |
Video | |
As Kubernetes is a pretty complex system, so is the (REST) API of it. On the first look things feel pretty simple, you authenticate with a token or SSL client certificate and POST few resources to the correct API endpoint. How hard can that be? As we’ve been developing our own Kubernetes distribution and some additional tooling for Kubernetes, we’ve also build a new client library for the API in Ruby, k8s-client (https://github.com/kontena/k8s-client). While building and maintaining the client library we’ve stumbled on few, well, odd things on the API and faced some technical challenges also. In this session we’ll go through some the most interesting findings and how we’ve tackled them. These topics include for example the complexity of merge-patching resources, empty vs. null vs. non-existing values, PUT vs. PATCH and API compatibility.