From 009dada8d6d2cc23fa5f06678a319d960bdfae6a Mon Sep 17 00:00:00 2001 From: Jonas Michel Date: Wed, 20 Dec 2023 09:40:32 -0600 Subject: [PATCH] Rename announce and no_announce settings to be consistent with listen_multiaddress --- cluster_config.go | 45 +++++++++++++++++++++++---------------------- clusterhost.go | 2 +- util.go | 3 ++- 3 files changed, 26 insertions(+), 24 deletions(-) diff --git a/cluster_config.go b/cluster_config.go index 817f441f..67f1a25e 100644 --- a/cluster_config.go +++ b/cluster_config.go @@ -96,10 +96,10 @@ type Config struct { // If non-empty, this array specifies the swarm addresses to announce to // the network. If empty, the daemon will announce inferred swarm addresses. - Announce []ma.Multiaddr + AnnounceAddr []ma.Multiaddr // Array of swarm addresses not to announce to the network. - NoAnnounce []ma.Multiaddr + NoAnnounceAddr []ma.Multiaddr // Time between syncs of the consensus state to the // tracker state. Normally states are synced anyway, but this helps @@ -186,11 +186,11 @@ type configJSON struct { Secret string `json:"secret" hidden:"true"` LeaveOnShutdown bool `json:"leave_on_shutdown"` ListenMultiaddress config.Strings `json:"listen_multiaddress"` + AnnounceMultiaddress config.Strings `json:"announce_multiaddress"` + NoAnnounceMultiaddress config.Strings `json:"no_announce_multiaddress"` EnableRelayHop bool `json:"enable_relay_hop"` ConnectionManager *connMgrConfigJSON `json:"connection_manager"` DialPeerTimeout string `json:"dial_peer_timeout"` - Announce []string `json:"announce"` - NoAnnounce []string `json:"no_announce"` StateSyncInterval string `json:"state_sync_interval"` PinRecoverInterval string `json:"pin_recover_interval"` ReplicationFactorMin int `json:"replication_factor_min"` @@ -381,6 +381,8 @@ func (cfg *Config) setDefaults() { listenAddrs = append(listenAddrs, addr) } cfg.ListenAddr = listenAddrs + cfg.AnnounceAddr = []ma.Multiaddr{} + cfg.NoAnnounceAddr = []ma.Multiaddr{} cfg.EnableRelayHop = DefaultEnableRelayHop cfg.ConnMgr = ConnMgrConfig{ HighWater: DefaultConnMgrHighWater, @@ -388,8 +390,6 @@ func (cfg *Config) setDefaults() { GracePeriod: DefaultConnMgrGracePeriod, } cfg.DialPeerTimeout = DefaultDialPeerTimeout - cfg.Announce = []ma.Multiaddr{} - cfg.NoAnnounce = []ma.Multiaddr{} cfg.LeaveOnShutdown = DefaultLeaveOnShutdown cfg.StateSyncInterval = DefaultStateSyncInterval cfg.PinRecoverInterval = DefaultPinRecoverInterval @@ -441,6 +441,21 @@ func (cfg *Config) applyConfigJSON(jcfg *configJSON) error { return err } cfg.ListenAddr = listenAddrs + + announceAddrs, err := toMultiAddrs(jcfg.AnnounceMultiaddress) + if err != nil { + err = fmt.Errorf("error parsing announce: %s", err) + return err + } + cfg.AnnounceAddr = announceAddrs + + noAnnounceAddrs, err := toMultiAddrs(jcfg.NoAnnounceMultiaddress) + if err != nil { + err = fmt.Errorf("error parsing no_announce: %s", err) + return err + } + cfg.NoAnnounceAddr = noAnnounceAddrs + cfg.EnableRelayHop = jcfg.EnableRelayHop if conman := jcfg.ConnectionManager; conman != nil { cfg.ConnMgr = ConnMgrConfig{ @@ -455,20 +470,6 @@ func (cfg *Config) applyConfigJSON(jcfg *configJSON) error { } } - annAddrs, err := toMultiAddrs(jcfg.Announce) - if err != nil { - err = fmt.Errorf("error parsing announce: %s", err) - return err - } - cfg.Announce = annAddrs - - noAnnAddrs, err := toMultiAddrs(jcfg.NoAnnounce) - if err != nil { - err = fmt.Errorf("error parsing no_announce: %s", err) - return err - } - cfg.NoAnnounce = noAnnAddrs - rplMin := jcfg.ReplicationFactorMin rplMax := jcfg.ReplicationFactorMax config.SetIfNotDefault(rplMin, &cfg.ReplicationFactorMin) @@ -538,6 +539,8 @@ func (cfg *Config) toConfigJSON() (jcfg *configJSON, err error) { listenAddrs = append(listenAddrs, addr.String()) } jcfg.ListenMultiaddress = config.Strings(listenAddrs) + jcfg.AnnounceMultiaddress = multiAddrstoStrings(cfg.AnnounceAddr) + jcfg.NoAnnounceMultiaddress = multiAddrstoStrings(cfg.NoAnnounceAddr) jcfg.EnableRelayHop = cfg.EnableRelayHop jcfg.ConnectionManager = &connMgrConfigJSON{ HighWater: cfg.ConnMgr.HighWater, @@ -545,8 +548,6 @@ func (cfg *Config) toConfigJSON() (jcfg *configJSON, err error) { GracePeriod: cfg.ConnMgr.GracePeriod.String(), } jcfg.DialPeerTimeout = cfg.DialPeerTimeout.String() - jcfg.Announce = multiAddrstoStrings(cfg.Announce) - jcfg.NoAnnounce = multiAddrstoStrings(cfg.NoAnnounce) jcfg.StateSyncInterval = cfg.StateSyncInterval.String() jcfg.PinRecoverInterval = cfg.PinRecoverInterval.String() jcfg.MonitorPingInterval = cfg.MonitorPingInterval.String() diff --git a/clusterhost.go b/clusterhost.go index c383abb8..7142e5e5 100644 --- a/clusterhost.go +++ b/clusterhost.go @@ -88,7 +88,7 @@ func NewClusterHost( return idht } - addrsFactory, err := makeAddrsFactory(cfg.Announce, cfg.NoAnnounce) + addrsFactory, err := makeAddrsFactory(cfg.AnnounceAddr, cfg.NoAnnounceAddr) if err != nil { return nil, nil, nil, err } diff --git a/util.go b/util.go index 8552c5ba..c81f4f81 100644 --- a/util.go +++ b/util.go @@ -10,6 +10,7 @@ import ( blake2b "golang.org/x/crypto/blake2b" "github.com/ipfs-cluster/ipfs-cluster/api" + "github.com/ipfs-cluster/ipfs-cluster/config" peer "github.com/libp2p/go-libp2p/core/peer" ma "github.com/multiformats/go-multiaddr" madns "github.com/multiformats/go-multiaddr-dns" @@ -210,7 +211,7 @@ func publicIPFSAddresses(in []api.Multiaddr) []api.Multiaddr { return out } -func toMultiAddrs(addrs []string) ([]ma.Multiaddr, error) { +func toMultiAddrs(addrs config.Strings) ([]ma.Multiaddr, error) { var mAddrs []ma.Multiaddr for _, addr := range addrs { mAddr, err := ma.NewMultiaddr(addr)