mirror of
https://github.com/netbirdio/netbird.git
synced 2026-10-22 21:39:08 +02:00
Adds DisableAdvancedView optional MDM flag
This commit is contained in:
@@ -15,6 +15,7 @@ var allKeys = []string{
|
|||||||
KeyDisableUpdateSettings,
|
KeyDisableUpdateSettings,
|
||||||
KeyDisableProfiles,
|
KeyDisableProfiles,
|
||||||
KeyDisableNetworks,
|
KeyDisableNetworks,
|
||||||
|
KeyDisableAdvancedView,
|
||||||
KeyDisableClientRoutes,
|
KeyDisableClientRoutes,
|
||||||
KeyDisableServerRoutes,
|
KeyDisableServerRoutes,
|
||||||
KeyBlockInbound,
|
KeyBlockInbound,
|
||||||
|
|||||||
@@ -23,6 +23,13 @@ const (
|
|||||||
KeyDisableUpdateSettings = "disableUpdateSettings"
|
KeyDisableUpdateSettings = "disableUpdateSettings"
|
||||||
KeyDisableProfiles = "disableProfiles"
|
KeyDisableProfiles = "disableProfiles"
|
||||||
KeyDisableNetworks = "disableNetworks"
|
KeyDisableNetworks = "disableNetworks"
|
||||||
|
// KeyDisableAdvancedView gates the advanced-view section in the
|
||||||
|
// upcoming UI revision. UI-only: NOT stored on Config, not
|
||||||
|
// applied by applyMDMPolicy, not rejectable via SetConfig. The
|
||||||
|
// daemon surfaces it through GetFeatures (tristate: present
|
||||||
|
// true / present false / absent) and the same key appears in
|
||||||
|
// GetConfigResponse.mDMManagedFields when set.
|
||||||
|
KeyDisableAdvancedView = "disableAdvancedView"
|
||||||
KeyDisableClientRoutes = "disableClientRoutes"
|
KeyDisableClientRoutes = "disableClientRoutes"
|
||||||
KeyDisableServerRoutes = "disableServerRoutes"
|
KeyDisableServerRoutes = "disableServerRoutes"
|
||||||
KeyBlockInbound = "blockInbound"
|
KeyBlockInbound = "blockInbound"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.36.6
|
// protoc-gen-go v1.36.6
|
||||||
// protoc v3.21.12
|
// protoc v6.33.1
|
||||||
// source: daemon.proto
|
// source: daemon.proto
|
||||||
|
|
||||||
package proto
|
package proto
|
||||||
@@ -5035,8 +5035,14 @@ type GetFeaturesResponse struct {
|
|||||||
DisableProfiles bool `protobuf:"varint,1,opt,name=disable_profiles,json=disableProfiles,proto3" json:"disable_profiles,omitempty"`
|
DisableProfiles bool `protobuf:"varint,1,opt,name=disable_profiles,json=disableProfiles,proto3" json:"disable_profiles,omitempty"`
|
||||||
DisableUpdateSettings bool `protobuf:"varint,2,opt,name=disable_update_settings,json=disableUpdateSettings,proto3" json:"disable_update_settings,omitempty"`
|
DisableUpdateSettings bool `protobuf:"varint,2,opt,name=disable_update_settings,json=disableUpdateSettings,proto3" json:"disable_update_settings,omitempty"`
|
||||||
DisableNetworks bool `protobuf:"varint,3,opt,name=disable_networks,json=disableNetworks,proto3" json:"disable_networks,omitempty"`
|
DisableNetworks bool `protobuf:"varint,3,opt,name=disable_networks,json=disableNetworks,proto3" json:"disable_networks,omitempty"`
|
||||||
unknownFields protoimpl.UnknownFields
|
// disableAdvancedView gates the upcoming UI revision's advanced
|
||||||
sizeCache protoimpl.SizeCache
|
// section. Tristate: unset = no MDM directive, the UI applies its
|
||||||
|
// own default; true = MDM enforces disable; false = MDM enforces
|
||||||
|
// enable. Sourced exclusively from the MDM policy — no CLI /
|
||||||
|
// config flag backs this value.
|
||||||
|
DisableAdvancedView *bool `protobuf:"varint,4,opt,name=disable_advanced_view,json=disableAdvancedView,proto3,oneof" json:"disable_advanced_view,omitempty"`
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *GetFeaturesResponse) Reset() {
|
func (x *GetFeaturesResponse) Reset() {
|
||||||
@@ -5090,6 +5096,13 @@ func (x *GetFeaturesResponse) GetDisableNetworks() bool {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *GetFeaturesResponse) GetDisableAdvancedView() bool {
|
||||||
|
if x != nil && x.DisableAdvancedView != nil {
|
||||||
|
return *x.DisableAdvancedView
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
// MDMManagedFieldsViolation is attached as a gRPC error detail on a
|
// MDMManagedFieldsViolation is attached as a gRPC error detail on a
|
||||||
// FailedPrecondition status returned from SetConfig (and similar mutating
|
// FailedPrecondition status returned from SetConfig (and similar mutating
|
||||||
// RPCs) when the caller tries to modify one or more MDM-enforced fields.
|
// RPCs) when the caller tries to modify one or more MDM-enforced fields.
|
||||||
@@ -7188,11 +7201,13 @@ const file_daemon_proto_rawDesc = "" +
|
|||||||
"\f_profileNameB\v\n" +
|
"\f_profileNameB\v\n" +
|
||||||
"\t_username\"\x10\n" +
|
"\t_username\"\x10\n" +
|
||||||
"\x0eLogoutResponse\"\x14\n" +
|
"\x0eLogoutResponse\"\x14\n" +
|
||||||
"\x12GetFeaturesRequest\"\xa3\x01\n" +
|
"\x12GetFeaturesRequest\"\xf6\x01\n" +
|
||||||
"\x13GetFeaturesResponse\x12)\n" +
|
"\x13GetFeaturesResponse\x12)\n" +
|
||||||
"\x10disable_profiles\x18\x01 \x01(\bR\x0fdisableProfiles\x126\n" +
|
"\x10disable_profiles\x18\x01 \x01(\bR\x0fdisableProfiles\x126\n" +
|
||||||
"\x17disable_update_settings\x18\x02 \x01(\bR\x15disableUpdateSettings\x12)\n" +
|
"\x17disable_update_settings\x18\x02 \x01(\bR\x15disableUpdateSettings\x12)\n" +
|
||||||
"\x10disable_networks\x18\x03 \x01(\bR\x0fdisableNetworks\"3\n" +
|
"\x10disable_networks\x18\x03 \x01(\bR\x0fdisableNetworks\x127\n" +
|
||||||
|
"\x15disable_advanced_view\x18\x04 \x01(\bH\x00R\x13disableAdvancedView\x88\x01\x01B\x18\n" +
|
||||||
|
"\x16_disable_advanced_view\"3\n" +
|
||||||
"\x19MDMManagedFieldsViolation\x12\x16\n" +
|
"\x19MDMManagedFieldsViolation\x12\x16\n" +
|
||||||
"\x06fields\x18\x01 \x03(\tR\x06fields\"\x16\n" +
|
"\x06fields\x18\x01 \x03(\tR\x06fields\"\x16\n" +
|
||||||
"\x14TriggerUpdateRequest\"M\n" +
|
"\x14TriggerUpdateRequest\"M\n" +
|
||||||
@@ -7642,6 +7657,7 @@ func file_daemon_proto_init() {
|
|||||||
file_daemon_proto_msgTypes[56].OneofWrappers = []any{}
|
file_daemon_proto_msgTypes[56].OneofWrappers = []any{}
|
||||||
file_daemon_proto_msgTypes[58].OneofWrappers = []any{}
|
file_daemon_proto_msgTypes[58].OneofWrappers = []any{}
|
||||||
file_daemon_proto_msgTypes[69].OneofWrappers = []any{}
|
file_daemon_proto_msgTypes[69].OneofWrappers = []any{}
|
||||||
|
file_daemon_proto_msgTypes[72].OneofWrappers = []any{}
|
||||||
file_daemon_proto_msgTypes[78].OneofWrappers = []any{}
|
file_daemon_proto_msgTypes[78].OneofWrappers = []any{}
|
||||||
file_daemon_proto_msgTypes[82].OneofWrappers = []any{}
|
file_daemon_proto_msgTypes[82].OneofWrappers = []any{}
|
||||||
file_daemon_proto_msgTypes[95].OneofWrappers = []any{
|
file_daemon_proto_msgTypes[95].OneofWrappers = []any{
|
||||||
|
|||||||
@@ -791,6 +791,12 @@ message GetFeaturesResponse{
|
|||||||
bool disable_profiles = 1;
|
bool disable_profiles = 1;
|
||||||
bool disable_update_settings = 2;
|
bool disable_update_settings = 2;
|
||||||
bool disable_networks = 3;
|
bool disable_networks = 3;
|
||||||
|
// disableAdvancedView gates the upcoming UI revision's advanced
|
||||||
|
// section. Tristate: unset = no MDM directive, the UI applies its
|
||||||
|
// own default; true = MDM enforces disable; false = MDM enforces
|
||||||
|
// enable. Sourced exclusively from the MDM policy — no CLI /
|
||||||
|
// config flag backs this value.
|
||||||
|
optional bool disable_advanced_view = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
// MDMManagedFieldsViolation is attached as a gRPC error detail on a
|
// MDMManagedFieldsViolation is attached as a gRPC error detail on a
|
||||||
|
|||||||
+280
-270
File diff suppressed because it is too large
Load Diff
@@ -2115,11 +2115,27 @@ func (s *Server) GetFeatures(ctx context.Context, msg *proto.GetFeaturesRequest)
|
|||||||
DisableProfiles: s.checkProfilesDisabled(),
|
DisableProfiles: s.checkProfilesDisabled(),
|
||||||
DisableUpdateSettings: s.checkUpdateSettingsDisabled(),
|
DisableUpdateSettings: s.checkUpdateSettingsDisabled(),
|
||||||
DisableNetworks: s.checkNetworksDisabled(),
|
DisableNetworks: s.checkNetworksDisabled(),
|
||||||
|
DisableAdvancedView: s.checkDisableAdvancedView(),
|
||||||
}
|
}
|
||||||
|
|
||||||
return features, nil
|
return features, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// checkDisableAdvancedView reports the MDM-policy directive for the
|
||||||
|
// upcoming UI's advanced-view section. Tristate: returns nil when no
|
||||||
|
// MDM directive is set so the UI applies its own default; returns
|
||||||
|
// &true / &false when MDM explicitly enforces. No CLI flag backs
|
||||||
|
// this feature — MDM is the sole source.
|
||||||
|
func (s *Server) checkDisableAdvancedView() *bool {
|
||||||
|
if s.config == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if v, ok := s.config.Policy().GetBool(mdm.KeyDisableAdvancedView); ok {
|
||||||
|
return &v
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func (s *Server) connect(ctx context.Context, config *profilemanager.Config, statusRecorder *peer.Status, runningChan chan struct{}) error {
|
func (s *Server) connect(ctx context.Context, config *profilemanager.Config, statusRecorder *peer.Status, runningChan chan struct{}) error {
|
||||||
log.Tracef("running client connection")
|
log.Tracef("running client connection")
|
||||||
client := internal.NewConnectClient(ctx, config, statusRecorder)
|
client := internal.NewConnectClient(ctx, config, statusRecorder)
|
||||||
|
|||||||
Reference in New Issue
Block a user