probo
probo copied to clipboard
Add Node.js plugin
This PR does two things:
- It allows running any user-defined services on the start of a container
- Adds a Node plugin
For 1:
- If the user chooses an image that does not have default services, the user must specify a service that runs on the foreground "forever".
- All images must be updated to include an executable
/startup.sh
file. Otherwise, this won't work.
For 2, take a look at https://github.com/Probo-Demos/probo-example-node
@sk33lz - Thoughts? I could see a user-defined start up service that, unchecked, could pose security concerns or resource issues depending on possible nefarious uses. I like the idea of this, however not controlling startup services could be a problem.
Perhaps a way to let Probo know in the yaml file (inside the node plugin perhaps) the location of the node script and let Probo start up its own node instance to run this?
If the purpose is to provide a plugin support for NodeJS, then we shouldn't allow a bash shell that could conceivably run any installable binary.
Yeah, this was a proof of concept that Valentin worked on before he left. It started as a way to support node.js apps easier, but he expanded it to be able to run any user defined service. We would definitely want to flush this out a bit more before integrating anything like this into production.
This is going to be revisited in the next iteration of Probo. Closing the PR, but keeping the branch for the time being.