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