Rename announce and no_announce settings to be consistent with listen_multiaddress

This commit is contained in:
Jonas Michel 2023-12-20 09:40:32 -06:00
parent 95beedb679
commit 009dada8d6
3 changed files with 26 additions and 24 deletions

View File

@ -96,10 +96,10 @@ type Config struct {
// If non-empty, this array specifies the swarm addresses to announce to // If non-empty, this array specifies the swarm addresses to announce to
// the network. If empty, the daemon will announce inferred swarm addresses. // 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. // 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 // Time between syncs of the consensus state to the
// tracker state. Normally states are synced anyway, but this helps // tracker state. Normally states are synced anyway, but this helps
@ -186,11 +186,11 @@ type configJSON struct {
Secret string `json:"secret" hidden:"true"` Secret string `json:"secret" hidden:"true"`
LeaveOnShutdown bool `json:"leave_on_shutdown"` LeaveOnShutdown bool `json:"leave_on_shutdown"`
ListenMultiaddress config.Strings `json:"listen_multiaddress"` 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"` EnableRelayHop bool `json:"enable_relay_hop"`
ConnectionManager *connMgrConfigJSON `json:"connection_manager"` ConnectionManager *connMgrConfigJSON `json:"connection_manager"`
DialPeerTimeout string `json:"dial_peer_timeout"` DialPeerTimeout string `json:"dial_peer_timeout"`
Announce []string `json:"announce"`
NoAnnounce []string `json:"no_announce"`
StateSyncInterval string `json:"state_sync_interval"` StateSyncInterval string `json:"state_sync_interval"`
PinRecoverInterval string `json:"pin_recover_interval"` PinRecoverInterval string `json:"pin_recover_interval"`
ReplicationFactorMin int `json:"replication_factor_min"` ReplicationFactorMin int `json:"replication_factor_min"`
@ -381,6 +381,8 @@ func (cfg *Config) setDefaults() {
listenAddrs = append(listenAddrs, addr) listenAddrs = append(listenAddrs, addr)
} }
cfg.ListenAddr = listenAddrs cfg.ListenAddr = listenAddrs
cfg.AnnounceAddr = []ma.Multiaddr{}
cfg.NoAnnounceAddr = []ma.Multiaddr{}
cfg.EnableRelayHop = DefaultEnableRelayHop cfg.EnableRelayHop = DefaultEnableRelayHop
cfg.ConnMgr = ConnMgrConfig{ cfg.ConnMgr = ConnMgrConfig{
HighWater: DefaultConnMgrHighWater, HighWater: DefaultConnMgrHighWater,
@ -388,8 +390,6 @@ func (cfg *Config) setDefaults() {
GracePeriod: DefaultConnMgrGracePeriod, GracePeriod: DefaultConnMgrGracePeriod,
} }
cfg.DialPeerTimeout = DefaultDialPeerTimeout cfg.DialPeerTimeout = DefaultDialPeerTimeout
cfg.Announce = []ma.Multiaddr{}
cfg.NoAnnounce = []ma.Multiaddr{}
cfg.LeaveOnShutdown = DefaultLeaveOnShutdown cfg.LeaveOnShutdown = DefaultLeaveOnShutdown
cfg.StateSyncInterval = DefaultStateSyncInterval cfg.StateSyncInterval = DefaultStateSyncInterval
cfg.PinRecoverInterval = DefaultPinRecoverInterval cfg.PinRecoverInterval = DefaultPinRecoverInterval
@ -441,6 +441,21 @@ func (cfg *Config) applyConfigJSON(jcfg *configJSON) error {
return err return err
} }
cfg.ListenAddr = listenAddrs 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 cfg.EnableRelayHop = jcfg.EnableRelayHop
if conman := jcfg.ConnectionManager; conman != nil { if conman := jcfg.ConnectionManager; conman != nil {
cfg.ConnMgr = ConnMgrConfig{ 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 rplMin := jcfg.ReplicationFactorMin
rplMax := jcfg.ReplicationFactorMax rplMax := jcfg.ReplicationFactorMax
config.SetIfNotDefault(rplMin, &cfg.ReplicationFactorMin) config.SetIfNotDefault(rplMin, &cfg.ReplicationFactorMin)
@ -538,6 +539,8 @@ func (cfg *Config) toConfigJSON() (jcfg *configJSON, err error) {
listenAddrs = append(listenAddrs, addr.String()) listenAddrs = append(listenAddrs, addr.String())
} }
jcfg.ListenMultiaddress = config.Strings(listenAddrs) jcfg.ListenMultiaddress = config.Strings(listenAddrs)
jcfg.AnnounceMultiaddress = multiAddrstoStrings(cfg.AnnounceAddr)
jcfg.NoAnnounceMultiaddress = multiAddrstoStrings(cfg.NoAnnounceAddr)
jcfg.EnableRelayHop = cfg.EnableRelayHop jcfg.EnableRelayHop = cfg.EnableRelayHop
jcfg.ConnectionManager = &connMgrConfigJSON{ jcfg.ConnectionManager = &connMgrConfigJSON{
HighWater: cfg.ConnMgr.HighWater, HighWater: cfg.ConnMgr.HighWater,
@ -545,8 +548,6 @@ func (cfg *Config) toConfigJSON() (jcfg *configJSON, err error) {
GracePeriod: cfg.ConnMgr.GracePeriod.String(), GracePeriod: cfg.ConnMgr.GracePeriod.String(),
} }
jcfg.DialPeerTimeout = cfg.DialPeerTimeout.String() jcfg.DialPeerTimeout = cfg.DialPeerTimeout.String()
jcfg.Announce = multiAddrstoStrings(cfg.Announce)
jcfg.NoAnnounce = multiAddrstoStrings(cfg.NoAnnounce)
jcfg.StateSyncInterval = cfg.StateSyncInterval.String() jcfg.StateSyncInterval = cfg.StateSyncInterval.String()
jcfg.PinRecoverInterval = cfg.PinRecoverInterval.String() jcfg.PinRecoverInterval = cfg.PinRecoverInterval.String()
jcfg.MonitorPingInterval = cfg.MonitorPingInterval.String() jcfg.MonitorPingInterval = cfg.MonitorPingInterval.String()

View File

@ -88,7 +88,7 @@ func NewClusterHost(
return idht return idht
} }
addrsFactory, err := makeAddrsFactory(cfg.Announce, cfg.NoAnnounce) addrsFactory, err := makeAddrsFactory(cfg.AnnounceAddr, cfg.NoAnnounceAddr)
if err != nil { if err != nil {
return nil, nil, nil, err return nil, nil, nil, err
} }

View File

@ -10,6 +10,7 @@ import (
blake2b "golang.org/x/crypto/blake2b" blake2b "golang.org/x/crypto/blake2b"
"github.com/ipfs-cluster/ipfs-cluster/api" "github.com/ipfs-cluster/ipfs-cluster/api"
"github.com/ipfs-cluster/ipfs-cluster/config"
peer "github.com/libp2p/go-libp2p/core/peer" peer "github.com/libp2p/go-libp2p/core/peer"
ma "github.com/multiformats/go-multiaddr" ma "github.com/multiformats/go-multiaddr"
madns "github.com/multiformats/go-multiaddr-dns" madns "github.com/multiformats/go-multiaddr-dns"
@ -210,7 +211,7 @@ func publicIPFSAddresses(in []api.Multiaddr) []api.Multiaddr {
return out return out
} }
func toMultiAddrs(addrs []string) ([]ma.Multiaddr, error) { func toMultiAddrs(addrs config.Strings) ([]ma.Multiaddr, error) {
var mAddrs []ma.Multiaddr var mAddrs []ma.Multiaddr
for _, addr := range addrs { for _, addr := range addrs {
mAddr, err := ma.NewMultiaddr(addr) mAddr, err := ma.NewMultiaddr(addr)