main.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package main
  2. import (
  3. "context"
  4. "flag"
  5. "fmt"
  6. "github.com/go-nunu/nunu-layout-advanced/cmd/server/wire"
  7. "github.com/go-nunu/nunu-layout-advanced/pkg/config"
  8. "github.com/go-nunu/nunu-layout-advanced/pkg/log"
  9. "go.uber.org/zap"
  10. )
  11. // @title Nunu Example API
  12. // @version 1.0.0
  13. // @description This is a sample server celler server.
  14. // @termsOfService http://swagger.io/terms/
  15. // @contact.name API Support
  16. // @contact.url http://www.swagger.io/support
  17. // @contact.email support@swagger.io
  18. // @license.name Apache 2.0
  19. // @license.url http://www.apache.org/licenses/LICENSE-2.0.html
  20. // @host localhost:8000
  21. // @securityDefinitions.apiKey Bearer
  22. // @in header
  23. // @name Authorization
  24. // @externalDocs.description OpenAPI
  25. // @externalDocs.url https://swagger.io/resources/open-api/
  26. func main() {
  27. var envConf = flag.String("conf", "config/local.yml", "config path, eg: -conf ./config/local.yml")
  28. flag.Parse()
  29. conf := config.NewConfig(*envConf)
  30. logger := log.NewLog(conf)
  31. app, cleanup, err := wire.NewWire(conf, logger)
  32. defer cleanup()
  33. if err != nil {
  34. panic(err)
  35. }
  36. logger.Info("server start", zap.String("host", fmt.Sprintf("http://%s:%d", conf.GetString("http.host"), conf.GetInt("http.port"))))
  37. logger.Info("docs addr", zap.String("addr", fmt.Sprintf("http://%s:%d/swagger/index.html", conf.GetString("http.host"), conf.GetInt("http.port"))))
  38. if err = app.Run(context.Background()); err != nil {
  39. panic(err)
  40. }
  41. }