From 54e887034f09ee8edbbd7a513511ff45dabcde07 Mon Sep 17 00:00:00 2001 From: Bobo Date: Mon, 2 Jun 2025 14:09:11 +0800 Subject: [PATCH] feat: registry. --- bootstrap/bootstrap.go | 3 +- bootstrap/go.mod | 29 ++++++++++- bootstrap/go.sum | 67 ++++++++++++++++++++++++++ bootstrap/registry.go | 46 ++++++++++++++++++ cache/redis/go.mod | 2 +- config/go.mod | 2 +- database/cassandra/go.mod | 2 +- database/clickhouse/go.mod | 2 +- database/ent/go.mod | 2 +- database/gorm/go.mod | 2 +- database/influxdb/go.mod | 2 +- database/mongodb/go.mod | 2 +- logger/go.mod | 2 +- registry/consul/client_creator.go | 11 ++++- registry/consul/go.mod | 5 +- registry/etcd/client_creator.go | 11 +++++ registry/etcd/go.mod | 5 +- registry/eureka/client_creator.go | 11 +++++ registry/eureka/go.mod | 5 +- registry/go.mod | 2 +- registry/go.sum | 4 +- registry/kubernetes/client_creator.go | 11 +++++ registry/kubernetes/go.mod | 5 +- registry/nacos/client_creator.go | 11 +++++ registry/nacos/go.mod | 5 +- registry/polaris/client_creator.go | 11 +++++ registry/polaris/go.mod | 5 +- registry/servicecomb/client_creator.go | 11 +++++ registry/servicecomb/go.mod | 5 +- registry/zookeeper/client_creator.go | 16 ++++-- registry/zookeeper/go.mod | 6 +-- registry/zookeeper/go.sum | 2 - rpc/go.mod | 2 +- tag.bat | 25 ++++++---- tracer/go.mod | 2 +- utils/go.mod | 2 +- utils/go.sum | 4 +- 37 files changed, 285 insertions(+), 55 deletions(-) create mode 100644 bootstrap/registry.go diff --git a/bootstrap/bootstrap.go b/bootstrap/bootstrap.go index 4178dd2..841d667 100644 --- a/bootstrap/bootstrap.go +++ b/bootstrap/bootstrap.go @@ -11,7 +11,6 @@ import ( "github.com/tx7do/kratos-bootstrap/config" "github.com/tx7do/kratos-bootstrap/logger" - "github.com/tx7do/kratos-bootstrap/registry" "github.com/tx7do/kratos-bootstrap/tracer" conf "github.com/tx7do/kratos-bootstrap/api/gen/go/conf/v1" @@ -58,7 +57,7 @@ func DoBootstrap(serviceInfo *utils.ServiceInfo) (*conf.Bootstrap, log.Logger, k ll := logger.NewLoggerProvider(config.GetBootstrapConfig().Logger, serviceInfo) // init registrar - reg := registry.NewRegistry(config.GetBootstrapConfig().Registry) + reg := NewRegistry(config.GetBootstrapConfig().Registry) // init tracer if err = tracer.NewTracerProvider(config.GetBootstrapConfig().Trace, serviceInfo); err != nil { diff --git a/bootstrap/go.mod b/bootstrap/go.mod index d99d2d8..af36bb0 100644 --- a/bootstrap/go.mod +++ b/bootstrap/go.mod @@ -21,10 +21,17 @@ require ( github.com/google/subcommands v1.2.0 github.com/olekukonko/tablewriter v1.0.7 github.com/spf13/cobra v1.9.1 - github.com/tx7do/kratos-bootstrap/api v0.0.20 + github.com/tx7do/kratos-bootstrap/api v0.0.21 github.com/tx7do/kratos-bootstrap/config v0.0.9 github.com/tx7do/kratos-bootstrap/logger v0.0.9 - github.com/tx7do/kratos-bootstrap/registry v0.0.10 + github.com/tx7do/kratos-bootstrap/registry v0.1.0 + github.com/tx7do/kratos-bootstrap/registry/consul v0.0.5 + github.com/tx7do/kratos-bootstrap/registry/etcd v0.0.5 + github.com/tx7do/kratos-bootstrap/registry/eureka v0.0.5 + github.com/tx7do/kratos-bootstrap/registry/kubernetes v0.0.5 + github.com/tx7do/kratos-bootstrap/registry/nacos v0.0.5 + github.com/tx7do/kratos-bootstrap/registry/servicecomb v0.0.5 + github.com/tx7do/kratos-bootstrap/registry/zookeeper v0.0.5 github.com/tx7do/kratos-bootstrap/tracer v0.0.9 github.com/tx7do/kratos-bootstrap/utils v0.1.3 golang.org/x/tools v0.33.0 @@ -36,15 +43,21 @@ require ( github.com/apolloconfig/agollo/v4 v4.4.0 // indirect github.com/armon/go-metrics v0.5.4 // indirect github.com/buger/jsonparser v1.1.1 // indirect + github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cenkalti/backoff/v5 v5.0.2 // indirect github.com/coreos/go-semver v0.3.1 // indirect github.com/coreos/go-systemd/v22 v22.5.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect + github.com/deckarep/golang-set v1.8.0 // indirect github.com/emicklei/go-restful/v3 v3.12.2 // indirect github.com/fatih/color v1.18.0 // indirect github.com/fluent/fluent-logger-golang v1.10.0 // indirect github.com/fsnotify/fsnotify v1.9.0 // indirect github.com/fxamacker/cbor/v2 v2.8.0 // indirect + github.com/go-chassis/cari v0.9.0 // indirect + github.com/go-chassis/foundation v0.4.0 // indirect + github.com/go-chassis/openlog v1.1.3 // indirect + github.com/go-chassis/sc-client v0.7.0 // indirect github.com/go-errors/errors v1.5.1 // indirect github.com/go-kratos/aegis v0.2.0 // indirect github.com/go-kratos/kratos/contrib/config/apollo/v2 v2.0.0-20250527152916-d6f5f00cf562 // indirect @@ -55,6 +68,13 @@ require ( github.com/go-kratos/kratos/contrib/log/logrus/v2 v2.0.0-20250527152916-d6f5f00cf562 // indirect github.com/go-kratos/kratos/contrib/log/tencent/v2 v2.0.0-20250527152916-d6f5f00cf562 // indirect github.com/go-kratos/kratos/contrib/log/zap/v2 v2.0.0-20250527152916-d6f5f00cf562 // indirect + github.com/go-kratos/kratos/contrib/registry/consul/v2 v2.0.0-20250527152916-d6f5f00cf562 // indirect + github.com/go-kratos/kratos/contrib/registry/etcd/v2 v2.0.0-20250527152916-d6f5f00cf562 // indirect + github.com/go-kratos/kratos/contrib/registry/eureka/v2 v2.0.0-20250527152916-d6f5f00cf562 // indirect + github.com/go-kratos/kratos/contrib/registry/kubernetes/v2 v2.0.0-20250527152916-d6f5f00cf562 // indirect + github.com/go-kratos/kratos/contrib/registry/nacos/v2 v2.0.0-20250527152916-d6f5f00cf562 // indirect + github.com/go-kratos/kratos/contrib/registry/servicecomb/v2 v2.0.0-20250527152916-d6f5f00cf562 // indirect + github.com/go-kratos/kratos/contrib/registry/zookeeper/v2 v2.0.0-20250527152916-d6f5f00cf562 // indirect github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-openapi/jsonpointer v0.21.1 // indirect @@ -62,12 +82,15 @@ require ( github.com/go-openapi/swag v0.23.1 // indirect github.com/go-playground/form/v4 v4.2.1 // indirect github.com/go-viper/mapstructure/v2 v2.2.1 // indirect + github.com/go-zookeeper/zk v1.0.4 // indirect + github.com/gofrs/uuid v4.4.0+incompatible // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/protobuf v1.5.4 // indirect github.com/google/gnostic-models v0.6.9 // indirect github.com/google/go-cmp v0.7.0 // indirect github.com/google/uuid v1.6.0 // indirect github.com/gorilla/mux v1.8.1 // indirect + github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 // indirect github.com/hashicorp/consul/api v1.32.1 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect @@ -83,6 +106,7 @@ require ( github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect + github.com/karlseguin/ccache/v2 v2.0.8 // indirect github.com/klauspost/compress v1.18.0 // indirect github.com/mailru/easyjson v0.9.0 // indirect github.com/mattn/go-colorable v0.1.14 // indirect @@ -98,6 +122,7 @@ require ( github.com/olekukonko/ll v0.0.8 // indirect github.com/opentracing/opentracing-go v1.2.1-0.20220228012449-10b1cf09e00b // indirect github.com/openzipkin/zipkin-go v0.4.3 // indirect + github.com/patrickmn/go-cache v2.1.0+incompatible // indirect github.com/pelletier/go-toml/v2 v2.2.4 // indirect github.com/philhofer/fwd v1.1.3-0.20240916144458-20a13a1f6b7c // indirect github.com/pierrec/lz4 v2.6.1+incompatible // indirect diff --git a/bootstrap/go.sum b/bootstrap/go.sum index 94a304a..5d040c8 100644 --- a/bootstrap/go.sum +++ b/bootstrap/go.sum @@ -66,6 +66,9 @@ github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kB github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= +github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= +github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/cenkalti/backoff/v5 v5.0.2 h1:rIfFVxEf1QsI7E1ZHfp/B4DF/6QBAUhmgkxc0H7Zss8= github.com/cenkalti/backoff/v5 v5.0.2/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= @@ -91,6 +94,9 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/deckarep/golang-set v1.7.1/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ= +github.com/deckarep/golang-set v1.8.0 h1:sk9/l/KqpunDwP7pSjUg0keiOOLEnOBHzykLrsPppp4= +github.com/deckarep/golang-set v1.8.0/go.mod h1:5nI87KwE7wgsBU1F4GKAw2Qod7p5kyS383rP6+o6qqo= github.com/emicklei/go-restful/v3 v3.12.2 h1:DhwDP0vY3k8ZzE0RunuJy8GhNpPL6zqLkDf9B/a0/xU= github.com/emicklei/go-restful/v3 v3.12.2/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -116,6 +122,17 @@ github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8 github.com/fxamacker/cbor/v2 v2.8.0 h1:fFtUGXUzXPHTIUdne5+zzMPTfffl3RD5qYnkY40vtxU= github.com/fxamacker/cbor/v2 v2.8.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-chassis/cari v0.5.1-0.20210823023004-74041d1363c4/go.mod h1:av/19fqwEP4eOC8unL/z67AAbFDwXUCko6SKa4Avrd8= +github.com/go-chassis/cari v0.9.0 h1:skvo2PX8nLyu26CCg7qUMv7yP2DY73GrBW9M5tWj63c= +github.com/go-chassis/cari v0.9.0/go.mod h1:vM13BN0TT505ZKqeJ+hUfzZvfn4nN0vgE6IpBOTWcTc= +github.com/go-chassis/foundation v0.3.0/go.mod h1:2PjwqpVwYEVaAldl5A58a08viH8p27pNeYaiE3ZxOBA= +github.com/go-chassis/foundation v0.4.0 h1:z0xETnSxF+vRXWjoIhOdzt6rywjZ4sB++utEl4YgWEY= +github.com/go-chassis/foundation v0.4.0/go.mod h1:6NsIUaHghTFRGfCBcZN011zl196F6OR5QvD9N+P4oWU= +github.com/go-chassis/openlog v1.1.2/go.mod h1:+eYCADVxWyJkwsFMUBrMxyQlNqW+UUsCxvR2LrYZUaA= +github.com/go-chassis/openlog v1.1.3 h1:XqIOvZ8YPJ9o9lLtLBskQNNWolK5kC6a4Sv7r4s9sZ4= +github.com/go-chassis/openlog v1.1.3/go.mod h1:+eYCADVxWyJkwsFMUBrMxyQlNqW+UUsCxvR2LrYZUaA= +github.com/go-chassis/sc-client v0.7.0 h1:c2LSdbFMuZ3RcbDu7So//kFCzjDCkzdQ0CNKhm8Dy7I= +github.com/go-chassis/sc-client v0.7.0/go.mod h1:DmclCLMhyNpYN42ae0f5AgiF4lTrpG6NyJJgmyAgC+E= github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= github.com/go-errors/errors v1.5.1 h1:ZwEMSLRCapFLflTpT7NKaAc7ukJ8ZPEjzlxt8rPN8bk= github.com/go-errors/errors v1.5.1/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= @@ -143,6 +160,20 @@ github.com/go-kratos/kratos/contrib/log/tencent/v2 v2.0.0-20250527152916-d6f5f00 github.com/go-kratos/kratos/contrib/log/tencent/v2 v2.0.0-20250527152916-d6f5f00cf562/go.mod h1:DHq7E5ZLuhosKMbmC9T2Bww1Z28dgjXshUcZmvP0LA0= github.com/go-kratos/kratos/contrib/log/zap/v2 v2.0.0-20250527152916-d6f5f00cf562 h1:PgtcB7Vs2pRmee3sw6PHX1cSNgg+ElaNLu/yvZphk+M= github.com/go-kratos/kratos/contrib/log/zap/v2 v2.0.0-20250527152916-d6f5f00cf562/go.mod h1:2dBRhAOrPQptII8Bv+ox5X9Ryx7xlPDK77ZD6Go8bqg= +github.com/go-kratos/kratos/contrib/registry/consul/v2 v2.0.0-20250527152916-d6f5f00cf562 h1:PVWOn77FfwOYT4veUVB1zCtWNZq2SbKcxYO47BhmgQQ= +github.com/go-kratos/kratos/contrib/registry/consul/v2 v2.0.0-20250527152916-d6f5f00cf562/go.mod h1:I3L2JB86WBDlvBEICeJ39X/0KF0JJ4fkfbSg8LRSfRU= +github.com/go-kratos/kratos/contrib/registry/etcd/v2 v2.0.0-20250527152916-d6f5f00cf562 h1:wjCLWL0wtI05dIbFOt+BkE3hUMHNiiWFrgxltXoY1UQ= +github.com/go-kratos/kratos/contrib/registry/etcd/v2 v2.0.0-20250527152916-d6f5f00cf562/go.mod h1:4/85gQIHVmmeAW7WrQv4gAEys+8cSvj+T3Mt9YqNuLU= +github.com/go-kratos/kratos/contrib/registry/eureka/v2 v2.0.0-20250527152916-d6f5f00cf562 h1:Koka/bRHYXC3glZHHEcucvhTFHUarQeOwqCTo/3aDxU= +github.com/go-kratos/kratos/contrib/registry/eureka/v2 v2.0.0-20250527152916-d6f5f00cf562/go.mod h1:lW73CbTD/wSYuoenOa4gNbsdakJ1iz51tBr78rXF/YI= +github.com/go-kratos/kratos/contrib/registry/kubernetes/v2 v2.0.0-20250527152916-d6f5f00cf562 h1:CJy+DiGO8/7BaOazijCShrCbjh8Pd3Uc4YI7/TrwB5I= +github.com/go-kratos/kratos/contrib/registry/kubernetes/v2 v2.0.0-20250527152916-d6f5f00cf562/go.mod h1:gUvmoP13NI+zqYGhW6A5i/hOcs/9V9MZDHJ0yfySjpU= +github.com/go-kratos/kratos/contrib/registry/nacos/v2 v2.0.0-20250527152916-d6f5f00cf562 h1:cFpU7said2WWV57GjfGoXnypVaLUrrvHdfSZ7sj4cUE= +github.com/go-kratos/kratos/contrib/registry/nacos/v2 v2.0.0-20250527152916-d6f5f00cf562/go.mod h1:Rcf6MF5ZITDFmDqo981rw2v8kMog5gbZu8FW3yc6rpc= +github.com/go-kratos/kratos/contrib/registry/servicecomb/v2 v2.0.0-20250527152916-d6f5f00cf562 h1:Z/vwwvJzRu06q1QfYYO0BmpfHU5+9OYuAT0tqdGr9C8= +github.com/go-kratos/kratos/contrib/registry/servicecomb/v2 v2.0.0-20250527152916-d6f5f00cf562/go.mod h1:BBa/pRnBKR6Xdf7WqggKaT9MXCyhfGIkK9VFWrJiYI8= +github.com/go-kratos/kratos/contrib/registry/zookeeper/v2 v2.0.0-20250527152916-d6f5f00cf562 h1:SBDGsiqkqT6BOidznJKweIcru7eVigX8fkNWp1mZjWk= +github.com/go-kratos/kratos/contrib/registry/zookeeper/v2 v2.0.0-20250527152916-d6f5f00cf562/go.mod h1:/XjgaYgSaaoIe4YcUishDuqLpQvOSujQTk8D0cJx/Zo= github.com/go-kratos/kratos/v2 v2.8.4 h1:eIJLE9Qq9WSoKx+Buy2uPyrahtF/lPh+Xf4MTpxhmjs= github.com/go-kratos/kratos/v2 v2.8.4/go.mod h1:mq62W2101a5uYyRxe+7IdWubu7gZCGYqSNKwGFiiRcw= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= @@ -163,14 +194,22 @@ github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBY github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/form/v4 v4.2.1 h1:HjdRDKO0fftVMU5epjPW2SOREcZ6/wLUzEobqUGJuPw= github.com/go-playground/form/v4 v4.2.1/go.mod h1:q1a2BY+AQUUzhl6xA/6hBetay6dEIhMHjgvJiGo6K7U= +github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= +github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= +github.com/go-playground/validator v9.31.0+incompatible/go.mod h1:yrEkQXlcI+PugkyDjY2bRrL/UBU4f3rvrgkN3V8JEig= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-zookeeper/zk v1.0.4 h1:DPzxraQx7OrPyXq2phlGlNSIyWEsAox0RJmjTseMV6I= +github.com/go-zookeeper/zk v1.0.4/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gofrs/uuid v4.4.0+incompatible h1:3qXRTX8/NbyulANqlc0lchS1gqAVxRgsuW1YrTJupqA= +github.com/gofrs/uuid v4.4.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/goji/httpauth v0.0.0-20160601135302-2da839ab0f4d/go.mod h1:nnjvkQ9ptGaCkuDUx6wNykzzlUixGxvkme+H/lnzb+A= @@ -256,6 +295,9 @@ github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5m github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 h1:JeSE6pjso5THxAzdVpqr6/geYxZytqFMBCOtn/ujyeo= +github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674/go.mod h1:r4w70xmWCQKmi1ONH4KIaBptdivuRPyosB9RmPlGEwA= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 h1:5ZPtiqj0JL5oKWmcsq4VMaAW5ukBEgSGXEN89zeH1Jo= github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3/go.mod h1:ndYquD05frm2vACXE1nsccT4oJzjhw2arTS2cpUD1PI= @@ -341,6 +383,11 @@ github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfV github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/karlseguin/ccache/v2 v2.0.8 h1:lT38cE//uyf6KcFok0rlgXtGFBWxkI6h/qg4tbFyDnA= +github.com/karlseguin/ccache/v2 v2.0.8/go.mod h1:2BDThcfQMf/c0jnZowt16eW405XIqZPavt+HoYEtcxQ= +github.com/karlseguin/expect v1.0.2-0.20190806010014-778a5f0c6003 h1:vJ0Snvo+SLMY72r5J4sEfkuE7AFbixEP2qRbEcum/wA= +github.com/karlseguin/expect v1.0.2-0.20190806010014-778a5f0c6003/go.mod h1:zNBxMY8P21owkeogJELCLeHIt+voOSduHYTFUbwRAV8= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.15.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= @@ -358,6 +405,7 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4= github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= @@ -420,6 +468,8 @@ github.com/openzipkin/zipkin-go v0.4.3/go.mod h1:M9wCJZFWCo2RiY+o1eBCEMe0Dp2S5LD github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc= +github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ= github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= @@ -516,10 +566,26 @@ github.com/tevid/gohamcrest v1.1.1/go.mod h1:3UvtWlqm8j5JbwYZh80D/PVBt0mJ1eJiYgZ github.com/tinylib/msgp v1.3.0 h1:ULuf7GPooDaIlbyvgAxBV/FI7ynli6LZ1/nVUNu+0ww= github.com/tinylib/msgp v1.3.0/go.mod h1:ykjzy2wzgrlvpDCRc4LA8UXy6D8bzMSuAF3WD57Gok0= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= +github.com/tx7do/kratos-bootstrap/registry/consul v0.0.5 h1:EF+SEROn2wymWMRU1OF0tuVUbAuYAfC0Snu1hUQlxzc= +github.com/tx7do/kratos-bootstrap/registry/consul v0.0.5/go.mod h1:/i2ieZMxeY1CUtsjC7PZWn4PJlA9Tdebd5wHR5v4huc= +github.com/tx7do/kratos-bootstrap/registry/etcd v0.0.5 h1:G57YW8AYBnP/UP0glvAjZ5DY/K26dCaGvQOQQZCiNmk= +github.com/tx7do/kratos-bootstrap/registry/etcd v0.0.5/go.mod h1:56YNBxoMNjTVa8/XcNHW8cH+CAwJ8XunJK4c2lN890I= +github.com/tx7do/kratos-bootstrap/registry/eureka v0.0.5 h1:ekWlghA/uC7IGCZIb9Oc9NGR10n6sRf+pX02vFac1Ts= +github.com/tx7do/kratos-bootstrap/registry/eureka v0.0.5/go.mod h1:07e1ckVzUNJUWc21B5RLyyfdws/O7gfL2nekC0ZVA8Y= +github.com/tx7do/kratos-bootstrap/registry/kubernetes v0.0.5 h1://7sU06B6AYyPegywkzTB6QZNqUyMVmDtxzprQ5/53Y= +github.com/tx7do/kratos-bootstrap/registry/kubernetes v0.0.5/go.mod h1:cXvcZ/htIl9RV9P7G23kzDzdd0r+Lzv4u9vJM/0EnSc= +github.com/tx7do/kratos-bootstrap/registry/nacos v0.0.5 h1:HvkO+NUWQRFZ5XDlMCoS0vIsQrWGZ3eYsnp17zJOLWs= +github.com/tx7do/kratos-bootstrap/registry/nacos v0.0.5/go.mod h1:lUUkK8u45YCcQHyYS6AraIklPlTntVzaQ7UAJTI7WKQ= +github.com/tx7do/kratos-bootstrap/registry/servicecomb v0.0.5 h1:FGoAtQB7G9UbUuwzWZ/lQZbTFwWoWMT3cw3nWgDD4pM= +github.com/tx7do/kratos-bootstrap/registry/servicecomb v0.0.5/go.mod h1:4WEXJOjAPMBWfnICknx8ia8XF23E7qjDVGaiL70QbZI= +github.com/tx7do/kratos-bootstrap/registry/zookeeper v0.0.5 h1:lI1ULLYQIzloQAD29S+e8CgNmwXBRo/P+SVoearlqQ8= +github.com/tx7do/kratos-bootstrap/registry/zookeeper v0.0.5/go.mod h1:n0qBmSAoD0nf/nRCYoh9BwQzfYTb4j1c57GlJulxfPQ= github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o= github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg= github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= +github.com/wsxiaoys/terminal v0.0.0-20160513160801-0940f3fc43a0 h1:3UeQBvD0TFrlVjOeLOBz+CPAI8dnbqNSVwUwRrkp7vQ= +github.com/wsxiaoys/terminal v0.0.0-20160513160801-0940f3fc43a0/go.mod h1:IXCdmsXIht47RaVFLEdVnh1t+pgYtTAhQGj73kz+2DM= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -777,6 +843,7 @@ golang.org/x/time v0.11.0 h1:/bpjEDfN9tkoN/ryeYHnv5hcMlc8ncjMcM4XBk5NWV0= golang.org/x/time v0.11.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= diff --git a/bootstrap/registry.go b/bootstrap/registry.go new file mode 100644 index 0000000..72ba3f4 --- /dev/null +++ b/bootstrap/registry.go @@ -0,0 +1,46 @@ +package bootstrap + +import ( + kRegistry "github.com/go-kratos/kratos/v2/registry" + "github.com/tx7do/kratos-bootstrap/registry" + + conf "github.com/tx7do/kratos-bootstrap/api/gen/go/conf/v1" + + _ "github.com/tx7do/kratos-bootstrap/registry/consul" + _ "github.com/tx7do/kratos-bootstrap/registry/etcd" + _ "github.com/tx7do/kratos-bootstrap/registry/eureka" + _ "github.com/tx7do/kratos-bootstrap/registry/kubernetes" + _ "github.com/tx7do/kratos-bootstrap/registry/nacos" + _ "github.com/tx7do/kratos-bootstrap/registry/servicecomb" + _ "github.com/tx7do/kratos-bootstrap/registry/zookeeper" +) + +// NewRegistry 创建一个注册客户端 +func NewRegistry(cfg *conf.Registry) kRegistry.Registrar { + if cfg == nil { + return nil + } + + creator := registry.GetRegistrarCreator(cfg.GetType()) + if creator == nil { + panic("registrar creator not found:" + cfg.GetType()) + return nil + } + + return creator(cfg) +} + +// NewDiscovery 创建一个发现客户端 +func NewDiscovery(cfg *conf.Registry) kRegistry.Discovery { + if cfg == nil { + return nil + } + + creator := registry.GetDiscoveryCreator(cfg.GetType()) + if creator == nil { + panic("discovery creator not found:" + cfg.GetType()) + return nil + } + + return creator(cfg) +} diff --git a/cache/redis/go.mod b/cache/redis/go.mod index b679677..24c0195 100644 --- a/cache/redis/go.mod +++ b/cache/redis/go.mod @@ -10,7 +10,7 @@ require ( github.com/go-kratos/kratos/v2 v2.8.4 github.com/redis/go-redis/extra/redisotel/v9 v9.9.0 github.com/redis/go-redis/v9 v9.9.0 - github.com/tx7do/kratos-bootstrap/api v0.0.20 + github.com/tx7do/kratos-bootstrap/api v0.0.21 ) require ( diff --git a/config/go.mod b/config/go.mod index 1a2a0f4..170d5d8 100644 --- a/config/go.mod +++ b/config/go.mod @@ -19,7 +19,7 @@ require ( github.com/go-kratos/kratos/v2 v2.8.4 github.com/hashicorp/consul/api v1.32.1 github.com/nacos-group/nacos-sdk-go v1.1.5 - github.com/tx7do/kratos-bootstrap/api v0.0.20 + github.com/tx7do/kratos-bootstrap/api v0.0.21 github.com/tx7do/kratos-bootstrap/utils v0.1.3 go.etcd.io/etcd/client/v3 v3.6.0 google.golang.org/grpc v1.72.2 diff --git a/database/cassandra/go.mod b/database/cassandra/go.mod index c4bd3ae..561ca2a 100644 --- a/database/cassandra/go.mod +++ b/database/cassandra/go.mod @@ -9,7 +9,7 @@ replace github.com/tx7do/kratos-bootstrap/api => ../../api require ( github.com/go-kratos/kratos/v2 v2.8.4 github.com/gocql/gocql v1.7.0 - github.com/tx7do/kratos-bootstrap/api v0.0.20 + github.com/tx7do/kratos-bootstrap/api v0.0.21 github.com/tx7do/kratos-bootstrap/utils v0.1.3 ) diff --git a/database/clickhouse/go.mod b/database/clickhouse/go.mod index 94f405f..b5d4aed 100644 --- a/database/clickhouse/go.mod +++ b/database/clickhouse/go.mod @@ -9,7 +9,7 @@ replace github.com/tx7do/kratos-bootstrap/api => ../../api require ( github.com/ClickHouse/clickhouse-go/v2 v2.35.0 github.com/go-kratos/kratos/v2 v2.8.4 - github.com/tx7do/kratos-bootstrap/api v0.0.20 + github.com/tx7do/kratos-bootstrap/api v0.0.21 github.com/tx7do/kratos-bootstrap/utils v0.1.3 ) diff --git a/database/ent/go.mod b/database/ent/go.mod index 3b59e43..bf4e888 100644 --- a/database/ent/go.mod +++ b/database/ent/go.mod @@ -13,7 +13,7 @@ require ( github.com/go-sql-driver/mysql v1.9.2 github.com/jackc/pgx/v4 v4.18.3 github.com/lib/pq v1.10.9 - github.com/tx7do/kratos-bootstrap/api v0.0.20 + github.com/tx7do/kratos-bootstrap/api v0.0.21 go.opentelemetry.io/otel v1.36.0 ) diff --git a/database/gorm/go.mod b/database/gorm/go.mod index d131cfd..4f74fa5 100644 --- a/database/gorm/go.mod +++ b/database/gorm/go.mod @@ -8,7 +8,7 @@ replace github.com/tx7do/kratos-bootstrap/api => ../../api require ( github.com/go-kratos/kratos/v2 v2.8.4 - github.com/tx7do/kratos-bootstrap/api v0.0.20 + github.com/tx7do/kratos-bootstrap/api v0.0.21 gorm.io/driver/bigquery v1.2.0 gorm.io/driver/clickhouse v0.7.0 gorm.io/driver/mysql v1.5.7 diff --git a/database/influxdb/go.mod b/database/influxdb/go.mod index cd5ac5e..12df402 100644 --- a/database/influxdb/go.mod +++ b/database/influxdb/go.mod @@ -9,7 +9,7 @@ replace github.com/tx7do/kratos-bootstrap/api => ../../api require ( github.com/InfluxCommunity/influxdb3-go v0.14.0 github.com/go-kratos/kratos/v2 v2.8.4 - github.com/tx7do/kratos-bootstrap/api v0.0.20 + github.com/tx7do/kratos-bootstrap/api v0.0.21 ) require ( diff --git a/database/mongodb/go.mod b/database/mongodb/go.mod index 07c5e55..b089a87 100644 --- a/database/mongodb/go.mod +++ b/database/mongodb/go.mod @@ -8,7 +8,7 @@ replace github.com/tx7do/kratos-bootstrap/api => ../../api require ( github.com/go-kratos/kratos/v2 v2.8.4 - github.com/tx7do/kratos-bootstrap/api v0.0.20 + github.com/tx7do/kratos-bootstrap/api v0.0.21 go.mongodb.org/mongo-driver v1.17.3 ) diff --git a/logger/go.mod b/logger/go.mod index 7054d78..a040c94 100644 --- a/logger/go.mod +++ b/logger/go.mod @@ -20,7 +20,7 @@ require ( github.com/go-kratos/kratos/contrib/log/zap/v2 v2.0.0-20250527152916-d6f5f00cf562 github.com/go-kratos/kratos/v2 v2.8.4 github.com/sirupsen/logrus v1.9.3 - github.com/tx7do/kratos-bootstrap/api v0.0.20 + github.com/tx7do/kratos-bootstrap/api v0.0.21 github.com/tx7do/kratos-bootstrap/utils v0.1.3 go.uber.org/zap v1.27.0 gopkg.in/natefinch/lumberjack.v2 v2.2.1 diff --git a/registry/consul/client_creator.go b/registry/consul/client_creator.go index c9f4fb1..b414198 100644 --- a/registry/consul/client_creator.go +++ b/registry/consul/client_creator.go @@ -2,14 +2,21 @@ package consul import ( "github.com/go-kratos/kratos/v2/log" + "github.com/go-kratos/kratos/v2/registry" + consulClient "github.com/hashicorp/consul/api" conf "github.com/tx7do/kratos-bootstrap/api/gen/go/conf/v1" + r "github.com/tx7do/kratos-bootstrap/registry" ) func init() { - // 注册 Consul 注册发现客户端 - //registry.RegisterDiscoveryCreator(registry.Consul, NewRegistry) + r.RegisterRegistrarCreator(string(r.Consul), func(c *conf.Registry) registry.Registrar { + return NewRegistry(c) + }) + r.RegisterDiscoveryCreator(string(r.Consul), func(c *conf.Registry) registry.Discovery { + return NewRegistry(c) + }) } // NewRegistry 创建一个注册发现客户端 - Consul diff --git a/registry/consul/go.mod b/registry/consul/go.mod index 0a096fc..6589135 100644 --- a/registry/consul/go.mod +++ b/registry/consul/go.mod @@ -8,14 +8,15 @@ replace ( github.com/armon/go-metrics => github.com/hashicorp/go-metrics v0.4.1 github.com/tx7do/kratos-bootstrap/api => ../../api - github.com/tx7do/kratos-bootstrap/registry => ../registry + github.com/tx7do/kratos-bootstrap/registry => ../ ) require ( github.com/go-kratos/kratos/v2 v2.8.4 github.com/hashicorp/consul/api v1.32.1 github.com/stretchr/testify v1.10.0 - github.com/tx7do/kratos-bootstrap/api v0.0.20 + github.com/tx7do/kratos-bootstrap/api v0.0.21 + github.com/tx7do/kratos-bootstrap/registry v0.1.0 ) require ( diff --git a/registry/etcd/client_creator.go b/registry/etcd/client_creator.go index 9512259..5b019e7 100644 --- a/registry/etcd/client_creator.go +++ b/registry/etcd/client_creator.go @@ -2,12 +2,23 @@ package etcd import ( "github.com/go-kratos/kratos/v2/log" + "github.com/go-kratos/kratos/v2/registry" etcdClient "go.etcd.io/etcd/client/v3" conf "github.com/tx7do/kratos-bootstrap/api/gen/go/conf/v1" + r "github.com/tx7do/kratos-bootstrap/registry" ) +func init() { + r.RegisterRegistrarCreator(string(r.Etcd), func(c *conf.Registry) registry.Registrar { + return NewRegistry(c) + }) + r.RegisterDiscoveryCreator(string(r.Etcd), func(c *conf.Registry) registry.Discovery { + return NewRegistry(c) + }) +} + // NewRegistry 创建一个注册发现客户端 - Etcd func NewRegistry(c *conf.Registry) *Registry { if c == nil || c.Etcd == nil { diff --git a/registry/etcd/go.mod b/registry/etcd/go.mod index 5205a7e..0459afd 100644 --- a/registry/etcd/go.mod +++ b/registry/etcd/go.mod @@ -8,13 +8,14 @@ replace ( github.com/armon/go-metrics => github.com/hashicorp/go-metrics v0.4.1 github.com/tx7do/kratos-bootstrap/api => ../../api - github.com/tx7do/kratos-bootstrap/registry => ../registry + github.com/tx7do/kratos-bootstrap/registry => ../ ) require ( github.com/go-kratos/kratos/v2 v2.8.4 github.com/stretchr/testify v1.10.0 - github.com/tx7do/kratos-bootstrap/api v0.0.20 + github.com/tx7do/kratos-bootstrap/api v0.0.21 + github.com/tx7do/kratos-bootstrap/registry v0.1.0 go.etcd.io/etcd/client/v3 v3.6.0 google.golang.org/grpc v1.72.2 ) diff --git a/registry/eureka/client_creator.go b/registry/eureka/client_creator.go index 75d7384..0873869 100644 --- a/registry/eureka/client_creator.go +++ b/registry/eureka/client_creator.go @@ -2,10 +2,21 @@ package eureka import ( "github.com/go-kratos/kratos/v2/log" + "github.com/go-kratos/kratos/v2/registry" conf "github.com/tx7do/kratos-bootstrap/api/gen/go/conf/v1" + r "github.com/tx7do/kratos-bootstrap/registry" ) +func init() { + r.RegisterRegistrarCreator(string(r.Eureka), func(c *conf.Registry) registry.Registrar { + return NewRegistry(c) + }) + r.RegisterDiscoveryCreator(string(r.Eureka), func(c *conf.Registry) registry.Discovery { + return NewRegistry(c) + }) +} + // NewRegistry 创建一个注册发现客户端 - Eureka func NewRegistry(c *conf.Registry) *Registry { if c == nil || c.Eureka == nil { diff --git a/registry/eureka/go.mod b/registry/eureka/go.mod index a1f0d79..2cf3b48 100644 --- a/registry/eureka/go.mod +++ b/registry/eureka/go.mod @@ -8,13 +8,14 @@ replace ( github.com/armon/go-metrics => github.com/hashicorp/go-metrics v0.4.1 github.com/tx7do/kratos-bootstrap/api => ../../api - github.com/tx7do/kratos-bootstrap/registry => ../registry + github.com/tx7do/kratos-bootstrap/registry => ../ ) require ( github.com/go-kratos/kratos/v2 v2.8.4 github.com/stretchr/testify v1.10.0 - github.com/tx7do/kratos-bootstrap/api v0.0.20 + github.com/tx7do/kratos-bootstrap/api v0.0.21 + github.com/tx7do/kratos-bootstrap/registry v0.1.0 ) require ( diff --git a/registry/go.mod b/registry/go.mod index 47bf18e..37745ba 100644 --- a/registry/go.mod +++ b/registry/go.mod @@ -6,7 +6,7 @@ toolchain go1.24.3 require ( github.com/go-kratos/kratos/v2 v2.8.4 - github.com/tx7do/kratos-bootstrap/api v0.0.20 + github.com/tx7do/kratos-bootstrap/api v0.0.21 ) require google.golang.org/protobuf v1.36.6 // indirect diff --git a/registry/go.sum b/registry/go.sum index 8dad063..34ead95 100644 --- a/registry/go.sum +++ b/registry/go.sum @@ -2,7 +2,7 @@ github.com/go-kratos/kratos/v2 v2.8.4 h1:eIJLE9Qq9WSoKx+Buy2uPyrahtF/lPh+Xf4MTpx github.com/go-kratos/kratos/v2 v2.8.4/go.mod h1:mq62W2101a5uYyRxe+7IdWubu7gZCGYqSNKwGFiiRcw= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/tx7do/kratos-bootstrap/api v0.0.20 h1:z86Mku4v6rZrX2C63cY/0XUMkkEmgdqq19PxJcIt2AY= -github.com/tx7do/kratos-bootstrap/api v0.0.20/go.mod h1:JCchEsHgURjExO++DiupEbEcCBjlrQYONMMKDdkuC9U= +github.com/tx7do/kratos-bootstrap/api v0.0.21 h1:4WBT7Hlv6DJNQ9Fw9oyrkBUX7dm2kr/foamgozJNhRc= +github.com/tx7do/kratos-bootstrap/api v0.0.21/go.mod h1:JCchEsHgURjExO++DiupEbEcCBjlrQYONMMKDdkuC9U= google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= diff --git a/registry/kubernetes/client_creator.go b/registry/kubernetes/client_creator.go index f565ff5..613e566 100644 --- a/registry/kubernetes/client_creator.go +++ b/registry/kubernetes/client_creator.go @@ -4,6 +4,7 @@ import ( "path/filepath" "github.com/go-kratos/kratos/v2/log" + "github.com/go-kratos/kratos/v2/registry" k8s "k8s.io/client-go/kubernetes" k8sRest "k8s.io/client-go/rest" @@ -11,8 +12,18 @@ import ( k8sUtil "k8s.io/client-go/util/homedir" conf "github.com/tx7do/kratos-bootstrap/api/gen/go/conf/v1" + r "github.com/tx7do/kratos-bootstrap/registry" ) +func init() { + r.RegisterRegistrarCreator(string(r.Kubernetes), func(c *conf.Registry) registry.Registrar { + return NewRegistry(c) + }) + r.RegisterDiscoveryCreator(string(r.Kubernetes), func(c *conf.Registry) registry.Discovery { + return NewRegistry(c) + }) +} + // NewRegistry 创建一个注册发现客户端 - Kubernetes func NewRegistry(cfg *conf.Registry) *Registry { if cfg == nil || cfg.Kubernetes == nil { diff --git a/registry/kubernetes/go.mod b/registry/kubernetes/go.mod index ca2b44a..a744327 100644 --- a/registry/kubernetes/go.mod +++ b/registry/kubernetes/go.mod @@ -8,14 +8,15 @@ replace ( github.com/armon/go-metrics => github.com/hashicorp/go-metrics v0.4.1 github.com/tx7do/kratos-bootstrap/api => ../../api - github.com/tx7do/kratos-bootstrap/registry => ../registry + github.com/tx7do/kratos-bootstrap/registry => ../ ) require ( github.com/go-kratos/kratos/v2 v2.8.4 github.com/json-iterator/go v1.1.12 github.com/stretchr/testify v1.10.0 - github.com/tx7do/kratos-bootstrap/api v0.0.20 + github.com/tx7do/kratos-bootstrap/api v0.0.21 + github.com/tx7do/kratos-bootstrap/registry v0.1.0 k8s.io/api v0.33.1 k8s.io/apimachinery v0.33.1 k8s.io/client-go v0.33.1 diff --git a/registry/nacos/client_creator.go b/registry/nacos/client_creator.go index b5ff625..03c0ed8 100644 --- a/registry/nacos/client_creator.go +++ b/registry/nacos/client_creator.go @@ -2,14 +2,25 @@ package nacos import ( "github.com/go-kratos/kratos/v2/log" + "github.com/go-kratos/kratos/v2/registry" nacosClients "github.com/nacos-group/nacos-sdk-go/v2/clients" nacosConstant "github.com/nacos-group/nacos-sdk-go/v2/common/constant" nacosVo "github.com/nacos-group/nacos-sdk-go/v2/vo" conf "github.com/tx7do/kratos-bootstrap/api/gen/go/conf/v1" + r "github.com/tx7do/kratos-bootstrap/registry" ) +func init() { + r.RegisterRegistrarCreator(string(r.Nacos), func(c *conf.Registry) registry.Registrar { + return NewRegistry(c) + }) + r.RegisterDiscoveryCreator(string(r.Nacos), func(c *conf.Registry) registry.Discovery { + return NewRegistry(c) + }) +} + // NewRegistry 创建一个注册发现客户端 - Nacos func NewRegistry(c *conf.Registry) *Registry { if c == nil || c.Nacos == nil { diff --git a/registry/nacos/go.mod b/registry/nacos/go.mod index c019832..c901baa 100644 --- a/registry/nacos/go.mod +++ b/registry/nacos/go.mod @@ -8,14 +8,15 @@ replace ( github.com/armon/go-metrics => github.com/hashicorp/go-metrics v0.4.1 github.com/tx7do/kratos-bootstrap/api => ../../api - github.com/tx7do/kratos-bootstrap/registry => ../registry + github.com/tx7do/kratos-bootstrap/registry => ../ ) require ( github.com/go-kratos/kratos/v2 v2.8.4 github.com/nacos-group/nacos-sdk-go/v2 v2.3.2 github.com/stretchr/testify v1.10.0 - github.com/tx7do/kratos-bootstrap/api v0.0.20 + github.com/tx7do/kratos-bootstrap/api v0.0.21 + github.com/tx7do/kratos-bootstrap/registry v0.1.0 ) require ( diff --git a/registry/polaris/client_creator.go b/registry/polaris/client_creator.go index 2849f66..83c48b2 100644 --- a/registry/polaris/client_creator.go +++ b/registry/polaris/client_creator.go @@ -2,13 +2,24 @@ package polaris import ( "github.com/go-kratos/kratos/v2/log" + "github.com/go-kratos/kratos/v2/registry" polarisApi "github.com/polarismesh/polaris-go/api" polarisModel "github.com/polarismesh/polaris-go/pkg/model" conf "github.com/tx7do/kratos-bootstrap/api/gen/go/conf/v1" + r "github.com/tx7do/kratos-bootstrap/registry" ) +func init() { + r.RegisterRegistrarCreator(string(r.Polaris), func(c *conf.Registry) registry.Registrar { + return NewRegistry(c) + }) + r.RegisterDiscoveryCreator(string(r.Polaris), func(c *conf.Registry) registry.Discovery { + return NewRegistry(c) + }) +} + // NewRegistry 创建一个注册发现客户端 - Polaris func NewRegistry(c *conf.Registry) *Registry { if c == nil || c.Polaris == nil { diff --git a/registry/polaris/go.mod b/registry/polaris/go.mod index 8fd7e42..b4a771f 100644 --- a/registry/polaris/go.mod +++ b/registry/polaris/go.mod @@ -8,14 +8,15 @@ replace ( github.com/armon/go-metrics => github.com/hashicorp/go-metrics v0.4.1 github.com/tx7do/kratos-bootstrap/api => ../../api - github.com/tx7do/kratos-bootstrap/registry => ../registry + github.com/tx7do/kratos-bootstrap/registry => ../ ) require ( github.com/go-kratos/kratos/v2 v2.8.4 github.com/polarismesh/polaris-go v1.6.1 github.com/stretchr/testify v1.10.0 - github.com/tx7do/kratos-bootstrap/api v0.0.20 + github.com/tx7do/kratos-bootstrap/api v0.0.21 + github.com/tx7do/kratos-bootstrap/registry v0.1.0 ) require ( diff --git a/registry/servicecomb/client_creator.go b/registry/servicecomb/client_creator.go index 18cdf03..189301b 100644 --- a/registry/servicecomb/client_creator.go +++ b/registry/servicecomb/client_creator.go @@ -2,12 +2,23 @@ package servicecomb import ( "github.com/go-kratos/kratos/v2/log" + "github.com/go-kratos/kratos/v2/registry" servicecombClient "github.com/go-chassis/sc-client" conf "github.com/tx7do/kratos-bootstrap/api/gen/go/conf/v1" + r "github.com/tx7do/kratos-bootstrap/registry" ) +func init() { + r.RegisterRegistrarCreator(string(r.Servicecomb), func(c *conf.Registry) registry.Registrar { + return NewRegistry(c) + }) + r.RegisterDiscoveryCreator(string(r.Servicecomb), func(c *conf.Registry) registry.Discovery { + return NewRegistry(c) + }) +} + // NewRegistry 创建一个注册发现客户端 - Servicecomb func NewRegistry(c *conf.Registry) *Registry { if c == nil || c.Servicecomb == nil { diff --git a/registry/servicecomb/go.mod b/registry/servicecomb/go.mod index 157f0fa..636fc68 100644 --- a/registry/servicecomb/go.mod +++ b/registry/servicecomb/go.mod @@ -8,7 +8,7 @@ replace ( github.com/armon/go-metrics => github.com/hashicorp/go-metrics v0.4.1 github.com/tx7do/kratos-bootstrap/api => ../../api - github.com/tx7do/kratos-bootstrap/registry => ../registry + github.com/tx7do/kratos-bootstrap/registry => ../ ) require ( @@ -17,7 +17,8 @@ require ( github.com/go-kratos/kratos/v2 v2.8.4 github.com/gofrs/uuid v4.4.0+incompatible github.com/stretchr/testify v1.10.0 - github.com/tx7do/kratos-bootstrap/api v0.0.20 + github.com/tx7do/kratos-bootstrap/api v0.0.21 + github.com/tx7do/kratos-bootstrap/registry v0.1.0 ) require ( diff --git a/registry/zookeeper/client_creator.go b/registry/zookeeper/client_creator.go index 3c4392a..64d7899 100644 --- a/registry/zookeeper/client_creator.go +++ b/registry/zookeeper/client_creator.go @@ -1,16 +1,26 @@ package zookeeper import ( - zookeeperKratos "github.com/go-kratos/kratos/contrib/registry/zookeeper/v2" "github.com/go-kratos/kratos/v2/log" + "github.com/go-kratos/kratos/v2/registry" "github.com/go-zookeeper/zk" conf "github.com/tx7do/kratos-bootstrap/api/gen/go/conf/v1" + r "github.com/tx7do/kratos-bootstrap/registry" ) +func init() { + r.RegisterRegistrarCreator(string(r.ZooKeeper), func(c *conf.Registry) registry.Registrar { + return NewRegistry(c) + }) + r.RegisterDiscoveryCreator(string(r.ZooKeeper), func(c *conf.Registry) registry.Discovery { + return NewRegistry(c) + }) +} + // NewRegistry 创建一个注册发现客户端 - ZooKeeper -func NewRegistry(c *conf.Registry) *zookeeperKratos.Registry { +func NewRegistry(c *conf.Registry) *Registry { if c == nil || c.Zookeeper == nil { return nil } @@ -20,7 +30,7 @@ func NewRegistry(c *conf.Registry) *zookeeperKratos.Registry { log.Fatal(err) } - reg := zookeeperKratos.New(conn) + reg := New(conn) if err != nil { log.Fatal(err) } diff --git a/registry/zookeeper/go.mod b/registry/zookeeper/go.mod index 592f7b9..f8107f1 100644 --- a/registry/zookeeper/go.mod +++ b/registry/zookeeper/go.mod @@ -8,15 +8,15 @@ replace ( github.com/armon/go-metrics => github.com/hashicorp/go-metrics v0.4.1 github.com/tx7do/kratos-bootstrap/api => ../../api - github.com/tx7do/kratos-bootstrap/registry => ../registry + github.com/tx7do/kratos-bootstrap/registry => ../ ) require ( - github.com/go-kratos/kratos/contrib/registry/zookeeper/v2 v2.0.0-20250527152916-d6f5f00cf562 github.com/go-kratos/kratos/v2 v2.8.4 github.com/go-zookeeper/zk v1.0.4 github.com/stretchr/testify v1.10.0 - github.com/tx7do/kratos-bootstrap/api v0.0.20 + github.com/tx7do/kratos-bootstrap/api v0.0.21 + github.com/tx7do/kratos-bootstrap/registry v0.1.0 golang.org/x/sync v0.14.0 ) diff --git a/registry/zookeeper/go.sum b/registry/zookeeper/go.sum index 6ba227b..5446052 100644 --- a/registry/zookeeper/go.sum +++ b/registry/zookeeper/go.sum @@ -1,8 +1,6 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/go-kratos/kratos/contrib/registry/zookeeper/v2 v2.0.0-20250527152916-d6f5f00cf562 h1:SBDGsiqkqT6BOidznJKweIcru7eVigX8fkNWp1mZjWk= -github.com/go-kratos/kratos/contrib/registry/zookeeper/v2 v2.0.0-20250527152916-d6f5f00cf562/go.mod h1:/XjgaYgSaaoIe4YcUishDuqLpQvOSujQTk8D0cJx/Zo= github.com/go-kratos/kratos/v2 v2.8.4 h1:eIJLE9Qq9WSoKx+Buy2uPyrahtF/lPh+Xf4MTpxhmjs= github.com/go-kratos/kratos/v2 v2.8.4/go.mod h1:mq62W2101a5uYyRxe+7IdWubu7gZCGYqSNKwGFiiRcw= github.com/go-zookeeper/zk v1.0.4 h1:DPzxraQx7OrPyXq2phlGlNSIyWEsAox0RJmjTseMV6I= diff --git a/rpc/go.mod b/rpc/go.mod index 772f0d2..8f8d117 100644 --- a/rpc/go.mod +++ b/rpc/go.mod @@ -15,7 +15,7 @@ require ( github.com/go-kratos/kratos/contrib/middleware/validate/v2 v2.0.0-20250527152916-d6f5f00cf562 github.com/go-kratos/kratos/v2 v2.8.4 github.com/gorilla/handlers v1.5.2 - github.com/tx7do/kratos-bootstrap/api v0.0.20 + github.com/tx7do/kratos-bootstrap/api v0.0.21 github.com/tx7do/kratos-bootstrap/utils v0.1.3 google.golang.org/grpc v1.72.2 ) diff --git a/tag.bat b/tag.bat index 03d4634..58e99a0 100644 --- a/tag.bat +++ b/tag.bat @@ -1,10 +1,9 @@ -git tag api/v0.0.20 --force +git tag api/v0.0.21 --force git tag utils/v0.1.4 --force git tag cache/redis/v0.0.10 --force git tag oss/minio/v0.0.10 --force -git tag config/v0.0.10 --force git tag logger/v0.0.10 --force git tag rpc/v0.0.14 --force git tag tracer/v0.0.10 --force @@ -17,14 +16,20 @@ git tag database/cassandra/v0.0.10 --force git tag database/clickhouse/v0.0.10 --force git tag registry/v0.1.0 --force -git tag registry/consul/v0.0.1 --force -git tag registry/etcd/v0.0.1 --force -git tag registry/eureka/v0.0.1 --force -git tag registry/kubernetes/v0.0.1 --force -git tag registry/nacos/v0.0.1 --force -git tag registry/polaris/v0.0.1 --force -git tag registry/servicecomb/v0.0.1 --force -git tag registry/zookeeper/v0.0.1 --force +git tag registry/consul/v0.1.0 --force +git tag registry/etcd/v0.1.0 --force +git tag registry/eureka/v0.1.0 --force +git tag registry/kubernetes/v0.1.0 --force +git tag registry/nacos/v0.1.0 --force +git tag registry/polaris/v0.1.0 --force +git tag registry/servicecomb/v0.1.0 --force +git tag registry/zookeeper/v0.1.0 --force + +git tag config/v0.0.10 --force +git tag config/apollo/v0.1.0 --force +git tag config/apollo/v0.1.0 --force +git tag config/apollo/v0.1.0 --force +git tag config/apollo/v0.1.0 --force git tag bootstrap/v0.0.16 --force diff --git a/tracer/go.mod b/tracer/go.mod index bca8d62..6da6e95 100644 --- a/tracer/go.mod +++ b/tracer/go.mod @@ -10,7 +10,7 @@ replace ( ) require ( - github.com/tx7do/kratos-bootstrap/api v0.0.20 + github.com/tx7do/kratos-bootstrap/api v0.0.21 github.com/tx7do/kratos-bootstrap/utils v0.1.3 go.opentelemetry.io/otel v1.36.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.36.0 diff --git a/utils/go.mod b/utils/go.mod index 84cac1d..757e61e 100644 --- a/utils/go.mod +++ b/utils/go.mod @@ -4,6 +4,6 @@ go 1.23 toolchain go1.23.3 -require github.com/tx7do/kratos-bootstrap/api v0.0.20 +require github.com/tx7do/kratos-bootstrap/api v0.0.21 require google.golang.org/protobuf v1.36.6 // indirect diff --git a/utils/go.sum b/utils/go.sum index 08f1cf4..4ed2193 100644 --- a/utils/go.sum +++ b/utils/go.sum @@ -1,6 +1,6 @@ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/tx7do/kratos-bootstrap/api v0.0.20 h1:z86Mku4v6rZrX2C63cY/0XUMkkEmgdqq19PxJcIt2AY= -github.com/tx7do/kratos-bootstrap/api v0.0.20/go.mod h1:JCchEsHgURjExO++DiupEbEcCBjlrQYONMMKDdkuC9U= +github.com/tx7do/kratos-bootstrap/api v0.0.21 h1:4WBT7Hlv6DJNQ9Fw9oyrkBUX7dm2kr/foamgozJNhRc= +github.com/tx7do/kratos-bootstrap/api v0.0.21/go.mod h1:JCchEsHgURjExO++DiupEbEcCBjlrQYONMMKDdkuC9U= google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=