From 4d1d7edbc953f2bfa045477486442a10d8aaebe7 Mon Sep 17 00:00:00 2001 From: Dmitri Dolguikh Date: Tue, 14 Jul 2026 14:54:39 +0200 Subject: [PATCH] fix combined server config around sync message versioning Signed-off-by: Dmitri Dolguikh --- combined/cmd/config.go | 53 ++++++++++++++++++++++-------------------- combined/cmd/root.go | 4 ++-- 2 files changed, 30 insertions(+), 27 deletions(-) diff --git a/combined/cmd/config.go b/combined/cmd/config.go index 7181f12e2..b25f4a6f4 100644 --- a/combined/cmd/config.go +++ b/combined/cmd/config.go @@ -74,6 +74,9 @@ type ServerConfig struct { ActivityStore StoreConfig `yaml:"activityStore"` AuthStore StoreConfig `yaml:"authStore"` ReverseProxy ReverseProxyConfig `yaml:"reverseProxy"` + + SupportedSyncMessageVersions []string `yaml:"supportedSyncMessageVersions"` + PerAccountSupportedSyncMessageVersions map[string][]string `yaml:"perAccountSupportedSyncMessageVersions"` } // TLSConfig contains TLS/HTTPS settings @@ -116,21 +119,19 @@ type SignalConfig struct { // ManagementConfig contains management service settings type ManagementConfig struct { - Enabled bool `yaml:"enabled"` - LogLevel string `yaml:"logLevel"` - DataDir string `yaml:"dataDir"` - DnsDomain string `yaml:"dnsDomain"` - DisableAnonymousMetrics bool `yaml:"disableAnonymousMetrics"` - DisableGeoliteUpdate bool `yaml:"disableGeoliteUpdate"` - DisableDefaultPolicy bool `yaml:"disableDefaultPolicy"` - Auth AuthConfig `yaml:"auth"` - Stuns []HostConfig `yaml:"stuns"` - Relays RelaysConfig `yaml:"relays"` - SignalURI string `yaml:"signalUri"` - Store StoreConfig `yaml:"store"` - ReverseProxy ReverseProxyConfig `yaml:"reverseProxy"` - SupportedSyncMessageVersions []string `yaml:"supportedSyncMessageVersions"` - PerAccountSupportedSyncMessageVersions map[string][]string `yaml:"perAccountSupportedSyncMessageVersions"` + Enabled bool `yaml:"enabled"` + LogLevel string `yaml:"logLevel"` + DataDir string `yaml:"dataDir"` + DnsDomain string `yaml:"dnsDomain"` + DisableAnonymousMetrics bool `yaml:"disableAnonymousMetrics"` + DisableGeoliteUpdate bool `yaml:"disableGeoliteUpdate"` + DisableDefaultPolicy bool `yaml:"disableDefaultPolicy"` + Auth AuthConfig `yaml:"auth"` + Stuns []HostConfig `yaml:"stuns"` + Relays RelaysConfig `yaml:"relays"` + SignalURI string `yaml:"signalUri"` + Store StoreConfig `yaml:"store"` + ReverseProxy ReverseProxyConfig `yaml:"reverseProxy"` } // AuthConfig contains authentication/identity provider settings @@ -696,16 +697,18 @@ func (c *CombinedConfig) ToManagementConfig() (*nbconfig.Config, error) { httpConfig.AuthCallbackURL = callbackURL + types.ProxyCallbackEndpointFull return &nbconfig.Config{ - Stuns: stuns, - Relay: relayConfig, - Signal: signalConfig, - Datadir: mgmt.DataDir, - DataStoreEncryptionKey: mgmt.Store.EncryptionKey, - HttpConfig: httpConfig, - StoreConfig: storeConfig, - ReverseProxy: reverseProxy, - DisableDefaultPolicy: mgmt.DisableDefaultPolicy, - EmbeddedIdP: embeddedIdP, + Stuns: stuns, + Relay: relayConfig, + Signal: signalConfig, + Datadir: mgmt.DataDir, + DataStoreEncryptionKey: mgmt.Store.EncryptionKey, + HttpConfig: httpConfig, + StoreConfig: storeConfig, + ReverseProxy: reverseProxy, + DisableDefaultPolicy: mgmt.DisableDefaultPolicy, + EmbeddedIdP: embeddedIdP, + SupportedSyncMessageVersions: c.Server.SupportedSyncMessageVersions, + PerAccountSupportedSyncMessageVersions: c.Server.PerAccountSupportedSyncMessageVersions, }, nil } diff --git a/combined/cmd/root.go b/combined/cmd/root.go index e350c29e9..faa69149f 100644 --- a/combined/cmd/root.go +++ b/combined/cmd/root.go @@ -506,11 +506,11 @@ func createManagementServer(cfg *CombinedConfig, mgmtConfig *nbconfig.Config) (m } mgmtPort, _ := strconv.Atoi(portStr) - if err := syncgrpc.ValidateSyncMessageVersions(cfg.Management.SupportedSyncMessageVersions); err != nil { + if err := syncgrpc.ValidateSyncMessageVersions(mgmtConfig.SupportedSyncMessageVersions); err != nil { return nil, err } - for accountId, versions := range cfg.Management.PerAccountSupportedSyncMessageVersions { + for accountId, versions := range mgmtConfig.PerAccountSupportedSyncMessageVersions { if err := syncgrpc.ValidateSyncMessageVersions(versions); err != nil { return nil, fmt.Errorf("unrecognized sync message version in perAccountSupportedSyncMessageVersions for account %s %w", accountId, err) }