mirror of
https://github.com/netbirdio/netbird.git
synced 2026-04-18 16:26:38 +00:00
add flag to disable the old legacy grpc endpoint
This commit is contained in:
@@ -29,11 +29,11 @@ import (
|
|||||||
"github.com/netbirdio/netbird/util/crypt"
|
"github.com/netbirdio/netbird/util/crypt"
|
||||||
)
|
)
|
||||||
|
|
||||||
var newServer = func(config *nbconfig.Config, dnsDomain, mgmtSingleAccModeDomain string, mgmtPort int, mgmtMetricsPort int, disableMetrics, disableGeoliteUpdate, userDeleteFromIDPEnabled bool) server.Server {
|
var newServer = func(config *nbconfig.Config, dnsDomain, mgmtSingleAccModeDomain string, mgmtPort int, mgmtMetricsPort int, disableLegacyManagementPort, disableMetrics, disableGeoliteUpdate, userDeleteFromIDPEnabled bool) server.Server {
|
||||||
return server.NewServer(config, dnsDomain, mgmtSingleAccModeDomain, mgmtPort, mgmtMetricsPort, disableMetrics, disableGeoliteUpdate, userDeleteFromIDPEnabled)
|
return server.NewServer(config, dnsDomain, mgmtSingleAccModeDomain, mgmtPort, mgmtMetricsPort, disableLegacyManagementPort, disableMetrics, disableGeoliteUpdate, userDeleteFromIDPEnabled)
|
||||||
}
|
}
|
||||||
|
|
||||||
func SetNewServer(fn func(config *nbconfig.Config, dnsDomain, mgmtSingleAccModeDomain string, mgmtPort int, mgmtMetricsPort int, disableMetrics, disableGeoliteUpdate, userDeleteFromIDPEnabled bool) server.Server) {
|
func SetNewServer(fn func(config *nbconfig.Config, dnsDomain, mgmtSingleAccModeDomain string, mgmtPort int, mgmtMetricsPort int, disableLegacyManagementPort, disableMetrics, disableGeoliteUpdate, userDeleteFromIDPEnabled bool) server.Server) {
|
||||||
newServer = fn
|
newServer = fn
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -110,7 +110,7 @@ var (
|
|||||||
mgmtSingleAccModeDomain = ""
|
mgmtSingleAccModeDomain = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
srv := newServer(config, dnsDomain, mgmtSingleAccModeDomain, mgmtPort, mgmtMetricsPort, disableMetrics, disableGeoliteUpdate, userDeleteFromIDPEnabled)
|
srv := newServer(config, dnsDomain, mgmtSingleAccModeDomain, mgmtPort, mgmtMetricsPort, disableLegacyManagementPort, disableMetrics, disableGeoliteUpdate, userDeleteFromIDPEnabled)
|
||||||
go func() {
|
go func() {
|
||||||
if err := srv.Start(cmd.Context()); err != nil {
|
if err := srv.Start(cmd.Context()); err != nil {
|
||||||
log.Fatalf("Server error: %v", err)
|
log.Fatalf("Server error: %v", err)
|
||||||
|
|||||||
@@ -16,21 +16,22 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
dnsDomain string
|
dnsDomain string
|
||||||
mgmtDataDir string
|
mgmtDataDir string
|
||||||
logLevel string
|
logLevel string
|
||||||
logFile string
|
logFile string
|
||||||
disableMetrics bool
|
disableMetrics bool
|
||||||
disableSingleAccMode bool
|
disableSingleAccMode bool
|
||||||
disableGeoliteUpdate bool
|
disableGeoliteUpdate bool
|
||||||
idpSignKeyRefreshEnabled bool
|
idpSignKeyRefreshEnabled bool
|
||||||
userDeleteFromIDPEnabled bool
|
userDeleteFromIDPEnabled bool
|
||||||
mgmtPort int
|
mgmtPort int
|
||||||
mgmtMetricsPort int
|
mgmtMetricsPort int
|
||||||
mgmtLetsencryptDomain string
|
disableLegacyManagementPort bool
|
||||||
mgmtSingleAccModeDomain string
|
mgmtLetsencryptDomain string
|
||||||
certFile string
|
mgmtSingleAccModeDomain string
|
||||||
certKey string
|
certFile string
|
||||||
|
certKey string
|
||||||
|
|
||||||
rootCmd = &cobra.Command{
|
rootCmd = &cobra.Command{
|
||||||
Use: "netbird-mgmt",
|
Use: "netbird-mgmt",
|
||||||
@@ -55,6 +56,7 @@ func Execute() error {
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
mgmtCmd.Flags().IntVar(&mgmtPort, "port", 80, "server port to listen on (defaults to 443 if TLS is enabled, 80 otherwise")
|
mgmtCmd.Flags().IntVar(&mgmtPort, "port", 80, "server port to listen on (defaults to 443 if TLS is enabled, 80 otherwise")
|
||||||
|
mgmtCmd.Flags().BoolVar(&disableLegacyManagementPort, "disable-legacy-port", false, "disabling the old legacy port (33073)")
|
||||||
mgmtCmd.Flags().IntVar(&mgmtMetricsPort, "metrics-port", 9090, "metrics endpoint http port. Metrics are accessible under host:metrics-port/metrics")
|
mgmtCmd.Flags().IntVar(&mgmtMetricsPort, "metrics-port", 9090, "metrics endpoint http port. Metrics are accessible under host:metrics-port/metrics")
|
||||||
mgmtCmd.Flags().StringVar(&mgmtDataDir, "datadir", defaultMgmtDataDir, "server data directory location")
|
mgmtCmd.Flags().StringVar(&mgmtDataDir, "datadir", defaultMgmtDataDir, "server data directory location")
|
||||||
mgmtCmd.Flags().StringVar(&nbconfig.MgmtConfigPath, "config", defaultMgmtConfig, "Netbird config file location. Config params specified via command line (e.g. datadir) have a precedence over configuration from this file")
|
mgmtCmd.Flags().StringVar(&nbconfig.MgmtConfigPath, "config", defaultMgmtConfig, "Netbird config file location. Config params specified via command line (e.g. datadir) have a precedence over configuration from this file")
|
||||||
|
|||||||
@@ -50,13 +50,14 @@ type BaseServer struct {
|
|||||||
// AfterInit is a function that will be called after the server is initialized
|
// AfterInit is a function that will be called after the server is initialized
|
||||||
afterInit []func(s *BaseServer)
|
afterInit []func(s *BaseServer)
|
||||||
|
|
||||||
disableMetrics bool
|
disableMetrics bool
|
||||||
dnsDomain string
|
dnsDomain string
|
||||||
disableGeoliteUpdate bool
|
disableGeoliteUpdate bool
|
||||||
userDeleteFromIDPEnabled bool
|
userDeleteFromIDPEnabled bool
|
||||||
mgmtSingleAccModeDomain string
|
mgmtSingleAccModeDomain string
|
||||||
mgmtMetricsPort int
|
mgmtMetricsPort int
|
||||||
mgmtPort int
|
mgmtPort int
|
||||||
|
disableLegacyManagementPort bool
|
||||||
|
|
||||||
proxyAuthClose func()
|
proxyAuthClose func()
|
||||||
|
|
||||||
@@ -70,17 +71,18 @@ type BaseServer struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// NewServer initializes and configures a new Server instance
|
// NewServer initializes and configures a new Server instance
|
||||||
func NewServer(config *nbconfig.Config, dnsDomain, mgmtSingleAccModeDomain string, mgmtPort, mgmtMetricsPort int, disableMetrics, disableGeoliteUpdate, userDeleteFromIDPEnabled bool) *BaseServer {
|
func NewServer(config *nbconfig.Config, dnsDomain, mgmtSingleAccModeDomain string, mgmtPort, mgmtMetricsPort int, disableLegacyManagementPort, disableMetrics, disableGeoliteUpdate, userDeleteFromIDPEnabled bool) *BaseServer {
|
||||||
return &BaseServer{
|
return &BaseServer{
|
||||||
Config: config,
|
Config: config,
|
||||||
container: make(map[string]any),
|
container: make(map[string]any),
|
||||||
dnsDomain: dnsDomain,
|
dnsDomain: dnsDomain,
|
||||||
mgmtSingleAccModeDomain: mgmtSingleAccModeDomain,
|
mgmtSingleAccModeDomain: mgmtSingleAccModeDomain,
|
||||||
disableMetrics: disableMetrics,
|
disableMetrics: disableMetrics,
|
||||||
disableGeoliteUpdate: disableGeoliteUpdate,
|
disableGeoliteUpdate: disableGeoliteUpdate,
|
||||||
userDeleteFromIDPEnabled: userDeleteFromIDPEnabled,
|
userDeleteFromIDPEnabled: userDeleteFromIDPEnabled,
|
||||||
mgmtPort: mgmtPort,
|
mgmtPort: mgmtPort,
|
||||||
mgmtMetricsPort: mgmtMetricsPort,
|
disableLegacyManagementPort: disableLegacyManagementPort,
|
||||||
|
mgmtMetricsPort: mgmtMetricsPort,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -152,7 +154,7 @@ func (s *BaseServer) Start(ctx context.Context) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var compatListener net.Listener
|
var compatListener net.Listener
|
||||||
if s.mgmtPort != ManagementLegacyPort {
|
if s.mgmtPort != ManagementLegacyPort && !s.disableLegacyManagementPort {
|
||||||
// The Management gRPC server was running on port 33073 previously. Old agents that are already connected to it
|
// The Management gRPC server was running on port 33073 previously. Old agents that are already connected to it
|
||||||
// are using port 33073. For compatibility purposes we keep running a 2nd gRPC server on port 33073.
|
// are using port 33073. For compatibility purposes we keep running a 2nd gRPC server on port 33073.
|
||||||
compatListener, err = s.serveGRPC(srvCtx, s.GRPCServer(), ManagementLegacyPort)
|
compatListener, err = s.serveGRPC(srvCtx, s.GRPCServer(), ManagementLegacyPort)
|
||||||
|
|||||||
Reference in New Issue
Block a user