package main import ( "os" "go.dev.pztrn.name/vikunja-notifier/internal/application" "go.dev.pztrn.name/vikunja-notifier/internal/commons" "go.dev.pztrn.name/vikunja-notifier/internal/services/core/httpserver" ) func main() { app := application.New() lgr := app.NewLogger("module", "main") lgr.Info( "Starting vikunja-notifier...", "version", commons.Version, "build_no", commons.Build, "buint_on", commons.BuildDate, "commit", commons.Commit, "branch", commons.Branch, ) if err := app.Start(); err != nil { lgr.Error("Failed to start vikunja-notifier!", "error", err.Error()) os.Exit(1) } if err := httpserver.Initialize(app); err != nil { lgr.Error("Failed to initialize vikunja-notifier", "error", err.Error()) } if err := app.Start(); err != nil { lgr.Error("Failed to start vikunja-notifier", "error", err.Error()) os.Exit(2) } lgr.Info("vikunja-notifier started.") <-app.ShutdownChan() lgr.Info("Shutting down vikunja-notifier...") if err := app.Shutdown(); err != nil { lgr.Error("Failed to shutdown vikunja-notifier!", "error", err.Error()) os.Exit(1) } }