mirror of
https://github.com/netbirdio/netbird.git
synced 2026-03-31 06:34:14 -04:00
[self-hosted] Support activity store engine in the combined server (#5406)
This commit is contained in:
@@ -70,6 +70,7 @@ type ServerConfig struct {
|
|||||||
DisableGeoliteUpdate bool `yaml:"disableGeoliteUpdate"`
|
DisableGeoliteUpdate bool `yaml:"disableGeoliteUpdate"`
|
||||||
Auth AuthConfig `yaml:"auth"`
|
Auth AuthConfig `yaml:"auth"`
|
||||||
Store StoreConfig `yaml:"store"`
|
Store StoreConfig `yaml:"store"`
|
||||||
|
ActivityStore StoreConfig `yaml:"activityStore"`
|
||||||
ReverseProxy ReverseProxyConfig `yaml:"reverseProxy"`
|
ReverseProxy ReverseProxyConfig `yaml:"reverseProxy"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -141,6 +141,17 @@ func initializeConfig() error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if engine := config.Server.ActivityStore.Engine; engine != "" {
|
||||||
|
engineLower := strings.ToLower(engine)
|
||||||
|
if engineLower == "postgres" && config.Server.ActivityStore.DSN == "" {
|
||||||
|
return fmt.Errorf("activityStore.dsn is required when activityStore.engine is postgres")
|
||||||
|
}
|
||||||
|
os.Setenv("NB_ACTIVITY_EVENT_STORE_ENGINE", engineLower)
|
||||||
|
if dsn := config.Server.ActivityStore.DSN; dsn != "" {
|
||||||
|
os.Setenv("NB_ACTIVITY_EVENT_POSTGRES_DSN", dsn)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
log.Infof("Starting combined NetBird server")
|
log.Infof("Starting combined NetBird server")
|
||||||
logConfig(config)
|
logConfig(config)
|
||||||
logEnvVars()
|
logEnvVars()
|
||||||
@@ -668,8 +679,11 @@ func logEnvVars() {
|
|||||||
if strings.HasPrefix(env, "NB_") {
|
if strings.HasPrefix(env, "NB_") {
|
||||||
key, _, _ := strings.Cut(env, "=")
|
key, _, _ := strings.Cut(env, "=")
|
||||||
value := os.Getenv(key)
|
value := os.Getenv(key)
|
||||||
if strings.Contains(strings.ToLower(key), "secret") || strings.Contains(strings.ToLower(key), "key") || strings.Contains(strings.ToLower(key), "password") {
|
keyLower := strings.ToLower(key)
|
||||||
|
if strings.Contains(keyLower, "secret") || strings.Contains(keyLower, "key") || strings.Contains(keyLower, "password") {
|
||||||
value = maskSecret(value)
|
value = maskSecret(value)
|
||||||
|
} else if strings.Contains(keyLower, "dsn") {
|
||||||
|
value = maskDSNPassword(value)
|
||||||
}
|
}
|
||||||
log.Infof(" %s=%s", key, value)
|
log.Infof(" %s=%s", key, value)
|
||||||
found = true
|
found = true
|
||||||
|
|||||||
@@ -104,6 +104,11 @@ server:
|
|||||||
dsn: "" # Connection string for postgres or mysql
|
dsn: "" # Connection string for postgres or mysql
|
||||||
encryptionKey: ""
|
encryptionKey: ""
|
||||||
|
|
||||||
|
# Activity events store configuration (optional, defaults to sqlite in dataDir)
|
||||||
|
# activityStore:
|
||||||
|
# engine: "sqlite" # sqlite or postgres
|
||||||
|
# dsn: "" # Connection string for postgres
|
||||||
|
|
||||||
# Reverse proxy settings (optional)
|
# Reverse proxy settings (optional)
|
||||||
# reverseProxy:
|
# reverseProxy:
|
||||||
# trustedHTTPProxies: []
|
# trustedHTTPProxies: []
|
||||||
|
|||||||
Reference in New Issue
Block a user