Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add an external API to Lumper #2

Open
sameo opened this issue Feb 4, 2024 · 1 comment
Open

Add an external API to Lumper #2

sameo opened this issue Feb 4, 2024 · 1 comment
Assignees

Comments

@sameo
Copy link
Contributor

sameo commented Feb 4, 2024

Could be HTTP (preferred) or gRPC based.

@sameo sameo moved this to Todo in Project 2024 Feb 4, 2024
@sameo sameo changed the title Add an HTTP based API to Lumper Add an external API to Lumper Feb 5, 2024
@MurielParaire MurielParaire self-assigned this Feb 22, 2024
@thomas-mauran thomas-mauran self-assigned this Feb 22, 2024
@charley04310 charley04310 self-assigned this Feb 23, 2024
@charley04310
Copy link
Contributor

Proposal for more granular issues

  1. Boostrap rust API (choose a framework) - Create a basic "Hello World" API using a Rust web framework such as Rocket. Implement basic error handling to ensure that appropriate error messages are returned to the user.
  2. Set up CI - Set up continuous integration for the API using a tool such as GitHub Actions.
  3. Create Proto folder and all .proto files needed (models, services) - Create a "proto" folder in the project directory and add all necessary .proto files for defining the API's data models and services.
  4. Add proto build into External API - Add the necessary build steps to compile the .proto files into Rust code that can be used by the API.
  5. Add API endpoint : Configuration - Implement the "configure" API endpoint, which will accept a configuration message in Protobuf format and set the language, variables/inputs, code, and log level for the agent.
  6. Add API endpoint : Run - Implement the "run" API endpoint, which will accept a run message in Protobuf format and start the code in a new container instance. The endpoint should return the container ID.
  7. Add API endpoint : Shutdown command - Implement the "shutdown" API endpoint, which will accept a shutdown message in Protobuf format and gracefully terminate a specific container instance.
  8. Add API endpoint : Logs - Implement the "logs" API endpoint, which will accept a logs message in Protobuf format and retrieve logs for a specific container instance.
  9. Add API endpoint : Metrics - Implement the "metrics" API endpoint, which will accept a metrics message in Protobuf format and retrieve metrics such as execution time and memory usage for a specific container instance.
  10. Create documentation - Create comprehensive documentation for the API, including examples and explanations of each endpoint and its parameters. The documentation should also include instructions for setting up and using the API.

Note: Every endpoint integration must implement protobuf serialization and deserialization

@thomas-mauran thomas-mauran moved this from Todo to Done in Project 2024 May 1, 2024
@thomas-mauran thomas-mauran moved this from Done to In Progress in Project 2024 May 1, 2024
@mfernd mfernd moved this from In Progress to Done in Project 2024 May 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

No branches or pull requests

4 participants