fix: log error when starting server fails

This commit is contained in:
Johan Siebens
2023-04-15 08:26:08 +02:00
parent 326860c941
commit 9fd4e5fee4
2 changed files with 21 additions and 13 deletions
+4 -3
View File
@@ -8,9 +8,10 @@ import (
func serverCommand() *cobra.Command { func serverCommand() *cobra.Command {
command := &cobra.Command{ command := &cobra.Command{
Use: "server", Use: "server",
Short: "Start an ionscale server", Short: "Start an ionscale server",
SilenceUsage: true, SilenceUsage: true,
SilenceErrors: true,
} }
var configFile string var configFile string
+17 -10
View File
@@ -38,31 +38,38 @@ func Start(c *config.Config) error {
logger.Info("Starting ionscale server") logger.Info("Starting ionscale server")
logError := func(err error) error {
if err != nil {
zap.L().WithOptions(zap.AddCallerSkip(1)).Error("Unable to start server", zap.Error(err))
}
return err
}
httpLogger := logger.Named("http") httpLogger := logger.Named("http")
dbLogger := logger.Named("db") dbLogger := logger.Named("db")
repository, err := database.OpenDB(&c.Database, dbLogger) repository, err := database.OpenDB(&c.Database, dbLogger)
if err != nil { if err != nil {
return err return logError(err)
} }
sessionManager := core.NewPollMapSessionManager() sessionManager := core.NewPollMapSessionManager()
defaultControlKeys, err := repository.GetControlKeys(context.Background()) defaultControlKeys, err := repository.GetControlKeys(context.Background())
if err != nil { if err != nil {
return err return logError(err)
} }
serverKey, err := c.ReadServerKeys(defaultControlKeys) serverKey, err := c.ReadServerKeys(defaultControlKeys)
if err != nil { if err != nil {
return err return logError(err)
} }
core.StartReaper(repository, sessionManager) core.StartReaper(repository, sessionManager)
serverUrl, err := url.Parse(c.ServerUrl) serverUrl, err := url.Parse(c.ServerUrl)
if err != nil { if err != nil {
return err return logError(err)
} }
// prepare CertMagic // prepare CertMagic
@@ -77,7 +84,7 @@ func Start(c *config.Config) error {
cfg := certmagic.NewDefault() cfg := certmagic.NewDefault()
if err := cfg.ManageAsync(context.Background(), []string{serverUrl.Host}); err != nil { if err := cfg.ManageAsync(context.Background(), []string{serverUrl.Host}); err != nil {
return err return logError(err)
} }
c.HttpListenAddr = fmt.Sprintf(":%d", certmagic.HTTPPort) c.HttpListenAddr = fmt.Sprintf(":%d", certmagic.HTTPPort)
@@ -86,12 +93,12 @@ func Start(c *config.Config) error {
authProvider, systemIAMPolicy, err := setupAuthProvider(c.Auth) authProvider, systemIAMPolicy, err := setupAuthProvider(c.Auth)
if err != nil { if err != nil {
return fmt.Errorf("error configuring OIDC provider: %v", err) return logError(fmt.Errorf("error configuring OIDC provider: %v", err))
} }
dnsProvider, err := dns.NewProvider(c.DNS) dnsProvider, err := dns.NewProvider(c.DNS)
if err != nil { if err != nil {
return err return logError(err)
} }
p := echo_prometheus.NewPrometheus("http", nil) p := echo_prometheus.NewPrometheus("http", nil)
@@ -170,17 +177,17 @@ func Start(c *config.Config) error {
tlsL, err := tlsListener(c) tlsL, err := tlsListener(c)
if err != nil { if err != nil {
return err return logError(err)
} }
nonTlsL, err := nonTlsListener(c) nonTlsL, err := nonTlsListener(c)
if err != nil { if err != nil {
return err return logError(err)
} }
metricsL, err := metricsListener(c) metricsL, err := metricsListener(c)
if err != nil { if err != nil {
return err return logError(err)
} }
httpL := selectListener(tlsL, nonTlsL) httpL := selectListener(tlsL, nonTlsL)