2022-01-06 06:40:23 -05:00
|
|
|
package env
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"fmt"
|
|
|
|
|
|
|
|
|
|
"github.com/qdm12/gluetun/internal/configuration/settings"
|
2023-05-30 13:02:10 +00:00
|
|
|
"github.com/qdm12/gosettings/sources/env"
|
2022-01-06 06:40:23 -05:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func readUnbound() (unbound settings.Unbound, err error) {
|
2023-05-30 13:02:10 +00:00
|
|
|
unbound.Providers = env.CSV("DOT_PROVIDERS")
|
2022-01-06 06:40:23 -05:00
|
|
|
|
2023-05-30 13:02:10 +00:00
|
|
|
unbound.Caching, err = env.BoolPtr("DOT_CACHING")
|
2022-01-06 06:40:23 -05:00
|
|
|
if err != nil {
|
|
|
|
|
return unbound, fmt.Errorf("environment variable DOT_CACHING: %w", err)
|
|
|
|
|
}
|
|
|
|
|
|
2023-05-30 13:02:10 +00:00
|
|
|
unbound.IPv6, err = env.BoolPtr("DOT_IPV6")
|
2022-01-06 06:40:23 -05:00
|
|
|
if err != nil {
|
|
|
|
|
return unbound, fmt.Errorf("environment variable DOT_IPV6: %w", err)
|
|
|
|
|
}
|
|
|
|
|
|
2023-05-30 13:02:10 +00:00
|
|
|
unbound.VerbosityLevel, err = env.Uint8Ptr("DOT_VERBOSITY")
|
2022-01-06 06:40:23 -05:00
|
|
|
if err != nil {
|
|
|
|
|
return unbound, fmt.Errorf("environment variable DOT_VERBOSITY: %w", err)
|
|
|
|
|
}
|
|
|
|
|
|
2023-05-30 13:02:10 +00:00
|
|
|
unbound.VerbosityDetailsLevel, err = env.Uint8Ptr("DOT_VERBOSITY_DETAILS")
|
2022-01-06 06:40:23 -05:00
|
|
|
if err != nil {
|
|
|
|
|
return unbound, fmt.Errorf("environment variable DOT_VERBOSITY_DETAILS: %w", err)
|
|
|
|
|
}
|
|
|
|
|
|
2023-05-30 13:02:10 +00:00
|
|
|
unbound.ValidationLogLevel, err = env.Uint8Ptr("DOT_VALIDATION_LOGLEVEL")
|
2022-01-06 06:40:23 -05:00
|
|
|
if err != nil {
|
|
|
|
|
return unbound, fmt.Errorf("environment variable DOT_VALIDATION_LOGLEVEL: %w", err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return unbound, nil
|
|
|
|
|
}
|