status-im/infra-nim-waku

DNS4 domain name for `wakuv2.test` fleet

Closed this issue · 6 comments

Background

We recently added the ability to configure a nim-waku node with an (ipv4) domain name.
This allows for the node's publically announced multiaddrs to use the /dns4/ scheme. In addition, nodes with domain name and secure websocket configured, will generate a discoverable ENR containing the wss multiaddr with /dns4/ domain name. This is necessary to verify domain certificates when connecting to this node over secure websocket and is a prerequisite for addressing #38

Required change

For the wakuv2.test fleet:
Add config option
--dns4-domain-name=<node domain>

e.g. the effective config option for the node on node-01.do-ams3.wakuv2.test should be:
--dns4-domain-name=node-01.do-ams3.wakuv2.test.statusim.net

This option is not yet available on the prod fleet, but will be after the release: waku-org/nwaku#870. If we encounter no issues with this config on wakuv2.test we can apply the same to wakuv2.prod after the release.

More documentation at https://github.com/status-im/nim-waku/tree/master/waku/v2#configuring-a-domain-name

I see the change required is waku-org/nwaku#852 and we're on waku-org/nwaku@c27086e1 so test fleet is ready.

Since this is supposed to end up on prod soon I won't be adding extra logic to skip the flag.

Correct. Thanks, Jakub. Test fleet has the config option available already. Aiming to get release done and deployed to prod by Wednesday.

Question: Does this flag affect only Websocket multiaddress or also Libp2p multiaddress?

Question: Does this flag affect only Websocket multiaddress or also Libp2p multiaddress?

Also libp2p multiaddr. All externally announced addresses will now use the dns4 domain name rather than the IP.

Changes:

Done:

 > a all -a 'grep dns4 /docker/nim-waku-v2/docker-compose.yml' 
node-01.do-ams3.wakuv2.test | CHANGED | rc=0 >>
      --dns4-domain-name=node-01.do-ams3.wakuv2.test.statusim.net
node-01.gc-us-central1-a.wakuv2.test | CHANGED | rc=0 >>
      --dns4-domain-name=node-01.gc-us-central1-a.wakuv2.test.statusim.net
node-01.ac-cn-hongkong-c.wakuv2.test | CHANGED | rc=0 >>
      --dns4-domain-name=node-01.ac-cn-hongkong-c.wakuv2.test.statusim.net