mirror of
https://github.com/juanfont/headscale.git
synced 2024-11-30 02:43:05 +00:00
fix: config aliases (spf13/viper#689)
This commit is contained in:
parent
1fc14790f9
commit
ca9938f4e9
2 changed files with 26 additions and 18 deletions
|
@ -60,9 +60,9 @@ func (*Suite) TestConfigFileLoading(c *check.C) {
|
||||||
c.Assert(viper.GetString("metrics_listen_addr"), check.Equals, "127.0.0.1:9090")
|
c.Assert(viper.GetString("metrics_listen_addr"), check.Equals, "127.0.0.1:9090")
|
||||||
c.Assert(viper.GetString("database.type"), check.Equals, "sqlite")
|
c.Assert(viper.GetString("database.type"), check.Equals, "sqlite")
|
||||||
c.Assert(viper.GetString("database.sqlite.path"), check.Equals, "/var/lib/headscale/db.sqlite")
|
c.Assert(viper.GetString("database.sqlite.path"), check.Equals, "/var/lib/headscale/db.sqlite")
|
||||||
c.Assert(viper.GetString("tls_letsencrypt_hostname"), check.Equals, "")
|
c.Assert(viper.GetString("tls.letsencrypt_hostname"), check.Equals, "")
|
||||||
c.Assert(viper.GetString("tls_letsencrypt_listen"), check.Equals, ":http")
|
c.Assert(viper.GetString("tls.letsencrypt_listen"), check.Equals, ":http")
|
||||||
c.Assert(viper.GetString("tls_letsencrypt_challenge_type"), check.Equals, "HTTP-01")
|
c.Assert(viper.GetString("tls.letsencrypt_challenge_type"), check.Equals, "HTTP-01")
|
||||||
c.Assert(viper.GetStringSlice("dns_config.nameservers")[0], check.Equals, "1.1.1.1")
|
c.Assert(viper.GetStringSlice("dns_config.nameservers")[0], check.Equals, "1.1.1.1")
|
||||||
c.Assert(
|
c.Assert(
|
||||||
util.GetFileMode("unix_socket_permission"),
|
util.GetFileMode("unix_socket_permission"),
|
||||||
|
@ -103,9 +103,9 @@ func (*Suite) TestConfigLoading(c *check.C) {
|
||||||
c.Assert(viper.GetString("metrics_listen_addr"), check.Equals, "127.0.0.1:9090")
|
c.Assert(viper.GetString("metrics_listen_addr"), check.Equals, "127.0.0.1:9090")
|
||||||
c.Assert(viper.GetString("database.type"), check.Equals, "sqlite")
|
c.Assert(viper.GetString("database.type"), check.Equals, "sqlite")
|
||||||
c.Assert(viper.GetString("database.sqlite.path"), check.Equals, "/var/lib/headscale/db.sqlite")
|
c.Assert(viper.GetString("database.sqlite.path"), check.Equals, "/var/lib/headscale/db.sqlite")
|
||||||
c.Assert(viper.GetString("tls_letsencrypt_hostname"), check.Equals, "")
|
c.Assert(viper.GetString("tls.letsencrypt_hostname"), check.Equals, "")
|
||||||
c.Assert(viper.GetString("tls_letsencrypt_listen"), check.Equals, ":http")
|
c.Assert(viper.GetString("tls.letsencrypt_listen"), check.Equals, ":http")
|
||||||
c.Assert(viper.GetString("tls_letsencrypt_challenge_type"), check.Equals, "HTTP-01")
|
c.Assert(viper.GetString("tls.letsencrypt_challenge_type"), check.Equals, "HTTP-01")
|
||||||
c.Assert(viper.GetStringSlice("dns_config.nameservers")[0], check.Equals, "1.1.1.1")
|
c.Assert(viper.GetStringSlice("dns_config.nameservers")[0], check.Equals, "1.1.1.1")
|
||||||
c.Assert(
|
c.Assert(
|
||||||
util.GetFileMode("unix_socket_permission"),
|
util.GetFileMode("unix_socket_permission"),
|
||||||
|
@ -193,6 +193,8 @@ noise:
|
||||||
".*Fatal config error: server_url must start with https:// or http://.*",
|
".*Fatal config error: server_url must start with https:// or http://.*",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
viper.Reset()
|
||||||
|
|
||||||
// Check configuration validation errors (2)
|
// Check configuration validation errors (2)
|
||||||
configYaml = []byte(`---
|
configYaml = []byte(`---
|
||||||
noise:
|
noise:
|
||||||
|
|
|
@ -180,6 +180,13 @@ type Tuning struct {
|
||||||
NodeMapSessionBufferedChanSize int
|
NodeMapSessionBufferedChanSize int
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func RegisterDeprecatedAlias(old, new string) {
|
||||||
|
if viper.IsSet(old) {
|
||||||
|
log.Warn().Msgf("%s is deprecated and may be removed in future versions, please use %s instead.", old, new)
|
||||||
|
viper.Set(new, viper.GetString(old))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func LoadConfig(path string, isFile bool) error {
|
func LoadConfig(path string, isFile bool) error {
|
||||||
if isFile {
|
if isFile {
|
||||||
viper.SetConfigFile(path)
|
viper.SetConfigFile(path)
|
||||||
|
@ -246,18 +253,6 @@ func LoadConfig(path string, isFile bool) error {
|
||||||
|
|
||||||
viper.SetDefault("prefixes.allocation", string(IPAllocationStrategySequential))
|
viper.SetDefault("prefixes.allocation", string(IPAllocationStrategySequential))
|
||||||
|
|
||||||
viper.RegisterAlias("grpc_listen_addr", "grpc.listen_addr")
|
|
||||||
viper.RegisterAlias("grpc_allow_insecure", "grpc.allow_insecure")
|
|
||||||
|
|
||||||
viper.RegisterAlias("acme_url", "tls.acme_url")
|
|
||||||
viper.RegisterAlias("acme_email", "tls.acme_email")
|
|
||||||
viper.RegisterAlias("tls_letsencrypt_hostname", "tls.letsencrypt_hostname")
|
|
||||||
viper.RegisterAlias("tls_letsencrypt_cache_dir", "tls.letsencrypt_cache_dir")
|
|
||||||
viper.RegisterAlias("tls_letsencrypt_challenge_type", "tls.letsencrypt_challenge_type")
|
|
||||||
viper.RegisterAlias("tls_letsencrypt_listen", "tls.letsencrypt_listen")
|
|
||||||
viper.RegisterAlias("tls_cert_path", "tls.cert_path")
|
|
||||||
viper.RegisterAlias("tls_key_path", "tls.key_path")
|
|
||||||
|
|
||||||
if IsCLIConfigured() {
|
if IsCLIConfigured() {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -268,6 +263,17 @@ func LoadConfig(path string, isFile bool) error {
|
||||||
return fmt.Errorf("fatal error reading config file: %w", err)
|
return fmt.Errorf("fatal error reading config file: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RegisterDeprecatedAlias("grpc_listen_addr", "grpc.listen_addr")
|
||||||
|
RegisterDeprecatedAlias("grpc_allow_insecure", "grpc.allow_insecure")
|
||||||
|
RegisterDeprecatedAlias("acme_url", "tls.acme_url")
|
||||||
|
RegisterDeprecatedAlias("acme_email", "tls.acme_email")
|
||||||
|
RegisterDeprecatedAlias("tls_letsencrypt_hostname", "tls.letsencrypt_hostname")
|
||||||
|
RegisterDeprecatedAlias("tls_letsencrypt_cache_dir", "tls.letsencrypt_cache_dir")
|
||||||
|
RegisterDeprecatedAlias("tls_letsencrypt_challenge_type", "tls.letsencrypt_challenge_type")
|
||||||
|
RegisterDeprecatedAlias("tls_letsencrypt_listen", "tls.letsencrypt_listen")
|
||||||
|
RegisterDeprecatedAlias("tls_cert_path", "tls.cert_path")
|
||||||
|
RegisterDeprecatedAlias("tls_key_path", "tls.key_path")
|
||||||
|
|
||||||
// Collect any validation errors and return them all at once
|
// Collect any validation errors and return them all at once
|
||||||
var errorText string
|
var errorText string
|
||||||
if (viper.GetString("tls.letsencrypt_hostname") != "") &&
|
if (viper.GetString("tls.letsencrypt_hostname") != "") &&
|
||||||
|
|
Loading…
Reference in a new issue