51 lines
1.5 KiB
Go
51 lines
1.5 KiB
Go
package domainrouter
|
|
|
|
type Config struct {
|
|
General struct {
|
|
AnnouncePublic bool `yaml:"announce"`
|
|
HealthEndpoint string `yaml:"healthz"`
|
|
} `yaml:"general"`
|
|
Server struct {
|
|
Port int `yaml:"port"`
|
|
Ssl struct {
|
|
Enabled bool `yaml:"enabled"`
|
|
CertFile string `yaml:"certFile"`
|
|
KeyFile string `yaml:"keyFile"`
|
|
Acme struct {
|
|
Enabled bool `yaml:"enabled"`
|
|
Email string `yaml:"email"`
|
|
KeyFile string `yaml:"keyFile"`
|
|
CADirURL string `yaml:"caDirUrl"`
|
|
Http01Port string `yaml:"http01Port"`
|
|
TlsAlpn01Port string `yaml:"tlsAlpn01Port"`
|
|
RenewTime string `yaml:"renewTime"`
|
|
} `yaml:"acme"`
|
|
} `yaml:"ssl"`
|
|
} `yaml:"server"`
|
|
Hosts []struct {
|
|
Port int `yaml:"port"`
|
|
Remotes []string `yaml:"remotes"`
|
|
Domains []string `yaml:"domains"`
|
|
Public bool `yaml:"public"`
|
|
Secure bool `yaml:"secure"`
|
|
} `yaml:"hosts"`
|
|
RateLimit struct {
|
|
Enabled bool `yaml:"enabled"`
|
|
BucketSize int `yaml:"bucketSize"`
|
|
RefillTicker string `yaml:"refillTime"`
|
|
CleanupTicker string `yaml:"cleanupTime"`
|
|
BucketRefill int `yaml:"refillSize"`
|
|
} `yaml:"rateLimit"`
|
|
Logging struct {
|
|
Level string `yaml:"level"`
|
|
Pretty bool `yaml:"pretty"`
|
|
Requests bool `yaml:"requests"`
|
|
File struct {
|
|
Enabled bool `yaml:"enabled"`
|
|
Path string `yaml:"path"`
|
|
MaxAge int `yaml:"maxAge"`
|
|
MaxBackups int `yamls:"maxBackups"`
|
|
} `yaml:"file"`
|
|
} `yaml:"logging"`
|
|
}
|