47 lines
1.5 KiB
Go
47 lines
1.5 KiB
Go
// Copyright (C) 2019 Storj Labs, Inc.
|
|
// See LICENSE for copying information.
|
|
|
|
package testplanet
|
|
|
|
import (
|
|
"time"
|
|
|
|
"go.uber.org/zap"
|
|
|
|
"storj.io/storj/pkg/pb"
|
|
"storj.io/storj/satellite"
|
|
"storj.io/storj/satellite/metainfo"
|
|
"storj.io/storj/storagenode"
|
|
)
|
|
|
|
// Reconfigure allows to change node configurations
|
|
type Reconfigure struct {
|
|
NewSatelliteDB func(log *zap.Logger, index int) (satellite.DB, error)
|
|
NewSatellitePointerDB func(log *zap.Logger, index int) (metainfo.PointerDB, error)
|
|
Satellite func(log *zap.Logger, index int, config *satellite.Config)
|
|
ReferralManagerServer func(log *zap.Logger) pb.ReferralManagerServer
|
|
|
|
NewStorageNodeDB func(index int, db storagenode.DB, log *zap.Logger) (storagenode.DB, error)
|
|
StorageNode func(index int, config *storagenode.Config)
|
|
UniqueIPCount int
|
|
}
|
|
|
|
// DisablePeerCAWhitelist returns a `Reconfigure` that sets `UsePeerCAWhitelist` for
|
|
// all node types that use kademlia.
|
|
var DisablePeerCAWhitelist = Reconfigure{
|
|
Satellite: func(log *zap.Logger, index int, config *satellite.Config) {
|
|
config.Server.UsePeerCAWhitelist = false
|
|
},
|
|
StorageNode: func(index int, config *storagenode.Config) {
|
|
config.Server.UsePeerCAWhitelist = false
|
|
},
|
|
}
|
|
|
|
// ShortenOnlineWindow returns a `Reconfigure` that sets the NodeSelection
|
|
// OnlineWindow to 1 second, meaning a connection failure leads to marking the nodes as offline
|
|
var ShortenOnlineWindow = Reconfigure{
|
|
Satellite: func(log *zap.Logger, index int, config *satellite.Config) {
|
|
config.Overlay.Node.OnlineWindow = 1 * time.Second
|
|
},
|
|
}
|