Open
Description
When running environments locally, you commonly want to execute some components off ENVITE to be able to execute newer versions that not yet available via docker images, you want to test local changes, debug issues and so on. All of those will be easier when not running via docker containers.
Suppose you have an environment of 3 layers:
layer1: component1, component2
layer2: component3, component4
layer3: component5, component6
Now how can we operate when we want to run component3
in our IDE, for example, instead of via a docker container. Typically, we need to first apply a state for components 1, 2, and 3 to run. When this is done we can manually run component 4 in our IDE. Then when we're done we can go back to ENVITE and start components 5 and 6.
This can be cumbersome. We have two suggestions to ease this process:
- Allow docker components config to define steps to execute a bash script (or something similar) as an alternative to actually running in docker.
- Add any kind of support in the UI to mark
component3
for local execution instead of the normal docker execution.
Some thoughts:
- bash scripts by themselves might not do the job since they will not cover running in the IDE or running in debug mode. At least not easily. They will, however, cover running local code outside the IDE, simply by a bash script to a local, relative path.
- Relative paths need to be addressed somehow. On my machine the path to the source code of
component3
is/a/b/c
and on someone else's it will be something else. - With either solution, we have to implement something in the UI to be able to mark specific components for local execution.
- Maybe a simplest first implementation can omit the first suggestion for now and provide a way
component3
for local execution. Then when we apply all components, when it's time to runcomponent3
the UI will halt everything and let us know ENVITE is waiting for us to startcomponent3
ourselves. Then, once we finish we can click some button to let ENVITE know it can continue applying the rest of the layers.
Metadata
Assignees
Labels
No labels
Activity