sostheim / krak8s

API Service for Kraken and Kubernetes Commands
Apache License 2.0
1 stars 5 forks source link

API spec inconsistency #12

Open jshimko opened 7 years ago

jshimko commented 7 years ago

The API spec has several inconsistently formatted inputs in the request bodies. There are underscores, camelCase, no separation (as with namespaceid for listing applications), etc. In several cases, there are a mix of these syntaxes within the same object.

Also, every resource endpoint other than clusters is a plural noun (clusters is /v1/projects/${projectId}/cluster). It also looks like you can't list clusters because that endpoint doesn't exist. Every other resource type can be listed.

sostheim commented 7 years ago

Thanks for pointing these inconsistencies!

The last item you mention is intentional however. There is a restriction that node pools to namespace be 1 to 1. Therefore the cluster endpoint is a single object and not a collection, thus the singular name. So, as you pointed out, there is no list operation on a clusters collection. The only way to GET a cluster is from the endpoing /v1/projects/{projectid}/cluster/{resource_id}.

Projects to namespaces is 1 to many and namespaces to applications is also 1 to many. Thus the plural naming.