You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.1 KiB
Go
47 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/go-micro/dashboard/config"
|
|
"github.com/go-micro/dashboard/handler"
|
|
"github.com/go-micro/plugins/v4/server/http"
|
|
"go-micro.dev/v4"
|
|
"go-micro.dev/v4/logger"
|
|
)
|
|
|
|
// @title Go Micro Dashboard
|
|
// @version 1.4.0
|
|
// @description go micro dashboard restful-api
|
|
// @termsOfService http://swagger.io/terms/
|
|
// @BasePath /
|
|
// @securityDefinitions.apikey ApiKeyAuth
|
|
// @in header
|
|
// @name Authorization
|
|
|
|
func main() {
|
|
if err := config.Load(); err != nil {
|
|
logger.Fatal(err)
|
|
}
|
|
srv := micro.NewService(micro.Server(http.NewServer()))
|
|
opts := []micro.Option{
|
|
micro.Name(config.Name),
|
|
micro.Address(config.GetServerConfig().Address),
|
|
micro.Version(config.Version),
|
|
}
|
|
srv.Init(opts...)
|
|
if config.GetServerConfig().Env == config.EnvProd {
|
|
gin.SetMode(gin.ReleaseMode)
|
|
}
|
|
router := gin.New()
|
|
router.Use(gin.Recovery(), gin.Logger())
|
|
if err := handler.Register(handler.Options{Client: srv.Client(), Router: router}); err != nil {
|
|
logger.Fatal(err)
|
|
}
|
|
if err := micro.RegisterHandler(srv.Server(), router); err != nil {
|
|
logger.Fatal(err)
|
|
}
|
|
if err := srv.Run(); err != nil {
|
|
logger.Fatal(err)
|
|
}
|
|
}
|