I think we could define better how we will make the communication CLI with the Docker development instance in the new architecture. The container needs a running process to stay active. We could make a communication via API endpoints to keep a web service running on the container receiving information from the CLI for the execution of tasks in Marvin. I created a use-case scenario to facilitate understanding and further discussion.
Scenario: A developer created an engine on marvin through the CLI, he configures his engine in order to describe all the dependencies of the operating system that will be used during development. After the engine configuration process, the developer uses the CLI to upload a development environment on a Docker container, that development environment will contain the refined Marvin toolbox. The CLI then changes its interface in order to contain the standard commands for using engines. He uses the CLI to communicate with the toolbox endpoints and inform that he wants to run an instance of the notebook. After building the model, the developer can, through the CLI, perform a dryrun and upload the http-server for testing. All of these procedures will be done using the communication through API endpoints. Does that sound like a good strategy? Do you have any suggestions, or something that was already foreseen in the original project? Best regards, Lucas Cardoso