By creating a Gadget that executes shell commands, the Gadget will become capable of encompassing a variety of other services: Docker containers, Eigenlayer AVS, etc.
Command Execution
[x] Execute a command and get the output of the command
[x] Execute multiple commands sequentially, potentially building upon the output of each executed command
[x] Launch a continuous service like a Docker container, where a binary may live
Monitoring/Communication between gadget-executor and its children
[x] Executor can restart children upon restarting; executor picks back up
[x] Should deal with loss of communication from child; is it dead?
gadget-executor
For now, the gadget-executor is located in the protocols repo as it follows the same overarching structure as each of the protocols within that repository. As it furthers in development and use, it may become necessary for it to be moved to its own separate repository or into gadget.
Overview
By creating a Gadget that executes shell commands, the Gadget will become capable of encompassing a variety of other services: Docker containers, Eigenlayer AVS, etc.
Command Execution
Monitoring/Communication between
gadget-executor
and its childrengadget-executor
For now, the gadget-executor is located in the protocols repo as it follows the same overarching structure as each of the protocols within that repository. As it furthers in development and use, it may become necessary for it to be moved to its own separate repository or into gadget.