tomaka/redshirt

Bootnode's IP address keeps changing

tomaka opened this issue · 3 comments

It turns out that #433 was a bad idea, and the bootnode's IP address keeps changing.
I'm unfortunately not super experienced at this.

I've manually assigned a static IP on DigitalOcean, as a work-around for the bad configuration.

After look a bit into it, I think the best strategy is:

  • In the code, use /dnsaddr/ multiaddresses for the bootnode addresses. This is unfortunately not supported by rust-libp2p yet.
  • Deploy a DNS server that specifically handles these /dnsaddr/ addresses. It took me a couple minutes to find the specs, but here it is.
  • Update the configuration of the DNS server if a node changes IP.
  • Derive all the private keys from all bootnodes from a single secret combined with the index of the bootnode. This is already the case as of #489

In the meanwhile I'll add bootnode: 0 and bootnode: 1 labels on the Kubernetes nodes, so that pods get assigned their proper IP address.

cc #638