OpenCHAMI / roadmap

Public Roadmap Project for Ochami
MIT License
0 stars 0 forks source link

[RFD] Simplified API for common operations actions #22

Open alexlovelltroy opened 5 months ago

alexlovelltroy commented 5 months ago

Ochami is currently deploying Kraken-CE as an API Gateway. The tool has the ability to convert from one API structure to another. For instance using SMD to query for all cabinets uses a url structure that reads /hsm/v2/State/Components?type=Cabinet. Using krakend, we can make the same response also available at /v1/ochami/physical/cabinets. And, using features that rewrite the request and response in-flight, we can update referrer urls as well.

This ability to rewrite urls and headers on the fly also allows us to take existing urls and remap them to new microservices. If, for instance, we wanted to create a separate microservice route for enumerating racks, we could intercept the /hsm/v2/State/Components endpoints that reference racks and send them to the new microservices without changing the client experience.

This functionality lends itself well to creating new endpoints/microservices that can be optionally deployed to address common operational use cases. Rather than sending several API calls to create a node and set the boot artifacts, we could use KrakenD-CE to expose a simple route that calls smd and bss in the right order and with the right data to achieve the user objective.

This issue should serve as a clearing house of ideas related to simplifying the API structures that operators need to interact with.

What usecases do you have that require multiple API calls, but you think there should be an API to do it in a single shot?