package conf import "sync" type Config struct { Name string Hostname string PSKPath string PublicKeyPath string PrivateKeyPath string NodeEndpointPort int64 IndexerAddresses string PeerIDS string // TO REMOVE NodeMode string MinIndexer int MaxIndexer int // SearchTimeout is the max duration without a new result before the // distributed peer search stream is closed. Default: 5s. SearchTimeout int // seconds; 0 → use default (5) // Indexer connection burst guard: max new connections accepted within the window. // 0 → use defaults (20 new peers per 30s). MaxConnPerWindow int // default 20 ConnWindowSecs int // default 30 // Per-node behavioral limits (sliding 60s window). 0 → use built-in defaults. MaxHBPerMinute int // default 5 MaxPublishPerMinute int // default 10 MaxGetPerMinute int // default 50 } var instance *Config var once sync.Once func GetConfig() *Config { once.Do(func() { instance = &Config{} }) return instance }