diff --git a/Dockerfile-api b/Dockerfile-api new file mode 100644 index 00000000..0edc77e1 --- /dev/null +++ b/Dockerfile-api @@ -0,0 +1,24 @@ +FROM golang:1.19.1-alpine3.16 as builder + +WORKDIR /home +COPY . . + +RUN go env -w GO111MODULE=on \ + && go env -w GOPROXY=https://goproxy.cn,direct \ + && go env -w CGO_ENABLED=0 \ + && go env \ + && go mod tidy \ + && cd api \ + && go build -o /home/api/core_api core.go + +FROM alpine:latest + +LABEL MAINTAINER="RyanSU@yuansu.china.work@gmail.com" + +WORKDIR /home + +COPY --from=builder /home/api/core_api ./ +COPY --from=builder /home/api/etc/core.yaml ./ + +EXPOSE 9100 +ENTRYPOINT ./core_api -f core.yaml \ No newline at end of file diff --git a/Dockerfile-rpc b/Dockerfile-rpc new file mode 100644 index 00000000..28e6eb8f --- /dev/null +++ b/Dockerfile-rpc @@ -0,0 +1,24 @@ +FROM golang:1.19.1-alpine3.16 as builder + +WORKDIR /home +COPY . . + +RUN go env -w GO111MODULE=on \ + && go env -w GOPROXY=https://goproxy.cn,direct \ + && go env -w CGO_ENABLED=0 \ + && go env \ + && go mod tidy \ + && cd rpc \ + && go build -o /home/rpc/core_rpc core.go + +FROM alpine:latest + +LABEL MAINTAINER="RyanSU@yuansu.china.work@gmail.com" + +WORKDIR /home + +COPY --from=builder /home/rpc/core_rpc ./ +COPY --from=builder /home/rpc/etc/core.yaml ./ + +EXPOSE 9101 +ENTRYPOINT ./core_rpc -f core.yaml \ No newline at end of file diff --git a/README.En.md b/README.En.md index b0911be9..d8e6ec1b 100644 --- a/README.En.md +++ b/README.En.md @@ -17,20 +17,22 @@ It can help you to develop a microservice back-end management core in a short ti - **Fully support go-swagger**: Write comment in api file and generate swagger doc easily - **Error handling**: Handle error messages via one module - **International**:support different languages show in the front-end via put locale path in the message -- **Service Discover** builtin service discovery, load balancing +- **Service Discover** cunsul, load balancing - **Authority** Manage authority via casbin - **Other** builtin concurrency control, adaptive circuit breaker, adaptive load shedding, auto-trigger, auto recover ## Current Progress -| Module | Status | -|--------------------|----------| -| Login and Register | finished | -| Menu Management | finished | -| Role Management | finished | -| Role Authority | finished | -| User Management | finished | -| Operation log | finished | +| Module | Status | +|----------------------|----------| +| Login and Register | finished | +| Menu Management | finished | +| Role Management | finished | +| Role Authority | finished | +| User Management | finished | +| Operation log | finished | +| Service discovery | finished | +| configuration center | finished | ## Preview @@ -61,6 +63,7 @@ docsify serve . - [GORM](https://gorm.io/) - Familiar with GORM apis - [Casbin](https://casbin.org/) - Familiar with Casbin apis - [Go-swagger](https://goswagger.io/) - Go-swagger document generation +- [Consul](https://www.consul.io/docs) - Consul ## Install and use diff --git a/README.md b/README.md index 74d08d77..24abac08 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,9 @@ Simple Admin 是一个开箱即用的分布式微服务后端管理系统,基 | 角色权限 | 已完成 | | 用户管理 | 已完成 | | 操作日志 | 已完成 | +| 服务注册发现 | 已完成 | +| 配置中心 | 已完成 | + ## 预览 @@ -61,6 +64,7 @@ docsify serve . - [GORM](https://gorm.io/) - GORM 数据库ORM组件 - [Casbin](https://casbin.org/) - 权限管理 - [Go-swagger](https://goswagger.io/) - Go-swagger 文档生成调试 +- [Consul](https://www.consul.io/docs) - Consul ## 安装使用 diff --git a/api/core.go b/api/core.go index a4e14101..fce72308 100644 --- a/api/core.go +++ b/api/core.go @@ -26,10 +26,13 @@ package main import ( "flag" "fmt" + "github.com/suyuan32/simple-admin-tools/plugins/registry/consul" + "github.com/zeromicro/go-zero/core/logx" "github.com/suyuan32/simple-admin-core/api/internal/config" "github.com/suyuan32/simple-admin-core/api/internal/handler" "github.com/suyuan32/simple-admin-core/api/internal/svc" + _ "github.com/suyuan32/simple-admin-tools/plugins/registry/consul" "github.com/zeromicro/go-zero/core/conf" "github.com/zeromicro/go-zero/rest" @@ -40,8 +43,13 @@ var configFile = flag.String("f", "etc/core.yaml", "the config file") func main() { flag.Parse() + var consulConfig config.ConsulConfig + conf.MustLoad(*configFile, &consulConfig) + var c config.Config - conf.MustLoad(*configFile, &c) + client, err := consulConfig.Consul.NewClient() + logx.Must(err) + consul.LoadYAMLConf(client, "coreApiConf", &c) server := rest.MustNewServer(c.RestConf, rest.WithCors("*")) defer server.Stop() @@ -49,6 +57,9 @@ func main() { ctx := svc.NewServiceContext(c) handler.RegisterHandlers(server, ctx) + err = consul.RegisterService(consulConfig.Consul) + logx.Must(err) + fmt.Printf("Starting server at %s:%d...\n", c.Host, c.Port) server.Start() } diff --git a/api/etc/core.yaml b/api/etc/core.yaml index 9e439bf5..24cb9bc0 100644 --- a/api/etc/core.yaml +++ b/api/etc/core.yaml @@ -1,38 +1,10 @@ -Name: core.api -Host: 0.0.0.0 -Port: 8500 -Auth: - AccessSecret: - AccessExpire: # Seconds -LogConf: - ServiceName: coreApiLogger - Mode: file - Path: /data/logs/api - Level: info - Compress: false - KeepDays: 7 - StackCooldownMillis: 100 -RedisConf: - Host: 127.0.0.1:6379 - Type: node -CoreRpc: - Etcd: - Hosts: - - 127.0.0.1:2379 - Key: core.rpc -Captcha: - KeyLong: 5 - ImgWidth: 240 - ImgHeight: 80 -DatabaseConf: - Type: mysql - Path: 127.0.0.1 - Port: 3306 - Config: charset=utf8mb4&parseTime=True&loc=Local - DBName: simple_admin - Username: - Password: - MaxIdleConn: 10 - MaxOpenConn: 100 - LogMode: error - LogZap: false \ No newline at end of file +Consul: + Host: 127.0.0.1:8500 # consul endpoint + ListenOn: 127.0.0.1:9100 + #Token: 'f0512db6-76d6-f25e-f344-a98cc3484d42' # consul ACL token (optional) + Key: core.api + Meta: + Protocol: grpc + Tag: + - core + - api \ No newline at end of file diff --git a/api/internal/config/config.go b/api/internal/config/config.go index 8994d65a..9287d0cf 100644 --- a/api/internal/config/config.go +++ b/api/internal/config/config.go @@ -1,7 +1,7 @@ package config import ( - "github.com/zeromicro/go-zero/core/logx" + "github.com/suyuan32/simple-admin-tools/plugins/registry/consul" "github.com/zeromicro/go-zero/core/stores/gormsql" "github.com/zeromicro/go-zero/core/stores/redis" "github.com/zeromicro/go-zero/rest" @@ -9,20 +9,25 @@ import ( ) type Config struct { - rest.RestConf - Auth struct { - AccessSecret string - AccessExpire int64 - } - LogConf logx.LogConf `json:"LogConf" yaml:"LogConf"` - RedisConf redis.RedisConf `json:"RedisConf" yaml:"RedisConf"` - CoreRpc zrpc.RpcClientConf `json:"CoreRpc" yaml:"CoreRpc"` - Captcha Captcha `json:"Captcha" yaml:"Captcha"` - DB gormsql.GORMConf `json:"DatabaseConf" yaml:"DatabaseConf"` + rest.RestConf `yaml:",inline"` + Auth Auth `json:"auth" yaml:"Auth"` + RedisConf redis.RedisConf `json:"redisConf" yaml:"RedisConf"` + CoreRpc zrpc.RpcClientConf `json:"coreRpc" yaml:"CoreRpc"` + Captcha Captcha `json:"captcha" yaml:"Captcha"` + DB gormsql.GORMConf `json:"databaseConf" yaml:"DatabaseConf"` } type Captcha struct { - KeyLong int `json:"KeyLong" yaml:"KeyLong"` // captcha length - ImgWidth int `json:"ImgWidth" yaml:"ImgWidth"` // captcha width - ImgHeight int `json:"ImgHeight" yaml:"ImgHeight"` // captcha height + KeyLong int `json:"keyLong" yaml:"KeyLong"` // captcha length + ImgWidth int `json:"imgWidth" yaml:"ImgWidth"` // captcha width + ImgHeight int `json:"imgHeight" yaml:"ImgHeight"` // captcha height +} + +type Auth struct { + AccessSecret string `json:"accessSecret" yaml:"AccessSecret"` + AccessExpire int64 `json:"accessExpire" yaml:"AccessExpire"` +} + +type ConsulConfig struct { + Consul consul.Conf } diff --git a/api/internal/svc/servicecontext.go b/api/internal/svc/servicecontext.go index da5bbd80..584bf1b5 100644 --- a/api/internal/svc/servicecontext.go +++ b/api/internal/svc/servicecontext.go @@ -23,9 +23,6 @@ type ServiceContext struct { } func NewServiceContext(c config.Config) *ServiceContext { - // initialize logx - logx.MustSetup(c.LogConf) - // initialize redis rds := c.RedisConf.NewRedis() logx.Info("Initialize redis connection successfully") diff --git a/deploy/docker-compose/docker-compose.yaml b/deploy/docker-compose/docker-compose.yaml new file mode 100644 index 00000000..caf366ba --- /dev/null +++ b/deploy/docker-compose/docker-compose.yaml @@ -0,0 +1,75 @@ +version: "3" + +networks: + network: + ipam: + driver: default + config: + - subnet: '177.7.0.0/16' + +# 设置mysql,redis持久化保存 +volumes: + mysql: + redis: + +services: + api: + build: + context: ../../api + dockerfile: ../../Dockerfile + container_name: gva-web + restart: always + ports: + - '8080:8080' + depends_on: + - server + command: [ 'nginx-debug', '-g', 'daemon off;' ] + networks: + network: + ipv4_address: 177.7.0.11 + + server: + build: + context: ../../server + dockerfile: ./Dockerfile + container_name: gva-server + restart: always + ports: + - '8888:8888' + depends_on: + - mysql + - redis + links: + - mysql + - redis + networks: + network: + ipv4_address: 177.7.0.12 + + mysql: + image: mysql:8.0.21 # 如果您是 arm64 架构:如 MacOS 的 M1,请修改镜像为 image: mysql/mysql-server:8.0.21 + container_name: gva-mysql + command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci #设置utf8字符集 + restart: always + ports: + - "13306:3306" # host物理直接映射端口为13306 + environment: + MYSQL_DATABASE: 'qmPlus' # 初始化启动时要创建的数据库的名称 + MYSQL_ROOT_PASSWORD: 'Aa@6447985' # root管理员用户密码 + volumes: + - mysql:/var/lib/mysql + networks: + network: + ipv4_address: 177.7.0.13 + + redis: + image: redis:6.0.6 + container_name: gva-redis # 容器名 + restart: always + ports: + - '16379:6379' + volumes: + - redis:/data + networks: + network: + ipv4_address: 177.7.0.14 \ No newline at end of file diff --git a/docs/simple-admin/assets/consul.png b/docs/simple-admin/assets/consul.png new file mode 100644 index 00000000..5ba86b99 Binary files /dev/null and b/docs/simple-admin/assets/consul.png differ diff --git a/docs/simple-admin/assets/consul_kv.png b/docs/simple-admin/assets/consul_kv.png new file mode 100644 index 00000000..0cd581bb Binary files /dev/null and b/docs/simple-admin/assets/consul_kv.png differ diff --git a/docs/simple-admin/en/_sidebar.md b/docs/simple-admin/en/_sidebar.md index 5e86fcd2..89b38005 100644 --- a/docs/simple-admin/en/_sidebar.md +++ b/docs/simple-admin/en/_sidebar.md @@ -4,4 +4,5 @@ * [Swagger](simple-admin/en/docs/swagger.md) * [File Manager](/simple-admin/en/docs/file_manager.md) * [Web setting](/simple-admin/en/docs/web-setting.md) -* [Validator](/simple-admin/zh-cn/docs/validator.md) \ No newline at end of file +* [Validator](/simple-admin/en/docs/validator.md) +* [Consul](/simple-admin/en/docs/consul.md) \ No newline at end of file diff --git a/docs/simple-admin/en/docs/consul.md b/docs/simple-admin/en/docs/consul.md new file mode 100644 index 00000000..af3b7c0e --- /dev/null +++ b/docs/simple-admin/en/docs/consul.md @@ -0,0 +1,137 @@ +## Use Consul to do service discovery and get configuration online + +### Install consul in docker +docker-compose + +```docker-compose +version: '2' + +services: + consul: + image: docker.io/bitnami/consul:latest + volumes: + - consul_data:/bitnami/consul + ports: + - '8300:8300' + - '8301:8301' + - '8301:8301/udp' + - '8500:8500' + - '8600:8600' + - '8600:8600/udp' +volumes: + consul_data: + driver: local +``` + +### Add Key / Value + +#### key +coreApiConf + +#### value +```yaml +Name: core.api +Host: 127.0.0.1 +Port: 9100 +Timeout: 30000 +Auth: + AccessSecret: # longer than 8 + AccessExpire: 259200 # Seconds +Log: + ServiceName: coreApiLogger + Mode: file + Path: /home/ryan/logs/core/api # set your own path + Level: info + Compress: false + KeepDays: 7 + StackCooldownMillis: 100 +RedisConf: + Host: 192.168.50.216:6379 + Type: node +CoreRpc: + Target: consul://127.0.0.1:8500/core.rpc?wait=14s + #Token: 'f0512db6-76d6-f25e-f344-a98cc3484d42' # consul ACL token (optional) +Captcha: + KeyLong: 5 + ImgWidth: 240 + ImgHeight: 80 +DatabaseConf: + Type: mysql + Path: 127.0.0.1 + Port: 3306 + Config: charset=utf8mb4&parseTime=True&loc=Local + DBName: simple_admin + Username: + Password: + MaxIdleConn: 10 + MaxOpenConn: 100 + LogMode: error + LogZap: false +``` + +#### key +coreRpcConf + +#### value + +```yaml +Name: core.rpc +ListenOn: 127.0.0.1:9101 +DatabaseConf: + Type: mysql + Path: 192.168.50.216 + Port: 3306 + Config: charset=utf8mb4&parseTime=True&loc=Local + DBName: simple_admin + Username: + Password: + MaxIdleConn: 10 + MaxOpenConn: 100 + LogMode: error + LogZap: false +Log: + ServiceName: coreRpcLogger + Mode: file + Path: /home/ryan/logs/core/rpc + Level: info + Compress: false + KeepDays: 7 + StackCooldownMillis: 100 +RedisConf: + Host: 192.168.50.216:6379 + Type: node +``` + + +### Modify api/etc/core.yaml to meet your setting +```yaml +Consul: + Host: 127.0.0.1:8500 # consul endpoint + ListenOn: 127.0.0.1:9100 + #Token: 'f0512db6-76d6-f25e-f344-a98cc3484d42' # consul ACL token (optional) + Key: core.api + Meta: + Protocol: grpc + Tag: + - core + - api +``` + + +### Modify rpc/etc/core.yaml +```yaml +Consul: + Host: 127.0.0.1:8500 # consul endpoint + ListenOn: 127.0.0.1:9101 + #Token: 'f0512db6-76d6-f25e-f344-a98cc3484d42' # consul ACL token (optional) + Key: core.rpc + Meta: + Protocol: grpc + Tag: + - core + - rpc +``` + +![consul](../../assets/consul.png) + +![consul](../../assets/consul_kv.png) diff --git a/docs/simple-admin/en/docs/env_setting.md b/docs/simple-admin/en/docs/env_setting.md index e9cd4a0f..50c066f8 100644 --- a/docs/simple-admin/en/docs/env_setting.md +++ b/docs/simple-admin/en/docs/env_setting.md @@ -3,7 +3,7 @@ ## Environment Requirement - golang 1.19 - nodejs 18.8.0 -- etcd +- consul - mysql ## Backend deployment @@ -16,90 +16,9 @@ simple admin core is the core codes of the system, it must be running. git clone https://github.com/suyuan32/simple-admin-core.git ``` -### configure api - -api/etc/core.yaml - -```yaml -Name: core.api # service name -Host: 0.0.0.0 # bind address -Port: 8500 # port -Auth: - AccessSecret: # jwt encrypt secret - AccessExpire: # expire time (second) -Log: - ServiceName: coreApiLogger # logger name - Mode: file # type file is storing as file | console is output on console - Path: /data/logs/api # store path - Level: info # level: info/error - Compress: false # compress file - KeepDays: 7 # store period - StackCooldownMillis: 100 -RedisConf: - Host: 127.0.0.1:6379 # redis address - Type: node # node type - Pass: xxx # password -CoreRpc: - Etcd: - Hosts: - - 127.0.0.1:2379 # etcd address - Key: core.rpc # rpc service name (the same as configuration in rpc) -Captcha: - KeyLong: 5 # captcha answer length - ImgWidth: 240 # captcha image width - ImgHeight: 80 # captcha image height -DatabaseConf: - Type: mysql # database type: mysql or postgresql - Path: 127.0.0.1 # address - Port: 3306 - Config: charset=utf8mb4&parseTime=True&loc=Local - DBName: simple_admin # database name - Username: # username - Password: # password - MaxIdleConn: 10 # max idle connections - MaxOpenConn: 100 # max opening connections - LogMode: error # log level - LogZap: false # use zap logger -``` +### configure -### Configure rpc - -rpc/etc/core.yaml - -```yaml -Name: core.rpc # service name -ListenOn: 127.0.0.1:8501 # bind address -Etcd: - Hosts: - - 127.0.0.1:2379 # etcd address - Key: core.rpc # service name, used for service discover - User: root # username - Pass: xxx # password -DatabaseConf: - Type: mysql # database type: mysql or postgresql - Path: 127.0.0.1 # address - Port: 3306 - Config: charset=utf8mb4&parseTime=True&loc=Local - DBName: simple_admin # database name - Username: # username - Password: # password - MaxIdleConn: 10 # max idle connections - MaxOpenConn: 100 # max opening connections - LogMode: error # log level - LogZap: false # use zap logger -Log: - ServiceName: coreApiLogger # logger name - Mode: file # type file is storing as file | console is output on console - Path: /data/logs/api # store path - Level: info # level: info/error - Compress: false # compress file - KeepDays: 7 # store period - StackCooldownMillis: 100 -RedisConf: - Host: 127.0.0.1:6379 # redis address - Type: node # node type - Pass: xxx # password -``` +[Consul](/simple-admin/en/docs/consul.md) ### Sync dependencies diff --git a/docs/simple-admin/zh-cn/_sidebar.md b/docs/simple-admin/zh-cn/_sidebar.md index a4239b60..bd3f8f67 100644 --- a/docs/simple-admin/zh-cn/_sidebar.md +++ b/docs/simple-admin/zh-cn/_sidebar.md @@ -4,4 +4,5 @@ * [Swagger](simple-admin/zh-cn/docs/swagger.md) * [文件上传管理](/simple-admin/zh-cn/docs/file_manager.md) * [前端设置](/simple-admin/zh-cn/docs/web-setting.md) -* [验证器](/simple-admin/zh-cn/docs/validator.md) \ No newline at end of file +* [验证器](/simple-admin/zh-cn/docs/validator.md) +* [Consul](/simple-admin/zh-cn/docs/consul.md) \ No newline at end of file diff --git a/docs/simple-admin/zh-cn/docs/consul.md b/docs/simple-admin/zh-cn/docs/consul.md new file mode 100644 index 00000000..572f986b --- /dev/null +++ b/docs/simple-admin/zh-cn/docs/consul.md @@ -0,0 +1,137 @@ +## 使用 Consul 实现服务发现和获取配置文件 + +### 安装consul +docker-compose 方式安装 + +```docker-compose +version: '2' + +services: + consul: + image: docker.io/bitnami/consul:latest + volumes: + - consul_data:/bitnami/consul + ports: + - '8300:8300' + - '8301:8301' + - '8301:8301/udp' + - '8500:8500' + - '8600:8600' + - '8600:8600/udp' +volumes: + consul_data: + driver: local +``` + +### 添加 Key / Value + +#### key +coreApiConf + +#### value +```yaml +Name: core.api +Host: 127.0.0.1 +Port: 9100 +Timeout: 30000 +Auth: + AccessSecret: # longer than 8 + AccessExpire: 259200 # Seconds +Log: + ServiceName: coreApiLogger + Mode: file + Path: /home/ryan/logs/core/api # set your own path + Level: info + Compress: false + KeepDays: 7 + StackCooldownMillis: 100 +RedisConf: + Host: 192.168.50.216:6379 + Type: node +CoreRpc: + Target: consul://127.0.0.1:8500/core.rpc?wait=14s + #Token: 'f0512db6-76d6-f25e-f344-a98cc3484d42' # consul ACL token (optional) +Captcha: + KeyLong: 5 + ImgWidth: 240 + ImgHeight: 80 +DatabaseConf: + Type: mysql + Path: 127.0.0.1 + Port: 3306 + Config: charset=utf8mb4&parseTime=True&loc=Local + DBName: simple_admin + Username: + Password: + MaxIdleConn: 10 + MaxOpenConn: 100 + LogMode: error + LogZap: false +``` + +#### key +coreRpcConf + +#### value + +```yaml +Name: core.rpc +ListenOn: 127.0.0.1:9101 +DatabaseConf: + Type: mysql + Path: 192.168.50.216 + Port: 3306 + Config: charset=utf8mb4&parseTime=True&loc=Local + DBName: simple_admin + Username: + Password: + MaxIdleConn: 10 + MaxOpenConn: 100 + LogMode: error + LogZap: false +Log: + ServiceName: coreRpcLogger + Mode: file + Path: /home/ryan/logs/core/rpc + Level: info + Compress: false + KeepDays: 7 + StackCooldownMillis: 100 +RedisConf: + Host: 192.168.50.216:6379 + Type: node +``` + + +### 修改 api/etc/core.yaml +```yaml +Consul: + Host: 127.0.0.1:8500 # consul endpoint + ListenOn: 127.0.0.1:9100 + #Token: 'f0512db6-76d6-f25e-f344-a98cc3484d42' # consul ACL token (optional) + Key: core.api + Meta: + Protocol: grpc + Tag: + - core + - api +``` + + +### 修改 rpc/etc/core.yaml +```yaml +Consul: + Host: 127.0.0.1:8500 # consul endpoint + ListenOn: 127.0.0.1:9101 + #Token: 'f0512db6-76d6-f25e-f344-a98cc3484d42' # consul ACL token (optional) + Key: core.rpc + Meta: + Protocol: grpc + Tag: + - core + - rpc +``` + +![consul](../../assets/consul.png) + +![consul](../../assets/consul_kv.png) diff --git a/docs/simple-admin/zh-cn/docs/env_setting.md b/docs/simple-admin/zh-cn/docs/env_setting.md index e79d11c8..d38172d9 100644 --- a/docs/simple-admin/zh-cn/docs/env_setting.md +++ b/docs/simple-admin/zh-cn/docs/env_setting.md @@ -3,7 +3,7 @@ ## 环境需求 - golang 1.19 - nodejs 18.8.0 -- etcd +- consul - mysql ## 后端部署 @@ -16,90 +16,9 @@ simple admin core 是核心代码,必须运行 git clone https://github.com/suyuan32/simple-admin-core.git ``` -### 配置api - -api/etc/core.yaml - -```yaml -Name: core.api # 服务名称 -Host: 0.0.0.0 # 监听地址 -Port: 8500 # 端口号 -Auth: - AccessSecret: # jwt 加密秘钥, 推荐使用随机字符串 - AccessExpire: # 过期时间(秒) -Log: - ServiceName: coreApiLogger # logger名 - Mode: file # 日志类型 file为存储为文件 - Path: /data/logs/api # 文件存储路径 - Level: info # 日志级别 info/error - Compress: false # 压缩 - KeepDays: 7 # 保存时间 - StackCooldownMillis: 100 -RedisConf: - Host: 127.0.0.1:6379 # redis 地址 - Type: node # 节点类型 - Pass: xxx # 密码 -CoreRpc: - Etcd: - Hosts: - - 127.0.0.1:2379 # etcd 地址 - Key: core.rpc # rpc服务名称,要与rpc设置的名称一一致 -Captcha: - KeyLong: 5 # 验证码长度 - ImgWidth: 240 # 验证码图片宽度 - ImgHeight: 80 # 验证码图片高度 -DatabaseConf: - Type: mysql # 服务器类型 mysql 或 postgresql - Path: 127.0.0.1 # 地址 - Port: 3306 - Config: charset=utf8mb4&parseTime=True&loc=Local - DBName: simple_admin # 数据库名称 - Username: # 用户名 - Password: # 密码 - MaxIdleConn: 10 # 最大空闲连接数 - MaxOpenConn: 100 # 最大连接数 - LogMode: error # 日志级别 - LogZap: false # 使用 zap 日志 -``` +### 配置 -### 配置rpc - -rpc/etc/core.yaml - -```yaml -Name: core.rpc # 服务名称 -ListenOn: 127.0.0.1:8501 # 监听地址 -Etcd: - Hosts: - - 127.0.0.1:2379 # etcd地址 - Key: core.rpc # 服务名称,用于服务发现 - User: root # 用户名 - Pass: xxx # 密码 -DatabaseConf: - Type: mysql # 服务器类型 mysql 或 postgresql - Path: 127.0.0.1 # 地址 - Port: 3306 - Config: charset=utf8mb4&parseTime=True&loc=Local - DBName: simple_admin # 数据库名称 - Username: # 用户名 - Password: # 密码 - MaxIdleConn: 10 # 最大空闲连接数 - MaxOpenConn: 100 # 最大连接数 - LogMode: error # 日志级别 - LogZap: false # 使用 zap 日志 -Log: - ServiceName: coreRpcLogger # logger名 - Mode: file # 日志类型 file为存储为文件 - Path: /data/logs/rpc # 文件存储路径 - Level: info # 日志级别 info/error - Compress: false # 压缩 - KeepDays: 7 # 保存时间 - StackCooldownMillis: 100 -RedisConf: - Host: 127.0.0.1:6379 # redis 地址 - Type: node # 节点类型 - Pass: xxx # 密码 -``` +[Consul](/simple-admin/en/docs/consul.md) ### 配置依赖 diff --git a/go.mod b/go.mod index 46099b7c..1bab27c2 100644 --- a/go.mod +++ b/go.mod @@ -12,6 +12,7 @@ require ( github.com/mojocn/base64Captcha v1.3.5 github.com/pkg/errors v0.9.1 github.com/stretchr/testify v1.8.0 + github.com/suyuan32/simple-admin-tools/plugins/registry/consul v0.0.0-20220923060146-bde681863b8d github.com/zeromicro/go-zero v1.4.1 golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa google.golang.org/grpc v1.49.0 @@ -19,10 +20,11 @@ require ( gorm.io/gorm v1.23.8 ) -replace github.com/zeromicro/go-zero v1.4.1 => github.com/suyuan32/simple-admin-tools v0.0.5 +replace github.com/zeromicro/go-zero v1.4.1 => github.com/suyuan32/simple-admin-tools v0.0.6-beta-7 require ( github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible // indirect + github.com/armon/go-metrics v0.4.0 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.1.3 // indirect github.com/cespare/xxhash/v2 v2.1.2 // indirect @@ -49,6 +51,13 @@ require ( github.com/google/gofuzz v1.2.0 // indirect github.com/googleapis/gnostic v0.5.5 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0 // indirect + github.com/hashicorp/consul/api v1.15.2 // indirect + github.com/hashicorp/go-cleanhttp v0.5.2 // indirect + github.com/hashicorp/go-hclog v1.2.0 // indirect + github.com/hashicorp/go-immutable-radix v1.3.1 // indirect + github.com/hashicorp/go-rootcerts v1.0.2 // indirect + github.com/hashicorp/golang-lru v0.5.4 // indirect + github.com/hashicorp/serf v0.9.8 // indirect github.com/jackc/chunkreader/v2 v2.0.1 // indirect github.com/jackc/pgconn v1.12.1 // indirect github.com/jackc/pgio v1.0.0 // indirect @@ -59,11 +68,14 @@ require ( github.com/jackc/pgx/v4 v4.16.1 // indirect github.com/jinzhu/inflection v1.0.0 // indirect github.com/jinzhu/now v1.1.5 // indirect + github.com/jpillora/backoff v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/leodido/go-urn v1.2.1 // indirect - github.com/mattn/go-colorable v0.1.9 // indirect + github.com/mattn/go-colorable v0.1.12 // indirect github.com/mattn/go-isatty v0.0.14 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect + github.com/mitchellh/go-homedir v1.1.0 // indirect + github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/openzipkin/zipkin-go v0.4.0 // indirect diff --git a/go.sum b/go.sum index 644f8f66..95b12a7f 100644 --- a/go.sum +++ b/go.sum @@ -47,6 +47,7 @@ github.com/ClickHouse/clickhouse-go v1.5.4/go.mod h1:EaI/sW7Azgz9UATzd5ZdZHRUhHg github.com/ClickHouse/clickhouse-go/v2 v2.0.14/go.mod h1:iq2DUGgpA4BBki2CVwrF8x43zqBjdgHtbexkFkh5a6M= github.com/ClickHouse/clickhouse-go/v2 v2.2.0/go.mod h1:8f2XZUi7XoeU+uPIytSi1cvx8fmJxi7vIgqpvYTF1+o= github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= +github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible h1:1G1pk05UrOh0NlF1oeaaix1x8XzrfjIDK47TY0Zehcw= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc= @@ -70,6 +71,13 @@ github.com/alicebob/miniredis/v2 v2.22.0/go.mod h1:XNqvJdQJv5mSuVMc0ynneafpnL/zv github.com/alicebob/miniredis/v2 v2.23.0 h1:+lwAJYjvvdIVg6doFHuotFjueJ/7KY10xo/vm3X3Scw= github.com/alicebob/miniredis/v2 v2.23.0/go.mod h1:XNqvJdQJv5mSuVMc0ynneafpnL/zv52acZ6kqeS0t88= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= +github.com/armon/go-metrics v0.4.0 h1:yCQqn7dwca4ITXb+CbubHmedzaQYHhNhrEXLYUeEe8Q= +github.com/armon/go-metrics v0.4.0/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= @@ -77,6 +85,7 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24 github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bkaradzic/go-lz4 v1.0.0/go.mod h1:0YdlkowM3VswSROI7qDxhRvJ3sLhlFrRRwjwegp5jy4= github.com/casbin/casbin/v2 v2.37.4/go.mod h1:vByNa/Fchek0KZUgG5wEsl7iFsiviAYKRtgrQfcJqHg= github.com/casbin/casbin/v2 v2.52.1 h1:4xD/q5ZhUFCM3FOWemp8mW20vZLUb/Frg/yUvdnO6/I= @@ -93,6 +102,8 @@ github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XL github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= +github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudflare/golz4 v0.0.0-20150217214814-ef862a3cdc58/go.mod h1:EOBUe0h4xcZ5GoxqC5SDxFQ8gwyZPKQoEzownBlhI80= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= @@ -139,6 +150,8 @@ github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go. github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/evanphx/json-patch v4.11.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= @@ -249,6 +262,7 @@ github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEW github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.1 h1:gK4Kx5IaGY9CD5sPJ36FHiBJ6ZXl0kilRiiCj+jdYp4= github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -303,9 +317,56 @@ github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0 h1:BZHcxBETFHIdVyhyEfOvn/RdU/QG github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542 h1:2VTzZjLZBgl62/EtslCrtky5vbi9dd7HrQPQIx6wqiw= github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542/go.mod h1:Ow0tF8D4Kplbc8s8sSb3V2oUCygFHVp8gC3Dn6U4MNI= +github.com/hashicorp/consul/api v1.15.2 h1:3Q/pDqvJ7udgt/60QOOW/p/PeKioQN+ncYzzCdN2av0= +github.com/hashicorp/consul/api v1.15.2/go.mod h1:v6nvB10borjOuIwNRZYPZiHKrTM/AyrGtd0WVVodKM8= +github.com/hashicorp/consul/sdk v0.11.0 h1:HRzj8YSCln2yGgCumN5CL8lYlD3gBurnervJRJAZyC4= +github.com/hashicorp/consul/sdk v0.11.0/go.mod h1:yPkX5Q6CsxTFMjQQDJwzeNmUUF5NUGGbrDsv9wTb8cw= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= +github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v1.2.0 h1:La19f8d7WIlm4ogzNHB0JGqs5AUDAZ2UfCY4sJXcJdM= +github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-immutable-radix v1.3.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= +github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-msgpack v0.5.5/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-msgpack v1.1.5 h1:9byZdVjKTe5mce63pRVNP1L7UAmdHOTEMGehn6KvJWs= +github.com/hashicorp/go-msgpack v1.1.5/go.mod h1:gWVc3sv/wbDmR3rQsj1CAktEZzoz1YNK9NfGLXJ69/4= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= +github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= +github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= +github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= +github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= +github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +github.com/hashicorp/go-sockaddr v1.0.2 h1:ztczhD1jLxIRjVejw8gFomI1BQZOe2WoVOu0SyteCQc= +github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= +github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= +github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= +github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= +github.com/hashicorp/memberlist v0.3.1 h1:MXgUXLqva1QvpVEDQW1IQLG0wivQAtmFlHRQ+1vWZfM= +github.com/hashicorp/memberlist v0.3.1/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= +github.com/hashicorp/serf v0.9.7/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= +github.com/hashicorp/serf v0.9.8 h1:JGklO/2Drf1QGa312EieQN3zhxQ+aJg6pG+aC3MFaVo= +github.com/hashicorp/serf v0.9.8/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= @@ -381,8 +442,10 @@ github.com/jinzhu/now v1.1.4/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/ github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= +github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= @@ -421,12 +484,19 @@ github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw= github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.9 h1:sqDoxXbdeALODt0DAeJCVp38ps9ZogZEAXjus69YV3U= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= +github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= @@ -437,7 +507,20 @@ github.com/mattn/go-sqlite3 v1.14.12/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4 github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= +github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= +github.com/miekg/dns v1.1.45 h1:g5fRIhm9nx7g8osrAvgb16QJfmyMsyOCb+J7LSv+Qzk= +github.com/miekg/dns v1.1.45/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME= +github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= +github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= +github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mkevac/debugcharts v0.0.0-20191222103121-ae1c48aa8615/go.mod h1:Ad7oeElCZqA1Ufj0U9/liOF4BtVepxRcTvr2ey7zTvM= github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -479,6 +562,9 @@ github.com/onsi/gomega v1.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE= github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs= github.com/openzipkin/zipkin-go v0.4.0 h1:CtfRrOVZtbDj8rt1WXjklw0kqqJQwICrCKmlfUuBUUw= github.com/openzipkin/zipkin-go v0.4.0/go.mod h1:4c3sLeE8xjNqehmF5RpAFLPLJxXscc0R4l6Zg0P1tTQ= +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/paulmach/orb v0.5.0/go.mod h1:FWRlTgl88VI1RBx/MkrwWDRhQ96ctqMCh8boXhmqB/A= github.com/paulmach/orb v0.7.1/go.mod h1:FWRlTgl88VI1RBx/MkrwWDRhQ96ctqMCh8boXhmqB/A= github.com/paulmach/protoscan v0.2.1/go.mod h1:SpcSwydNLrxUGSDvXvO0P7g7AuhJ7lcKfDlhJCDw2gY= @@ -499,10 +585,13 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g= github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= @@ -516,6 +605,7 @@ github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1: github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= @@ -523,6 +613,7 @@ github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8 github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= @@ -536,13 +627,18 @@ github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJ github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8= github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= +github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XFkP+Eg= +github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/shirou/gopsutil v2.19.11+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shirou/gopsutil v3.21.11+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:qsXQc7+bwAM3Q1u/4XEfrquwF8Lw7D7y5cD8CuHnfIc= @@ -581,11 +677,14 @@ github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/suyuan32/simple-admin-core v0.0.4/go.mod h1:qVCiNpYAJrTqj+iAitlcpxgFSdnz9+EQffgaJjEqDBI= -github.com/suyuan32/simple-admin-tools v0.0.5 h1:hCdxnkUrUysEuzViNpG5dRysVbkGuqEhiOc1Fhbavx0= -github.com/suyuan32/simple-admin-tools v0.0.5/go.mod h1:cyw17YGckuAIt8ccUgfc/ul7zB76D8qWvULIiz0RyFw= +github.com/suyuan32/simple-admin-tools v0.0.6-beta-7 h1:ek4tESkuefE2DDBg5zM3xnqdjJSzhdb4TF6MZTjqZXw= +github.com/suyuan32/simple-admin-tools v0.0.6-beta-7/go.mod h1:cyw17YGckuAIt8ccUgfc/ul7zB76D8qWvULIiz0RyFw= +github.com/suyuan32/simple-admin-tools/plugins/registry/consul v0.0.0-20220923060146-bde681863b8d h1:E9UEnIwR43TqNNI+Wyc9S7Bxq24MCrRV4Kc0iNXbKNM= +github.com/suyuan32/simple-admin-tools/plugins/registry/consul v0.0.0-20220923060146-bde681863b8d/go.mod h1:7I+wy4gz60s4XKx0Ll16k/vxr4rWAxS37qwDAHafozk= github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk= github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ= +github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= @@ -598,6 +697,7 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/gopher-lua v0.0.0-20210529063254-f4c35e4016d9 h1:k/gmLsJDWwWqbLCur2yWnJzwQEKRcAHXo6seXGuSwWw= github.com/yuin/gopher-lua v0.0.0-20210529063254-f4c35e4016d9/go.mod h1:E1AXubJBdNmFERAOucpDIxNzeGfLzg0mYh+UfMWdChA= github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= @@ -684,6 +784,7 @@ golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaE golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= @@ -735,6 +836,8 @@ golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzB golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.5.1 h1:OJxoQ/rynoF0dcCdI7cLPktw/hR2cueqYfjm43oqK38= +golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -752,6 +855,7 @@ golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -770,12 +874,16 @@ golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210917221730-978cfadd31cf/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220421235706-1d1ef9303861/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= @@ -802,6 +910,7 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -821,8 +930,11 @@ golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -852,6 +964,7 @@ golang.org/x/sys v0.0.0-20201126233918-771906719818/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -863,7 +976,9 @@ golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210902050250-f475640dd07b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -899,6 +1014,7 @@ golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3 golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190424220101-1e8e1cfdf96b/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= @@ -909,6 +1025,7 @@ golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -948,11 +1065,15 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.8 h1:P1HhGGuLW4aAclzjtmJdf0mJOjVUZUzOTqkAkWL+l6w= +golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= diff --git a/rpc/core.go b/rpc/core.go index 9d1e2c53..428aae4d 100644 --- a/rpc/core.go +++ b/rpc/core.go @@ -3,10 +3,14 @@ package main import ( "flag" "fmt" + "github.com/zeromicro/go-zero/core/logx" + "github.com/suyuan32/simple-admin-core/rpc/internal/config" "github.com/suyuan32/simple-admin-core/rpc/internal/server" "github.com/suyuan32/simple-admin-core/rpc/internal/svc" "github.com/suyuan32/simple-admin-core/rpc/types/core" + "github.com/suyuan32/simple-admin-tools/plugins/registry/consul" + _ "github.com/suyuan32/simple-admin-tools/plugins/registry/consul" "github.com/zeromicro/go-zero/core/conf" "github.com/zeromicro/go-zero/core/service" "github.com/zeromicro/go-zero/zrpc" @@ -19,8 +23,14 @@ var configFile = flag.String("f", "etc/core.yaml", "the config file") func main() { flag.Parse() + var consulConfig config.ConsulConfig + conf.MustLoad(*configFile, &consulConfig) + var c config.Config - conf.MustLoad(*configFile, &c) + client, err := consulConfig.Consul.NewClient() + logx.Must(err) + consul.LoadYAMLConf(client, "coreRpcConf", &c) + ctx := svc.NewServiceContext(c) svr := server.NewCoreServer(ctx) @@ -33,6 +43,9 @@ func main() { }) defer s.Stop() + err = consul.RegisterService(consulConfig.Consul) + logx.Must(err) + fmt.Printf("Starting rpc server at %s...\n", c.ListenOn) s.Start() } diff --git a/rpc/etc/core.yaml b/rpc/etc/core.yaml index 6180bfc4..66e83c50 100644 --- a/rpc/etc/core.yaml +++ b/rpc/etc/core.yaml @@ -1,34 +1,10 @@ -Name: core.rpc -ListenOn: 127.0.0.1:8501 -Etcd: - Hosts: - - 127.0.0.1:2379 +Consul: + Host: 127.0.0.1:8500 # consul endpoint + ListenOn: 127.0.0.1:9101 + #Token: 'f0512db6-76d6-f25e-f344-a98cc3484d42' # consul ACL token (optional) Key: core.rpc -DatabaseConf: - Type: mysql - Path: 127.0.0.1 - Port: 3306 - Config: charset=utf8mb4&parseTime=True&loc=Local - DBName: simple_admin - Username: - Password: - MaxIdleConn: 10 - MaxOpenConn: 100 - LogMode: error - LogZap: false -LogConf: - ServiceName: coreRpcLogger - Mode: file - Path: /data/logs/rpc - Level: info - Compress: false - KeepDays: 7 - StackCooldownMillis: 100 -RedisConf: - Host: 127.0.0.1:6379 - Type: node - Pass: - - - - + Meta: + Protocol: grpc + Tag: + - core + - rpc \ No newline at end of file diff --git a/rpc/internal/config/config.go b/rpc/internal/config/config.go index 5b0edb34..4ea3922f 100755 --- a/rpc/internal/config/config.go +++ b/rpc/internal/config/config.go @@ -1,15 +1,18 @@ package config import ( - "github.com/zeromicro/go-zero/core/logx" + "github.com/suyuan32/simple-admin-tools/plugins/registry/consul" "github.com/zeromicro/go-zero/core/stores/gormsql" "github.com/zeromicro/go-zero/core/stores/redis" "github.com/zeromicro/go-zero/zrpc" ) type Config struct { - zrpc.RpcServerConf - DB gormsql.GORMConf `json:"DatabaseConf" yaml:"DatabaseConf"` - LogConf logx.LogConf `json:"LogConf" yaml:"LogConf"` - RedisConf redis.RedisConf `json:"RedisConf" yaml:"RedisConf"` + zrpc.RpcServerConf `yaml:",inline"` + DB gormsql.GORMConf `json:"DatabaseConf" yaml:"DatabaseConf"` + RedisConf redis.RedisConf `json:"RedisConf" yaml:"RedisConf"` +} + +type ConsulConfig struct { + Consul consul.Conf } diff --git a/rpc/internal/svc/servicecontext.go b/rpc/internal/svc/servicecontext.go index 64fbb757..8c9fa30f 100644 --- a/rpc/internal/svc/servicecontext.go +++ b/rpc/internal/svc/servicecontext.go @@ -16,9 +16,6 @@ type ServiceContext struct { } func NewServiceContext(c config.Config) *ServiceContext { - // initialize logx - logx.MustSetup(c.LogConf) - // initialize database connection db, err := c.DB.NewGORM() if err != nil {