Wire up setting to enable/disable logtail

This commit is contained in:
Kristoffer Dalby 2022-05-30 14:47:41 +02:00
parent 405de9e0f8
commit a0c465c2eb
3 changed files with 28 additions and 0 deletions

View file

@ -72,6 +72,8 @@ func LoadConfig(path string) error {
viper.SetDefault("oidc.scope", []string{oidc.ScopeOpenID, "profile", "email"})
viper.SetDefault("oidc.strip_email_domain", true)
viper.SetDefault("logtail.enabled", false)
if err := viper.ReadInConfig(); err != nil {
return fmt.Errorf("fatal error reading config file: %w", err)
}
@ -167,6 +169,14 @@ func GetDERPConfig() headscale.DERPConfig {
}
}
func GetLogConfig() headscale.LogTailConfig {
enabled := viper.GetBool("logtail.enabled")
return headscale.LogTailConfig{
Enabled: enabled,
}
}
func GetDNSConfig() (*tailcfg.DNSConfig, string) {
if viper.IsSet("dns_config") {
dnsConfig := &tailcfg.DNSConfig{}
@ -270,6 +280,7 @@ func absPath(path string) string {
func getHeadscaleConfig() headscale.Config {
dnsConfig, baseDomain := GetDNSConfig()
derpConfig := GetDERPConfig()
logConfig := GetLogConfig()
configuredPrefixes := viper.GetStringSlice("ip_prefixes")
parsedPrefixes := make([]netaddr.IPPrefix, 0, len(configuredPrefixes)+1)
@ -378,6 +389,8 @@ func getHeadscaleConfig() headscale.Config {
StripEmaildomain: viper.GetBool("oidc.strip_email_domain"),
},
LogTail: logConfig,
CLI: headscale.CLIConfig{
Address: viper.GetString("cli.address"),
APIKey: viper.GetString("cli.api_key"),