I’m trying to a run a stake pool, still facing some issues/questions, which I hope someone will be able to asnwer. The setup is as wfollows:
The creation of the stake pool was successfull. Jormungandr is up and running. I want to run 5 instances in total, across multiple datacenters. Each instance has a dedicated IP and a dedicated ID. For each instance’s configuration file, I added the other instances as trusted peers and as peers in the preferred list. Each instance is started as follows:
“jormungandr --genesis-block-hash 8e4d2a343f3dcf9330ad9035b3e8d168e6728904262f2c434a4f8f934ec7b676 --config node-config.json --secret node-secret.json”
The node-config, differs for each isntance of course (id, ip, ports, peers), wherease the node-secret is the same for each jormungandr instance.
First question: 1) Is it fine, that all instances start with the same node secret?
I am not using any scripts avalaible, as I want to develop it on my own, I do the following:
*) All 15 seconds, the block highest block hight of all 5 instances is reported to Pooltool.io.
*) All 15 seconds, all nodes that have [(highest block height - instance block height) >= 25], are restarted.
Second question: 2) Is there a better indicator that an instance needs to be restarted, than being 25 blocks behind the highest block height of all instances?
As all instances are started with the --secret parameter, all instances are started as leaders. I have nothing in place like https://github.com/cardano-community/guild-operators/blob/master/scripts/jormungandr-leaders-failover.sh
Third question: 3) Do I need to take care of or implement a logic, that checks that only 1 leader instance is running or is that script obsolete?
Fourth question: 4) If 3) is yes, how would that decision logic be functionally described in words?
Thanks a lot,