mirror of
https://github.com/jsiebens/ionscale.git
synced 2026-03-31 15:07:49 +01:00
fix: log error when starting server fails
This commit is contained in:
@@ -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
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user