package server import ( "github.com/go-kratos/kratos/v2/log" "bkb-order/internal/conf" rn "github.com/go-kratos/kratos/contrib/registry/nacos/v2" "github.com/go-kratos/kratos/v2/registry" "github.com/google/wire" "github.com/nacos-group/nacos-sdk-go/clients" "github.com/nacos-group/nacos-sdk-go/common/constant" "github.com/nacos-group/nacos-sdk-go/vo" ) // ProviderSet is server providers. var ProviderSet = wire.NewSet(NewGRPCServer, NewHTTPServer, NewDiscovery, NewRegistrar) func NewNacosClient(env string) vo.NacosClientParam { type config struct { addr string username string password string } var nc config if env == "prod" || env == "uat" { nc = config{ addr: "https://nacos.mangguonews.com", username: "nacos_pub", password: "88m8JxgK", } } else { nc = config{ addr: "https://nacos-dev.mangguonews.com", username: "nacos", password: "nacos", } } sc := []constant.ServerConfig{ *constant.NewServerConfig(nc.addr, 443), } cc := &constant.ClientConfig{ NamespaceId: env, // namespace id Username: nc.username, Password: nc.password, CacheDir: "./log/nacos", LogDir: "./log/nacos", } return vo.NacosClientParam{ ClientConfig: cc, ServerConfigs: sc, } } func NewRegistrar(app *conf.App) registry.Registrar { param := NewNacosClient(app.Env) client, err := clients.NewNamingClient( param, ) if err != nil { log.Fatal(err) return nil } return rn.New(client) } func NewDiscovery(env string) registry.Discovery { param := NewNacosClient(env) client, err := clients.NewNamingClient( param, ) if err != nil { log.Fatal(err) } return rn.New(client) }