-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Description
Manta CLI provides system administrators with essential operations to manage their clusters. To improve integration, scalability, and ease-of-use, we need to migrate these functionalities into an HTTP API server. This migration will allow external tools and automated workflows to interact with the cluster management operations programmatically.
Objective:
Transform the existing CLI commands into RESTful API endpoints.
Maintain the current functionality and improve on error handling and logging where possible.
Ensure that the new API provides clear documentation and is secure for production use.
Tasks:
Requirement Analysis:
Review the existing CLI functionalities to list all commands that need to be supported.
Identify key operations such as cluster creation, node management, scaling, monitoring, and access control.
API Design:
Design RESTful endpoints corresponding to CLI operations.
Define request/response formats (e.g., JSON schema) for each endpoint.
Consider versioning (e.g., /api/v1/) to allow future enhancements.
Implementation:
Set up a new HTTP API server using our chosen framework (e.g., Node.js/Express, Python/Flask, Go).
Migrate CLI logic into the corresponding API endpoints.
Implement proper error handling, logging, and authentication/authorization for the API.
Documentation:
Update the project documentation to include API endpoint details.
Provide examples for API calls and expected responses.
Include instructions on how to authenticate and test the endpoints.
Testing:
Develop unit and integration tests to validate each endpoint's functionality.
Test the API under various scenarios, including error cases and high-load conditions.
Ensure backward compatibility where necessary for CLI operations.
Deployment & Rollout:
Prepare deployment scripts and configurations for the API server.
Roll out the API server in a staging environment for user feedback.
Finalize deployment plan and rollback procedures for production.
Acceptance Criteria:
A comprehensive mapping of CLI commands to API endpoints is documented.
All critical CLI operations are available as RESTful API endpoints.
The API server includes proper error handling, logging, and authentication.
Documentation is updated with clear API usage examples.
Tests covering major functionalities have been written and passed.
The API server is successfully deployed in a staging environment and validated by initial user testing.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels