disable network components on the mgmt server by default

Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
This commit is contained in:
Dmitri Dolguikh
2026-07-20 11:44:34 +02:00
parent ce55620e37
commit 9a9317df2f
5 changed files with 24 additions and 20 deletions

View File

@@ -1047,5 +1047,5 @@ func syncMessageVersion(info system.Info) int32 {
if info.SyncMessageVersion != nil {
return int32(*info.SyncMessageVersion)
}
return int32(nbmgmtgrpc.CurrentSyncMessageVersion)
return int32(nbmgmtgrpc.DefaultSyncMessageVersion)
}

View File

@@ -12,7 +12,8 @@ const (
ComponentNetworkMap
)
const CurrentSyncMessageVersion = ComponentNetworkMap
const DefaultSyncMessageVersion = Base
const HighestSyncMessageVersion = ComponentNetworkMap
var ErrorUnrecognizedSyncMessageVersion = errors.New("unrecognized SyncMessageVersion")
@@ -21,8 +22,8 @@ func ValidateSyncMessageVersion(v *int) error {
if v == nil {
return nil
}
if *v < 0 || *v > int(CurrentSyncMessageVersion) {
return fmt.Errorf("sync message version must between 0 and %d, %w", CurrentSyncMessageVersion, ErrorUnrecognizedSyncMessageVersion)
if *v < 0 || *v > int(HighestSyncMessageVersion) {
return fmt.Errorf("sync message version must between 0 and %d, %w", HighestSyncMessageVersion, ErrorUnrecognizedSyncMessageVersion)
}
return nil
}
@@ -32,9 +33,9 @@ func ValidateSyncMessageVersion(v *int) error {
// the assumption is ValidateSyncMessageVersion() has been called before using SyncMessageVersionFromConfig()
func SyncMessageVersionFromConfig(v *int) SyncMessageVersion {
if v == nil {
return CurrentSyncMessageVersion
return DefaultSyncMessageVersion
}
if *v < 0 || *v > int(CurrentSyncMessageVersion) {
if *v < 0 || *v > int(HighestSyncMessageVersion) {
return Base
}
@@ -58,7 +59,7 @@ func SyncMessageVersionsFromMap(toconvert map[string]int) map[string]SyncMessage
}
// return highest common sync message version, or Default (which is always available)
func HighestCommonSyncMessageVersions(a SyncMessageVersion, b SyncMessageVersion) SyncMessageVersion {
func HighestCommonSyncMessageVersion(a SyncMessageVersion, b SyncMessageVersion) SyncMessageVersion {
if a > b {
return b
}

View File

@@ -9,26 +9,29 @@ import (
func TestValidation(t *testing.T) {
assert.NoError(t, ValidateSyncMessageVersion(nil))
assert.NoError(t, ValidateSyncMessageVersion(toIntPtr(0)))
assert.NoError(t, ValidateSyncMessageVersion(toIntPtr(1)))
assert.ErrorIs(t, ValidateSyncMessageVersion(toIntPtr(int(^uint(0)>>1))), ErrorUnrecognizedSyncMessageVersion)
assert.ErrorIs(t, ValidateSyncMessageVersion(toIntPtr(-1)), ErrorUnrecognizedSyncMessageVersion)
}
func TestVersionFromConfig(t *testing.T) {
assert.Equal(t, CurrentSyncMessageVersion, SyncMessageVersionFromConfig(nil))
assert.Equal(t, CurrentSyncMessageVersion, SyncMessageVersionFromConfig(toIntPtr(1)))
assert.Equal(t, Base, SyncMessageVersionFromConfig(toIntPtr(-1)))
assert.Equal(t, Base, SyncMessageVersionFromConfig(toIntPtr(int(^uint(0)>>1))))
assert.Equal(t, DefaultSyncMessageVersion, SyncMessageVersionFromConfig(nil))
assert.Equal(t, Base, SyncMessageVersionFromConfig(toIntPtr(0)))
assert.Equal(t, ComponentNetworkMap, SyncMessageVersionFromConfig(toIntPtr(1)))
assert.Equal(t, DefaultSyncMessageVersion, SyncMessageVersionFromConfig(toIntPtr(-1)))
assert.Equal(t, DefaultSyncMessageVersion, SyncMessageVersionFromConfig(toIntPtr(int(^uint(0)>>1))))
}
func TestPerAccountConversionStringToEnum(t *testing.T) {
assert.Equal(t, map[string]SyncMessageVersion{"1": CurrentSyncMessageVersion}, SyncMessageVersionsFromMap(map[string]int{"1": 1}))
assert.Equal(t, map[string]SyncMessageVersion{"2": Base}, SyncMessageVersionsFromMap(map[string]int{"2": -1}))
assert.Equal(t, map[string]SyncMessageVersion{"1": HighestSyncMessageVersion}, SyncMessageVersionsFromMap(map[string]int{"1": 1}))
assert.Equal(t, map[string]SyncMessageVersion{"2": DefaultSyncMessageVersion}, SyncMessageVersionsFromMap(map[string]int{"2": -1}))
}
func TestCommonVersions(t *testing.T) {
assert.Equal(t, Base, HighestCommonSyncMessageVersions(Base, CurrentSyncMessageVersion))
assert.Equal(t, Base, HighestCommonSyncMessageVersions(CurrentSyncMessageVersion, Base))
assert.Equal(t, CurrentSyncMessageVersion, HighestCommonSyncMessageVersions(CurrentSyncMessageVersion, CurrentSyncMessageVersion))
assert.Equal(t, Base, HighestCommonSyncMessageVersion(Base, HighestSyncMessageVersion))
assert.Equal(t, Base, HighestCommonSyncMessageVersion(HighestSyncMessageVersion, Base))
assert.Equal(t, Base, HighestCommonSyncMessageVersion(Base, Base))
assert.Equal(t, HighestSyncMessageVersion, HighestCommonSyncMessageVersion(HighestSyncMessageVersion, HighestSyncMessageVersion))
}
func toIntPtr(v int) *int {