k8ssandra / management-api-for-apache-cassandra

RESTful / Secure Management Sidecar for Apache Cassandra
Apache License 2.0
73 stars 52 forks source link

Create a k8ssandra wrapper library for the mgmt api Go client #152

Open sync-by-unito[bot] opened 3 years ago

sync-by-unito[bot] commented 3 years ago

Once the go client for the management api is available, we need to code a wrapper library to make it usable in the context of K8ssandra, or some facade code that would allow us to elegantly deal with sending requests to the right pods. This code should be generic in a way that it doesn't need to be updated when the Go Client gets modified to support a new operation.

┆Issue is synchronized with this Jira Story by Unito ┆Issue Number: MAPI-50

bradfordcp commented 2 years ago

Is this a custom wrapper or just a generated client from the OpenAPI spec?

sync-by-unito[bot] commented 2 years ago

➤ John Sanda commented:

It's generated but a bit more involved. emerkle826 can shed more light.

emerkle826 commented 2 years ago

The intent of this ticket is to create a Go client library that is generated from the openapi/swagger spec in Management API. Then, in another ticket for k8ssandra, update the k8ssandra code to use this new Go client, as opposed to implementing all of the Management API interactions directly in k8ssandra. So this ticket essentially creates a standard public library that can be used by any applications wanting to invoke Management API endpoints. Perhaps "wrapper" wasn't a good way to word it.