-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add native binary support #18
Comments
Personally I can see that using docker-compose tightly couples the solution to docker, which is a bit of a drawback, but I don't see it as a massive drawback tbh. I have a background in software development, and I would have always preferred using docker/k8s over other solutions. Docker is well understood by all devs and works across all platforms, and docker-compose is a neutral declarative format, which can be used to derive k8s manifests, Helm charts, CFN templates, terraform etc. if needed. I think that supporting docker-compose while also potentially supplying Helm charts could be really useful to a lot of operators. Using binaries means you will have to make it really easy for devs to compile everything in case they need to, and/or you will also need to compile and ship binaries for well known platforms with every release, which is a bit of a headache for the team that maintains the software. |
Related: #81 (comment) |
I use systemd to manage all my services |
Thanks all for your feedbacks! I think we can proceed as follows: the binaries can be published along the docker images (shouldn't be too much of an effort since we already have the workflow setup). These binaries will not have any additional security measure, ie. they will be the same as the images run in docker. The expectation is that node operators will have their own internal setup/restrictions to use. Apart from publishing the images, what is left is tidying up and documenting the configs and env variables that are set by |
Currently Commit Boost relies heavily on Docker to launch and organize the different modules. This has the advantage of better cross-platform support, sandboxing of modules, and easier integration for node operators which already use docker or k8s. However, this tights us closely to Docker and the Docker API, which not all operators may want to use.
We need to explore how to support a similar setup without using Docker, by running native binaries instead.
On linux there are number of internal utilities that can achieve similar sandboxing as docker (and which Docker uses under the hood):
seccomp
filters to fine grain syscalls permissionsMore research is needed on how to best use these and if there are alternative ways to do it, and how to achieve a similar setup on other platforms eg Windows
The text was updated successfully, but these errors were encountered: