Skip to content
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

docker compose separation for client diversity, configuration management #267

Open
2 tasks
carameleon opened this issue May 5, 2024 · 0 comments
Open
2 tasks
Labels
protocol protocol team tickets

Comments

@carameleon
Copy link

🎯 Problem to be solved

background

At the moment, just a single client combination is provided for obol DVT configuration.
e.g., nethermind-lighthouse-charon-lodestar-...

It does not make any problem itself. However, if all cluster members use the same configuration, which makes single point of failure against the same client.

In this approach(like MA to MSA), we need to divide a single docker-compose file to several docker-compose files.

It makes easy management, easy to use. These changes can be deployed for https://github.com/ObolNetwork/lido-charon-distributed-validator-node/

Obol can provides predefined multiple client configurations easily.

It allows operators

  • to choose their own combination from predefined client configurations (by adding clients in docker-compose.yml they choose)
  • be able to check changes easily
  • easily update modified service file (merge conflict from changes. It will not prevent conflict, but it narrow conflict range)

example

current :
single docker-compose.yml including nethermind-lighthouse-lodestar-charon-...

want:
docker-compose.yml

include:
- el/docker-compose-el-nethermind.yml
- cl/docker-compose-cl-lighthouse.yml
- vc/docker-compose-vc-lodestar.yml
- docker-compose-mev-boost.yml
- docker-compose-charon.yml
- docker-compose-prometheus.yml
- docker-compose-grafana.yml

networks:
  dvnode:

docker-compose-el-nethermind.yml, docker-compose-el-....yml

...

docker-compose-cl-lighthouse.yml, docker-compose-cl-....yml

...

docker-compose-vc-xxx.yml, docker-compose-vc-....yml

...

docker-compose-charon.yml
...
...

full example of concept : cosmostation@0f64add

expected work if these changes are acceptable

  • It is required to configure docker-compose-xxx.yml for supported clients
  • It needs to build new structures to accommodate current docker volume mount.

🧪 Tests

  • Works in local docker-compose
  • Has a attested on a testnet at least once

👐 Additional acceptance criteria

❌ Out of Scope

@github-actions github-actions bot added the protocol protocol team tickets label May 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
protocol protocol team tickets
Projects
None yet
Development

No branches or pull requests

1 participant