From a66bea2e3aec6552ae01339e70fcbcf363cae94c Mon Sep 17 00:00:00 2001 From: Gavin Frazar Date: Fri, 30 Jun 2023 13:48:08 -0700 Subject: [PATCH] improve startup with empty db or discovery config * log a warning when db/discovery service init is skipped but the service is enabled * dont register discovery service event mapping when init is skipped to avoid log spam waiting on DiscoveryReady event * fix godoc for DiscoveryReady event --- lib/service/service.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/service/service.go b/lib/service/service.go index 1c287699935f0..765df2012fd46 100644 --- a/lib/service/service.go +++ b/lib/service/service.go @@ -225,7 +225,7 @@ const ( // been set up. InstanceReady = "InstanceReady" - // DiscoveryReady is generated when the Teleport database proxy service + // DiscoveryReady is generated when the Teleport discovery service // is ready to start accepting connections. DiscoveryReady = "DiscoveryReady" @@ -1072,7 +1072,7 @@ func NewTeleport(cfg *servicecfg.Config) (*TeleportProcess, error) { if cfg.Tracing.Enabled { eventMapping.In = append(eventMapping.In, TracingReady) } - if cfg.Discovery.Enabled { + if process.shouldInitDiscovery() { eventMapping.In = append(eventMapping.In, DiscoveryReady) } @@ -1124,6 +1124,9 @@ func NewTeleport(cfg *servicecfg.Config) (*TeleportProcess, error) { process.initDatabases() serviceStarted = true } else { + if process.Config.Databases.Enabled { + process.log.Warn("Database service is enabled with empty configuration, skipping initialization") + } warnOnErr(process.closeImportedDescriptors(teleport.ComponentDatabase), process.log) } @@ -1145,6 +1148,9 @@ func NewTeleport(cfg *servicecfg.Config) (*TeleportProcess, error) { process.initDiscovery() serviceStarted = true } else { + if process.Config.Discovery.Enabled { + process.log.Warn("Discovery service is enabled with empty configuration, skipping initialization") + } warnOnErr(process.closeImportedDescriptors(teleport.ComponentDiscovery), process.log) }