osrd icon indicating copy to clipboard operation
osrd copied to clipboard

Add a custom core-controller to manage specialized core instances

Open ElysaSrc opened this issue 1 year ago • 0 comments

Description and goal

Develop the core-controller, which monitor requests from editoast in queues and orchestrates the startup of core instances as well as all the surrounding elements.

Acceptance criteria

  • [X] Observe the REST API of RabbitMQ to schedule pods
  • [X] Local Docker Support: Integrate the core-controller with the Docker API to control the lifecycle of the containers.
  • [X] Kubernetes Support in Production: Develop the integration between the core-controller and the Kubernetes API to manage the lifecycle of the core-controller.
  • [X] Using Redis to Manage the Controller's State: use Redis to store the state of the Core Controller. This is to ensure that the Core Controller can be horizontally scalable.
  • [X] API Implementation: Implement an API through which either the gateway directly, or editoast, can inquire about the state of the different cores.

ElysaSrc avatar Feb 20 '24 15:02 ElysaSrc