config.go raw

   1  // Package server provides a shared gRPC ACL server implementation.
   2  package server
   3  
   4  import "time"
   5  
   6  // Config holds configuration for the ACL gRPC server.
   7  type Config struct {
   8  	// Listen is the gRPC server listen address
   9  	Listen string
  10  
  11  	// ACLMode is the active ACL mode (none, follows, managed, curating)
  12  	ACLMode string
  13  
  14  	// LogLevel is the logging level
  15  	LogLevel string
  16  
  17  	// Owner and admin lists
  18  	Owners []string
  19  	Admins []string
  20  
  21  	// Bootstrap relays for follow list syncing
  22  	BootstrapRelays []string
  23  
  24  	// Relay addresses (self)
  25  	RelayAddresses []string
  26  
  27  	// Follows ACL configuration
  28  	FollowListFrequency     time.Duration
  29  	FollowsThrottleEnabled  bool
  30  	FollowsThrottlePerEvent time.Duration
  31  	FollowsThrottleMaxDelay time.Duration
  32  }
  33