The Lido Validator Ejector
The validator ejector is a Lido-provided container image that automates validator exits. We run it with pre-signed exit messages. Pre-signed messages are JSON files loaded into a specified directory inside the ejector container.
Message decryption by the validator ejector can be slow when many messages are loaded. To optimize for startup time and coverage, we load ALL exit messages to a larger instance and then split the files into subfolders of 500 on a smaller instance.
Decryption on the larger instance takes about an hour, so it runs roughly 12 times per day. The smaller instance runs more frequently; because each subdirectory contains only 500 files, we rotate the validator_ejector_exit_messages_subdirectory value to point the ejector to the next set of 500 keys once the current batch is exhausted.
Documentation: https://github.com/lidofinance/validator-ejector