From 2c4ac33b381e352fefe401e94f0416e158db8b71 Mon Sep 17 00:00:00 2001 From: Viktor Liu <17948409+lixmal@users.noreply.github.com> Date: Fri, 25 Jul 2025 15:15:38 +0200 Subject: [PATCH] [client] Remove and deprecate the admin url functionality (#4218) --- client/cmd/login.go | 1 - client/cmd/root.go | 3 ++- client/cmd/up.go | 2 -- client/ui/client_ui.go | 14 +------------- 4 files changed, 3 insertions(+), 17 deletions(-) diff --git a/client/cmd/login.go b/client/cmd/login.go index 8ac7086b8..f3a2f0cca 100644 --- a/client/cmd/login.go +++ b/client/cmd/login.go @@ -61,7 +61,6 @@ var loginCmd = &cobra.Command{ ic := internal.ConfigInput{ ManagementURL: managementURL, - AdminURL: adminURL, ConfigPath: configPath, } if rootCmd.PersistentFlags().Changed(preSharedKeyFlag) { diff --git a/client/cmd/root.go b/client/cmd/root.go index 1774602c4..e4f260f9b 100644 --- a/client/cmd/root.go +++ b/client/cmd/root.go @@ -118,7 +118,8 @@ func init() { rootCmd.PersistentFlags().StringVar(&daemonAddr, "daemon-addr", defaultDaemonAddr, "Daemon service address to serve CLI requests [unix|tcp]://[path|host:port]") rootCmd.PersistentFlags().StringVarP(&managementURL, "management-url", "m", "", fmt.Sprintf("Management Service URL [http|https]://[host]:[port] (default \"%s\")", internal.DefaultManagementURL)) - rootCmd.PersistentFlags().StringVar(&adminURL, "admin-url", "", fmt.Sprintf("Admin Panel URL [http|https]://[host]:[port] (default \"%s\")", internal.DefaultAdminURL)) + rootCmd.PersistentFlags().StringVar(&adminURL, "admin-url", "", fmt.Sprintf("(DEPRECATED) Admin Panel URL [http|https]://[host]:[port] (default \"%s\") - This flag is no longer functional", internal.DefaultAdminURL)) + _ = rootCmd.PersistentFlags().MarkDeprecated("admin-url", "the admin-url flag is no longer functional and will be removed in a future version") rootCmd.PersistentFlags().StringVarP(&configPath, "config", "c", defaultConfigPath, "Netbird config file location") rootCmd.PersistentFlags().StringVarP(&logLevel, "log-level", "l", "info", "sets Netbird log level") rootCmd.PersistentFlags().StringSliceVar(&logFiles, "log-file", []string{defaultLogFile}, "sets Netbird log paths written to simultaneously. If `console` is specified the log will be output to stdout. If `syslog` is specified the log will be sent to syslog daemon. You can pass the flag multiple times or separate entries by `,` character") diff --git a/client/cmd/up.go b/client/cmd/up.go index 529beeac7..66fe91f7d 100644 --- a/client/cmd/up.go +++ b/client/cmd/up.go @@ -238,7 +238,6 @@ func runInDaemonMode(ctx context.Context, cmd *cobra.Command) error { func setupConfig(customDNSAddressConverted []byte, cmd *cobra.Command) (*internal.ConfigInput, error) { ic := internal.ConfigInput{ ManagementURL: managementURL, - AdminURL: adminURL, ConfigPath: configPath, NATExternalIPs: natExternalIPs, CustomDNSAddress: customDNSAddressConverted, @@ -325,7 +324,6 @@ func setupLoginRequest(providedSetupKey string, customDNSAddressConverted []byte loginRequest := proto.LoginRequest{ SetupKey: providedSetupKey, ManagementUrl: managementURL, - AdminURL: adminURL, NatExternalIPs: natExternalIPs, CleanNATExternalIPs: natExternalIPs != nil && len(natExternalIPs) == 0, CustomDNSAddress: customDNSAddressConverted, diff --git a/client/ui/client_ui.go b/client/ui/client_ui.go index 4480adb51..c18d96dae 100644 --- a/client/ui/client_ui.go +++ b/client/ui/client_ui.go @@ -214,7 +214,6 @@ type serviceClient struct { // input elements for settings form iMngURL *widget.Entry - iAdminURL *widget.Entry iConfigFile *widget.Entry iLogFile *widget.Entry iPreSharedKey *widget.Entry @@ -232,7 +231,6 @@ type serviceClient struct { // observable settings over corresponding iMngURL and iPreSharedKey values. managementURL string preSharedKey string - adminURL string RosenpassPermissive bool interfaceName string interfacePort int @@ -344,7 +342,6 @@ func (s *serviceClient) showSettingsUI() { s.wSettings.SetOnClosed(s.cancel) s.iMngURL = widget.NewEntry() - s.iAdminURL = widget.NewEntry() s.iConfigFile = widget.NewEntry() s.iConfigFile.Disable() s.iLogFile = widget.NewEntry() @@ -377,7 +374,6 @@ func (s *serviceClient) getSettingsForm() *widget.Form { {Text: "Interface Name", Widget: s.iInterfaceName}, {Text: "Interface Port", Widget: s.iInterfacePort}, {Text: "Management URL", Widget: s.iMngURL}, - {Text: "Admin URL", Widget: s.iAdminURL}, {Text: "Pre-shared Key", Widget: s.iPreSharedKey}, {Text: "Config File", Widget: s.iConfigFile}, {Text: "Log File", Widget: s.iLogFile}, @@ -403,14 +399,13 @@ func (s *serviceClient) getSettingsForm() *widget.Form { return } - iAdminURL := strings.TrimSpace(s.iAdminURL.Text) iMngURL := strings.TrimSpace(s.iMngURL.Text) defer s.wSettings.Close() // Check if any settings have changed if s.managementURL != iMngURL || s.preSharedKey != s.iPreSharedKey.Text || - s.adminURL != iAdminURL || s.RosenpassPermissive != s.sRosenpassPermissive.Checked || + s.RosenpassPermissive != s.sRosenpassPermissive.Checked || s.interfaceName != s.iInterfaceName.Text || s.interfacePort != int(port) || s.networkMonitor != s.sNetworkMonitor.Checked || s.disableDNS != s.sDisableDNS.Checked || @@ -420,11 +415,9 @@ func (s *serviceClient) getSettingsForm() *widget.Form { s.managementURL = iMngURL s.preSharedKey = s.iPreSharedKey.Text - s.adminURL = iAdminURL loginRequest := proto.LoginRequest{ ManagementUrl: iMngURL, - AdminURL: iAdminURL, IsUnixDesktopClient: runtime.GOOS == "linux" || runtime.GOOS == "freebsd", RosenpassPermissive: &s.sRosenpassPermissive.Checked, InterfaceName: &s.iInterfaceName.Text, @@ -798,7 +791,6 @@ func (s *serviceClient) getSrvClient(timeout time.Duration) (proto.DaemonService // getSrvConfig from the service to show it in the settings window. func (s *serviceClient) getSrvConfig() { s.managementURL = internal.DefaultManagementURL - s.adminURL = internal.DefaultAdminURL conn, err := s.getSrvClient(failFastTimeout) if err != nil { @@ -815,9 +807,6 @@ func (s *serviceClient) getSrvConfig() { if cfg.ManagementUrl != "" { s.managementURL = cfg.ManagementUrl } - if cfg.AdminURL != "" { - s.adminURL = cfg.AdminURL - } s.preSharedKey = cfg.PreSharedKey s.RosenpassPermissive = cfg.RosenpassPermissive s.interfaceName = cfg.InterfaceName @@ -831,7 +820,6 @@ func (s *serviceClient) getSrvConfig() { if s.showAdvancedSettings { s.iMngURL.SetText(s.managementURL) - s.iAdminURL.SetText(s.adminURL) s.iConfigFile.SetText(cfg.ConfigFile) s.iLogFile.SetText(cfg.LogFile) s.iPreSharedKey.SetText(cfg.PreSharedKey)