Thunder Management API (Cube) - RohanNagar/thunder GitHub Wiki
The Thunder Management API (tentatively named cube
- comes from merging cloud
and kube
) will be responsible for managing Thunder as a Service. It should be aware of users of Thunder and their deployments of Thunder across multiple cloud providers (AWS, Azure, GCP).
TODO Research to see if some of this functionality already exists.
Requirements
Users
- Cube will use Thunder to hold User information. Why offer our product if we don't trust it ourselves? 😄
- The user object should have properties to keep track of which deployments are theirs and their billing information.
Additional Database
- May need to be a separate database to store deployment information
Funtionality
- Keep track of User and Deployment relationships
- Keep track of deployment configurations
- Be able to deploy Thunder into Kubernetes clusters across AWS, Azure, GCP
- Be able to monitor Thunder deployments
- Be able to perform updates when configuration changes
- Be able to perform updates when a new version of Thunder is released
API
- Should be able to call Cube's Thunder instance to get user information
- Call Cube's API to get:
- billing information
- detailed information about a deployment
- Call Cube's API to create a new deployment
- Update an existing deployment
- Delete a deployment