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

[FR] Configuration reload without restart #3218

Closed
poupas opened this issue Dec 22, 2021 · 1 comment
Closed

[FR] Configuration reload without restart #3218

poupas opened this issue Dec 22, 2021 · 1 comment

Comments

@poupas
Copy link

poupas commented Dec 22, 2021

This request is related to point 5. of #3088. It aims to decrease downtime when adding new validator keys. Requiring Nimbus to do a full restart to pick-up new validator keys may become problematic for people running many validators.

We think this proposal complements #3088, but does not replace it.

A possible approach to reduce validation downtime is to implement a "reload" mechanism that simply reloads validator keys whenever a signal (typically SIGHUP) is received. This pattern is fairly common for long-running daemons. Some examples:

Another possible strategy is to listen for filesystem changes on specific files/directories (e.g. the validator keys directory), using a mechanism such as inotify. Whenever changes are detected, Nimbus could reload the keys. Some daemons that implement a similar strategy:

This second approach might be superior to sending a signal as it may work better in a multi-container scenario. For example, imagine we have two containers: control_container and nimbus_container (where Nimbus is running). If control_container wants to notify Nimbus to restart, it would require that both control_container and nimbus_container share the same PID namespace.

Yet another approach is to listen for commands on a UNIX socket used exclusively for administrative tasks (e.g. reload, restart, etc.)

@zah
Copy link
Contributor

zah commented Jan 15, 2022

Version 1.6.0 adds support for the standardized Keymanager API that can be used to add, remove or migrate validators on the fly.

An easy-to-use UI for validator management that will eventually support all clients is currently being developed here:
https://github.com/joaquim-verges/eth2-keymanager-frontend

@zah zah closed this as completed Mar 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants