mirror of
https://github.com/Awuqing/BackupX.git
synced 2026-08-29 20:16:59 +08:00
fix(config): 支持从环境变量加载安全密钥
This commit is contained in:
@@ -169,7 +169,9 @@ func applyDefaults(v *viper.Viper) {
|
||||
v.SetDefault("server.trusted_proxies", []string{"127.0.0.1", "::1"})
|
||||
v.SetDefault("server.web_root", "")
|
||||
v.SetDefault("database.path", "./data/backupx.db")
|
||||
v.SetDefault("security.jwt_secret", "")
|
||||
v.SetDefault("security.jwt_expire", "24h")
|
||||
v.SetDefault("security.encryption_key", "")
|
||||
v.SetDefault("backup.temp_dir", "/tmp/backupx")
|
||||
v.SetDefault("backup.max_concurrent", 2)
|
||||
v.SetDefault("backup.retries", 10)
|
||||
|
||||
@@ -72,6 +72,22 @@ func TestLoadReadsServerExternalURLFromEnv(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestLoadReadsSecuritySecretsFromEnv(t *testing.T) {
|
||||
t.Setenv("BACKUPX_SECURITY_JWT_SECRET", "test-jwt-secret")
|
||||
t.Setenv("BACKUPX_SECURITY_ENCRYPTION_KEY", "test-encryption-key")
|
||||
|
||||
cfg, err := Load("")
|
||||
if err != nil {
|
||||
t.Fatalf("Load returned error: %v", err)
|
||||
}
|
||||
if cfg.Security.JWTSecret != "test-jwt-secret" {
|
||||
t.Fatalf("expected JWT secret from env, got %q", cfg.Security.JWTSecret)
|
||||
}
|
||||
if cfg.Security.EncryptionKey != "test-encryption-key" {
|
||||
t.Fatalf("expected encryption key from env, got %q", cfg.Security.EncryptionKey)
|
||||
}
|
||||
}
|
||||
|
||||
func TestLoadReadsTrustedProxiesFromEnv(t *testing.T) {
|
||||
t.Setenv("BACKUPX_SERVER_TRUSTED_PROXIES", "127.0.0.1,172.18.0.0/16")
|
||||
cfg, err := Load("")
|
||||
|
||||
Reference in New Issue
Block a user