main.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package main
  2. import (
  3. "fmt"
  4. "log"
  5. "net/http"
  6. "github.com/porter-dev/porter/internal/repository/gorm"
  7. "github.com/porter-dev/porter/server/api"
  8. adapter "github.com/porter-dev/porter/internal/adapter"
  9. "github.com/porter-dev/porter/internal/config"
  10. lr "github.com/porter-dev/porter/internal/logger"
  11. vr "github.com/porter-dev/porter/internal/validator"
  12. "github.com/porter-dev/porter/server/router"
  13. )
  14. func main() {
  15. appConf := config.AppConfig()
  16. logger := lr.NewConsole(appConf.Debug)
  17. db, err := adapter.New(&appConf.Db)
  18. if err != nil {
  19. logger.Fatal().Err(err).Msg("")
  20. return
  21. }
  22. validator := vr.New()
  23. repo := gorm.NewRepository(db)
  24. a := api.New(logger, repo, validator)
  25. appRouter := router.New(a)
  26. address := fmt.Sprintf(":%d", appConf.Server.Port)
  27. logger.Info().Msgf("Starting server %v", address)
  28. s := &http.Server{
  29. Addr: address,
  30. Handler: appRouter,
  31. ReadTimeout: appConf.Server.TimeoutRead,
  32. WriteTimeout: appConf.Server.TimeoutWrite,
  33. IdleTimeout: appConf.Server.TimeoutIdle,
  34. }
  35. if err := s.ListenAndServe(); err != nil && err != http.ErrServerClosed {
  36. log.Fatal("Server startup failed")
  37. }
  38. }