-
Notifications
You must be signed in to change notification settings - Fork 71
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
Create Go supervisor #80
Comments
We could rename |
Are you planning to create another process/service supervisor? Why not reuse some existing software that already does this? For sunodo/rollups-node, we're using s6-overlay,, but there are a lot of other options if you think The choice for |
Since you're considering migrating some code to golang, maybe this supervisord golang implementation is an option. |
We want to do something much simpler than a supervisor. And, as we rewrite code in Go, we will replace the external binaries with Go packages. So, in the end, there won't be any "supervisor" code left. |
Suggestion for the supervisor code using goroutines: https://gist.github.com/gligneul/dafa46f3e778888e108da13aa2d89d17 |
📚 Context
Running a node right now requires the orchestration of several Docker containers. For testing, running locally, and/or deploying in a VPS a simpler option is desirable.
Original issue/discussion: #26
✔️ Solution
Create a single binary to execute all of our services. All service configuration should be done via environment variables, as the binary will have just a single parameter defining its execution mode: reader, validator, full (reader+validator), or host.
It will forward each service's stdout and stderr to its own stdout and stderr, similar to what is currently done when running the node using the
docker-compose.yml
file.Although
server-manager
is not a service built in this repository, it will also be executed by the binary: it will assume it is installed in the system and available in the PATH.It will also assume the Redis, PostgreSQL, and Hardhat services are already running and ready to connect by the time it starts.
📈 Subtasks
description
tag to Config.toml #177/graphql
,/inspect
,/rollups
(host-mode),/metrics
(dispatcher)The text was updated successfully, but these errors were encountered: