feat: first version.
This commit is contained in:
8
.idea/.gitignore
generated
vendored
Normal file
8
.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# 默认忽略的文件
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
|
# 基于编辑器的 HTTP 客户端请求
|
||||||
|
/httpRequests/
|
||||||
|
# Datasource local storage ignored files
|
||||||
|
/dataSources/
|
||||||
|
/dataSources.local.xml
|
||||||
26
api/conf/v1/bootstrap.proto
Normal file
26
api/conf/v1/bootstrap.proto
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
package conf;
|
||||||
|
|
||||||
|
option go_package = "github.com/tx7do/kratos-bootstrap/gen/api/go/conf/v1;conf";
|
||||||
|
|
||||||
|
import "conf/v1/tracer.proto";
|
||||||
|
import "conf/v1/data.proto";
|
||||||
|
import "conf/v1/server.proto";
|
||||||
|
import "conf/v1/client.proto";
|
||||||
|
import "conf/v1/logger.proto";
|
||||||
|
import "conf/v1/registry.proto";
|
||||||
|
import "conf/v1/oss.proto";
|
||||||
|
import "conf/v1/config.proto";
|
||||||
|
|
||||||
|
// 引导信息
|
||||||
|
message Bootstrap {
|
||||||
|
Server server = 1;
|
||||||
|
Client client = 2;
|
||||||
|
Data data = 3;
|
||||||
|
Tracer trace = 4;
|
||||||
|
Logger logger = 5;
|
||||||
|
Registry registry = 6;
|
||||||
|
RemoteConfig config = 7;
|
||||||
|
OSS oss = 8;
|
||||||
|
}
|
||||||
26
api/conf/v1/client.proto
Normal file
26
api/conf/v1/client.proto
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
package conf;
|
||||||
|
|
||||||
|
option go_package = "github.com/tx7do/kratos-bootstrap/gen/api/go/conf/v1;conf";
|
||||||
|
|
||||||
|
import "google/protobuf/duration.proto";
|
||||||
|
import "conf/v1/middleware.proto";
|
||||||
|
|
||||||
|
// 客户端
|
||||||
|
message Client {
|
||||||
|
// REST
|
||||||
|
message REST {
|
||||||
|
google.protobuf.Duration timeout = 1; // 超时时间
|
||||||
|
Middleware middleware = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
// gPRC
|
||||||
|
message GRPC {
|
||||||
|
google.protobuf.Duration timeout = 1; // 超时时间
|
||||||
|
Middleware middleware = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
REST rest = 1; // REST服务
|
||||||
|
GRPC grpc = 2; // gRPC服务
|
||||||
|
}
|
||||||
53
api/conf/v1/config.proto
Normal file
53
api/conf/v1/config.proto
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
package conf;
|
||||||
|
|
||||||
|
option go_package = "github.com/tx7do/kratos-bootstrap/gen/api/go/conf/v1;conf";
|
||||||
|
|
||||||
|
import "google/protobuf/duration.proto";
|
||||||
|
|
||||||
|
// 配置服务
|
||||||
|
message RemoteConfig {
|
||||||
|
message Nacos {
|
||||||
|
string address = 1; // 服务端地址
|
||||||
|
uint64 port = 2; // 服务端端口
|
||||||
|
string key = 3; //
|
||||||
|
}
|
||||||
|
|
||||||
|
message Etcd {
|
||||||
|
repeated string endpoints = 1;
|
||||||
|
google.protobuf.Duration timeout = 2;
|
||||||
|
string key = 3; //
|
||||||
|
}
|
||||||
|
|
||||||
|
message Consul {
|
||||||
|
string scheme = 1; // 网络样式
|
||||||
|
string address = 2; // 服务端地址
|
||||||
|
string key = 3; //
|
||||||
|
}
|
||||||
|
|
||||||
|
message Apollo {
|
||||||
|
string endpoint = 1;
|
||||||
|
string app_id = 2;
|
||||||
|
string cluster = 3;
|
||||||
|
string namespace = 4;
|
||||||
|
string secret = 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
message Kubernetes {
|
||||||
|
string namespace = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message Polaris {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
string type = 1;
|
||||||
|
|
||||||
|
Etcd etcd = 2;
|
||||||
|
Consul consul = 3;
|
||||||
|
Nacos nacos = 4;
|
||||||
|
Apollo apollo = 6;
|
||||||
|
Kubernetes kubernetes = 7;
|
||||||
|
Polaris polaris = 8;
|
||||||
|
}
|
||||||
31
api/conf/v1/data.proto
Normal file
31
api/conf/v1/data.proto
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
package conf;
|
||||||
|
|
||||||
|
option go_package = "github.com/tx7do/kratos-bootstrap/gen/api/go/conf/v1;conf";
|
||||||
|
|
||||||
|
import "google/protobuf/duration.proto";
|
||||||
|
|
||||||
|
// 数据
|
||||||
|
message Data {
|
||||||
|
// 数据库
|
||||||
|
message Database {
|
||||||
|
string driver = 1; // 驱动名:mysql、postgresql、mongodb、sqlite……
|
||||||
|
string source = 2; // 数据源(DSN字符串)
|
||||||
|
bool migrate = 3; // 数据迁移开关
|
||||||
|
}
|
||||||
|
|
||||||
|
// redis
|
||||||
|
message Redis {
|
||||||
|
string network = 1; // 网络
|
||||||
|
string addr = 2; // 服务端地址
|
||||||
|
string password = 3; // 密码
|
||||||
|
int32 db = 4; // 数据库索引
|
||||||
|
google.protobuf.Duration dial_timeout = 5; // 连接超时时间
|
||||||
|
google.protobuf.Duration read_timeout = 6; // 读取超时时间
|
||||||
|
google.protobuf.Duration write_timeout = 7; // 写入超时时间
|
||||||
|
}
|
||||||
|
|
||||||
|
Database database = 1; // 数据库
|
||||||
|
Redis redis = 2; // Redis
|
||||||
|
}
|
||||||
55
api/conf/v1/logger.proto
Normal file
55
api/conf/v1/logger.proto
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
package conf;
|
||||||
|
|
||||||
|
option go_package = "github.com/tx7do/kratos-bootstrap/gen/api/go/conf/v1;conf";
|
||||||
|
|
||||||
|
// 日志
|
||||||
|
message Logger {
|
||||||
|
// Zap
|
||||||
|
message Zap {
|
||||||
|
string filename = 1; //
|
||||||
|
string level = 2; //
|
||||||
|
int32 max_size = 3; //
|
||||||
|
int32 max_age = 4; //
|
||||||
|
int32 max_backups = 5; //
|
||||||
|
}
|
||||||
|
|
||||||
|
// logrus
|
||||||
|
message Logrus {
|
||||||
|
string level = 1; // 日志等级
|
||||||
|
string formatter = 2; // 输出格式:text, json.
|
||||||
|
string timestamp_format = 3; // 定义时间戳格式,例如:"2006-01-02 15:04:05"
|
||||||
|
bool disable_colors = 4; // 不需要彩色日志
|
||||||
|
bool disable_timestamp = 5; // 不需要时间戳
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fluent
|
||||||
|
message Fluent {
|
||||||
|
string endpoint = 1; // 公网接入地址
|
||||||
|
}
|
||||||
|
|
||||||
|
// 阿里云
|
||||||
|
message Aliyun {
|
||||||
|
string endpoint = 1; // 公网接入地址
|
||||||
|
string project = 2; //
|
||||||
|
string access_key = 3; // 访问密钥ID
|
||||||
|
string access_secret = 4; // 访问密钥
|
||||||
|
}
|
||||||
|
|
||||||
|
// 腾讯
|
||||||
|
message Tencent {
|
||||||
|
string endpoint = 1; // 公网接入地址
|
||||||
|
string topic_id = 2; //
|
||||||
|
string access_key = 3; // 访问密钥ID
|
||||||
|
string access_secret = 4; // 访问密钥
|
||||||
|
}
|
||||||
|
|
||||||
|
string type = 1;
|
||||||
|
|
||||||
|
Zap zap = 2;
|
||||||
|
Logrus logrus = 3;
|
||||||
|
Fluent fluent = 4;
|
||||||
|
Aliyun aliyun = 5;
|
||||||
|
Tencent tencent = 6;
|
||||||
|
}
|
||||||
38
api/conf/v1/middleware.proto
Normal file
38
api/conf/v1/middleware.proto
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
package conf;
|
||||||
|
|
||||||
|
option go_package = "github.com/tx7do/kratos-bootstrap/gen/api/go/conf/v1;conf";
|
||||||
|
|
||||||
|
import "google/protobuf/duration.proto";
|
||||||
|
|
||||||
|
message Middleware {
|
||||||
|
// JWT校验
|
||||||
|
message Auth {
|
||||||
|
string method = 1; // JWT签名的算法,支持算法:HS256
|
||||||
|
string key = 2; // JWT 秘钥
|
||||||
|
}
|
||||||
|
|
||||||
|
// 限流器
|
||||||
|
message RateLimiter {
|
||||||
|
string name = 1; // 限流器名字,支持:bbr。
|
||||||
|
}
|
||||||
|
|
||||||
|
// 性能指标
|
||||||
|
message Metrics {
|
||||||
|
bool histogram = 1; // 直方图
|
||||||
|
bool counter = 2; // 计数器
|
||||||
|
bool gauge = 3; // 仪表盘
|
||||||
|
bool summary = 4; // 摘要
|
||||||
|
}
|
||||||
|
|
||||||
|
bool enable_logging = 1; // 日志开关
|
||||||
|
bool enable_recovery = 2; // 异常恢复
|
||||||
|
bool enable_tracing = 3; // 链路追踪开关
|
||||||
|
bool enable_validate = 4; // 参数校验开关
|
||||||
|
bool enable_circuit_breaker = 5; // 熔断器
|
||||||
|
|
||||||
|
RateLimiter limiter = 6;
|
||||||
|
Metrics metrics = 7;
|
||||||
|
Auth auth = 8;
|
||||||
|
}
|
||||||
20
api/conf/v1/oss.proto
Normal file
20
api/conf/v1/oss.proto
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
package conf;
|
||||||
|
|
||||||
|
option go_package = "github.com/tx7do/kratos-bootstrap/gen/api/go/conf/v1;conf";
|
||||||
|
|
||||||
|
message OSS {
|
||||||
|
// MinIO
|
||||||
|
message MinIO {
|
||||||
|
string endpoint = 1; // 对端端口
|
||||||
|
string access_key = 2; // 访问密钥
|
||||||
|
string secret_key = 3; // 密钥
|
||||||
|
string token = 4; // 令牌
|
||||||
|
bool use_ssl = 5; // 使用SSL
|
||||||
|
string upload_host = 6; // 上传链接的主机名
|
||||||
|
string download_host = 7; // 下载链接的主机名
|
||||||
|
}
|
||||||
|
|
||||||
|
MinIO minio = 1;
|
||||||
|
}
|
||||||
82
api/conf/v1/registry.proto
Normal file
82
api/conf/v1/registry.proto
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
package conf;
|
||||||
|
|
||||||
|
option go_package = "github.com/tx7do/kratos-bootstrap/gen/api/go/conf/v1;conf";
|
||||||
|
|
||||||
|
import "google/protobuf/duration.proto";
|
||||||
|
|
||||||
|
// 注册发现中心
|
||||||
|
message Registry {
|
||||||
|
// Consul
|
||||||
|
message Consul {
|
||||||
|
string scheme = 1; // 网络样式
|
||||||
|
string address = 2; // 服务端地址
|
||||||
|
bool health_check = 3; // 健康检查
|
||||||
|
}
|
||||||
|
|
||||||
|
// Etcd
|
||||||
|
message Etcd {
|
||||||
|
repeated string endpoints = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ZooKeeper
|
||||||
|
message ZooKeeper {
|
||||||
|
repeated string endpoints = 1;
|
||||||
|
google.protobuf.Duration timeout = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Nacos
|
||||||
|
message Nacos {
|
||||||
|
string address = 1; // 服务端地址
|
||||||
|
uint64 port = 2; // 服务端端口
|
||||||
|
string namespace_id = 3; //
|
||||||
|
string log_level = 4; // 日志等级
|
||||||
|
string cache_dir = 5; // 缓存目录
|
||||||
|
string log_dir = 6; // 日志目录
|
||||||
|
int32 update_thread_num = 7; // 更新服务的线程数
|
||||||
|
google.protobuf.Duration timeout = 8; // http请求超时时间,单位: 毫秒
|
||||||
|
google.protobuf.Duration beat_interval = 9; // 心跳间隔时间,单位: 毫秒
|
||||||
|
bool not_load_cache_at_start = 10; // 在启动时不读取本地缓存数据,true: 不读取,false: 读取
|
||||||
|
bool update_cache_when_empty = 11; // 当服务列表为空时是否更新本地缓存,true: 更新,false: 不更新
|
||||||
|
}
|
||||||
|
|
||||||
|
// Kubernetes
|
||||||
|
message Kubernetes {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Eureka
|
||||||
|
message Eureka {
|
||||||
|
repeated string endpoints = 1;
|
||||||
|
google.protobuf.Duration heartbeat_interval = 2;
|
||||||
|
google.protobuf.Duration refresh_interval = 3;
|
||||||
|
string path = 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Polaris
|
||||||
|
message Polaris {
|
||||||
|
string address = 1; // 服务端地址
|
||||||
|
int32 port = 2; // 服务端端口
|
||||||
|
int32 instance_count = 3;
|
||||||
|
string namespace = 4;
|
||||||
|
string service = 5;
|
||||||
|
string token = 6;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Servicecomb
|
||||||
|
message Servicecomb {
|
||||||
|
repeated string endpoints = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
string type = 1;
|
||||||
|
|
||||||
|
Consul consul = 2; // Consul
|
||||||
|
Etcd etcd = 3; // Etcd
|
||||||
|
ZooKeeper zookeeper = 4; // ZooKeeper
|
||||||
|
Nacos nacos = 5; // Nacos
|
||||||
|
Kubernetes kubernetes = 6; // Kubernetes
|
||||||
|
Eureka eureka = 7; // Eureka
|
||||||
|
Polaris polaris = 8; // Polaris
|
||||||
|
Servicecomb servicecomb = 9; // Servicecomb
|
||||||
|
}
|
||||||
64
api/conf/v1/server.proto
Normal file
64
api/conf/v1/server.proto
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
package conf;
|
||||||
|
|
||||||
|
option go_package = "github.com/tx7do/kratos-bootstrap/gen/api/go/conf/v1;conf";
|
||||||
|
|
||||||
|
import "google/protobuf/duration.proto";
|
||||||
|
import "conf/v1/middleware.proto";
|
||||||
|
|
||||||
|
// 服务器
|
||||||
|
message Server {
|
||||||
|
// REST
|
||||||
|
message REST {
|
||||||
|
message CORS {
|
||||||
|
repeated string headers = 1; //
|
||||||
|
repeated string methods = 2; //
|
||||||
|
repeated string origins = 3; //
|
||||||
|
}
|
||||||
|
|
||||||
|
string network = 1; // 网络
|
||||||
|
string addr = 2; // 服务监听地址
|
||||||
|
google.protobuf.Duration timeout = 3; // 超时时间
|
||||||
|
CORS cors = 4; // 服务监听地址
|
||||||
|
Middleware middleware = 5; // 中间件
|
||||||
|
}
|
||||||
|
|
||||||
|
// gPRC
|
||||||
|
message GRPC {
|
||||||
|
string network = 1; // 网络
|
||||||
|
string addr = 2; // 服务监听地址
|
||||||
|
google.protobuf.Duration timeout = 3; // 超时时间
|
||||||
|
Middleware middleware = 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Websocket
|
||||||
|
message Websocket {
|
||||||
|
string network = 1; // 网络样式:http、https
|
||||||
|
string addr = 2; // 服务监听地址
|
||||||
|
string path = 3; // 路径
|
||||||
|
google.protobuf.Duration timeout = 4; // 超时时间
|
||||||
|
}
|
||||||
|
|
||||||
|
// MQTT
|
||||||
|
message Mqtt {
|
||||||
|
string addr = 1; // 对端网络地址
|
||||||
|
}
|
||||||
|
|
||||||
|
// Kafka
|
||||||
|
message Kafka {
|
||||||
|
repeated string addrs = 1; // 对端网络地址
|
||||||
|
}
|
||||||
|
|
||||||
|
// RabbitMQ
|
||||||
|
message RabbitMQ {
|
||||||
|
repeated string addrs = 1; // 对端网络地址
|
||||||
|
}
|
||||||
|
|
||||||
|
REST rest = 1; // REST服务
|
||||||
|
GRPC grpc = 2; // gRPC服务
|
||||||
|
Websocket websocket = 3; // Websocket服务
|
||||||
|
Mqtt mqtt = 4; // MQTT服务
|
||||||
|
Kafka kafka = 5; // Kafka服务
|
||||||
|
RabbitMQ rabbitmq = 6; // RabbitMQ服务
|
||||||
|
}
|
||||||
13
api/conf/v1/tracer.proto
Normal file
13
api/conf/v1/tracer.proto
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
package conf;
|
||||||
|
|
||||||
|
option go_package = "github.com/tx7do/kratos-bootstrap/gen/api/go/conf/v1;conf";
|
||||||
|
|
||||||
|
// 链路追踪
|
||||||
|
message Tracer {
|
||||||
|
string batcher = 1; // jaeger或者zipkin
|
||||||
|
string endpoint = 2; // 端口
|
||||||
|
double sampler = 3; // 采样率,默认:1.0
|
||||||
|
string env = 4; // 运行环境:dev、debug、product
|
||||||
|
}
|
||||||
35
bootstrap.go
Normal file
35
bootstrap.go
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
package bootstrap
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/go-kratos/kratos/v2/log"
|
||||||
|
"github.com/go-kratos/kratos/v2/registry"
|
||||||
|
|
||||||
|
"github.com/tx7do/kratos-bootstrap/gen/api/go/conf/v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Bootstrap 应用引导启动
|
||||||
|
func Bootstrap(serviceInfo *ServiceInfo) (*conf.Bootstrap, log.Logger, registry.Registrar) {
|
||||||
|
// inject command flags
|
||||||
|
Flags := NewCommandFlags()
|
||||||
|
Flags.Init()
|
||||||
|
|
||||||
|
// load configs
|
||||||
|
cfg := LoadBootstrapConfig(Flags.Conf)
|
||||||
|
if cfg == nil {
|
||||||
|
panic("load config failed")
|
||||||
|
}
|
||||||
|
|
||||||
|
// init logger
|
||||||
|
ll := NewLoggerProvider(cfg.Logger, serviceInfo)
|
||||||
|
|
||||||
|
// init registrar
|
||||||
|
reg := NewRegistry(cfg.Registry)
|
||||||
|
|
||||||
|
// init tracer
|
||||||
|
err := NewTracerProvider(cfg.Trace, serviceInfo)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return cfg, ll, reg
|
||||||
|
}
|
||||||
37
buf.gen.yaml
Normal file
37
buf.gen.yaml
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
# 配置protoc生成规则
|
||||||
|
version: v1
|
||||||
|
managed:
|
||||||
|
enabled: false
|
||||||
|
plugins:
|
||||||
|
# generate go struct code
|
||||||
|
#- plugin: buf.build/protocolbuffers/go
|
||||||
|
- name: go
|
||||||
|
out: gen/api/go
|
||||||
|
opt: paths=source_relative
|
||||||
|
|
||||||
|
# generate grpc service code
|
||||||
|
#- plugin: buf.build/grpc/go
|
||||||
|
- name: go-grpc
|
||||||
|
out: gen/api/go
|
||||||
|
opt:
|
||||||
|
- paths=source_relative
|
||||||
|
|
||||||
|
# generate rest service code
|
||||||
|
- name: go-http
|
||||||
|
out: gen/api/go
|
||||||
|
opt:
|
||||||
|
- paths=source_relative
|
||||||
|
|
||||||
|
# generate kratos errors code
|
||||||
|
- name: go-errors
|
||||||
|
out: gen/api/go
|
||||||
|
opt:
|
||||||
|
- paths=source_relative
|
||||||
|
|
||||||
|
# generate message validator code
|
||||||
|
#- plugin: buf.build/bufbuild/validate-go
|
||||||
|
- name: validate
|
||||||
|
out: gen/api/go
|
||||||
|
opt:
|
||||||
|
- paths=source_relative
|
||||||
|
- lang=go
|
||||||
3
buf.work.yaml
Normal file
3
buf.work.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version: v1
|
||||||
|
directories:
|
||||||
|
- api
|
||||||
7
buf.yaml
Normal file
7
buf.yaml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
version: v1
|
||||||
|
breaking:
|
||||||
|
use:
|
||||||
|
- FILE
|
||||||
|
lint:
|
||||||
|
use:
|
||||||
|
- DEFAULT
|
||||||
14
cli.go
Normal file
14
cli.go
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
package bootstrap
|
||||||
|
|
||||||
|
// FIX: missing go.sum entry for module providing package XXXXXXXXXXXXXXXXXXXXX
|
||||||
|
|
||||||
|
import (
|
||||||
|
// wire
|
||||||
|
_ "github.com/google/subcommands"
|
||||||
|
_ "golang.org/x/tools/go/ast/astutil"
|
||||||
|
_ "golang.org/x/tools/go/packages"
|
||||||
|
|
||||||
|
// ent
|
||||||
|
_ "github.com/olekukonko/tablewriter"
|
||||||
|
_ "github.com/spf13/cobra"
|
||||||
|
)
|
||||||
326
config.go
Normal file
326
config.go
Normal file
@@ -0,0 +1,326 @@
|
|||||||
|
package bootstrap
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os"
|
||||||
|
"path/filepath"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"google.golang.org/grpc"
|
||||||
|
|
||||||
|
"github.com/go-kratos/kratos/v2/config"
|
||||||
|
"github.com/go-kratos/kratos/v2/log"
|
||||||
|
|
||||||
|
// file
|
||||||
|
fileKratos "github.com/go-kratos/kratos/v2/config/file"
|
||||||
|
|
||||||
|
// etcd
|
||||||
|
etcdKratos "github.com/go-kratos/kratos/contrib/config/etcd/v2"
|
||||||
|
etcdClient "go.etcd.io/etcd/client/v3"
|
||||||
|
|
||||||
|
// consul
|
||||||
|
consulKratos "github.com/go-kratos/kratos/contrib/config/consul/v2"
|
||||||
|
consulApi "github.com/hashicorp/consul/api"
|
||||||
|
|
||||||
|
// nacos
|
||||||
|
nacosKratos "github.com/go-kratos/kratos/contrib/config/nacos/v2"
|
||||||
|
nacosClients "github.com/nacos-group/nacos-sdk-go/clients"
|
||||||
|
nacosConstant "github.com/nacos-group/nacos-sdk-go/common/constant"
|
||||||
|
nacosVo "github.com/nacos-group/nacos-sdk-go/vo"
|
||||||
|
|
||||||
|
// polaris
|
||||||
|
polarisKratos "github.com/go-kratos/kratos/contrib/config/polaris/v2"
|
||||||
|
polarisApi "github.com/polarismesh/polaris-go"
|
||||||
|
|
||||||
|
// apollo
|
||||||
|
apolloKratos "github.com/go-kratos/kratos/contrib/config/apollo/v2"
|
||||||
|
|
||||||
|
// kubernetes
|
||||||
|
k8sKratos "github.com/go-kratos/kratos/contrib/config/kubernetes/v2"
|
||||||
|
k8sUtil "k8s.io/client-go/util/homedir"
|
||||||
|
|
||||||
|
"github.com/tx7do/kratos-bootstrap/gen/api/go/conf/v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
const remoteConfigSourceConfigFile = "remote.yaml"
|
||||||
|
|
||||||
|
// NewConfigProvider 创建一个配置
|
||||||
|
func NewConfigProvider(configPath string) config.Config {
|
||||||
|
err, rc := LoadRemoteConfigSourceConfigs(configPath)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("LoadRemoteConfigSourceConfigs: ", err.Error())
|
||||||
|
}
|
||||||
|
if rc != nil {
|
||||||
|
return config.New(
|
||||||
|
config.WithSource(
|
||||||
|
NewFileConfigSource(configPath),
|
||||||
|
NewRemoteConfigSource(rc),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
return config.New(
|
||||||
|
config.WithSource(
|
||||||
|
NewFileConfigSource(configPath),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// LoadBootstrapConfig 加载程序引导配置
|
||||||
|
func LoadBootstrapConfig(configPath string) *conf.Bootstrap {
|
||||||
|
cfg := NewConfigProvider(configPath)
|
||||||
|
if err := cfg.Load(); err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
var bc conf.Bootstrap
|
||||||
|
if err := cfg.Scan(&bc); err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if bc.Server == nil {
|
||||||
|
bc.Server = &conf.Server{}
|
||||||
|
_ = cfg.Scan(&bc.Server)
|
||||||
|
}
|
||||||
|
|
||||||
|
if bc.Client == nil {
|
||||||
|
bc.Client = &conf.Client{}
|
||||||
|
_ = cfg.Scan(&bc.Client)
|
||||||
|
}
|
||||||
|
|
||||||
|
if bc.Data == nil {
|
||||||
|
bc.Data = &conf.Data{}
|
||||||
|
_ = cfg.Scan(&bc.Data)
|
||||||
|
}
|
||||||
|
|
||||||
|
if bc.Trace == nil {
|
||||||
|
bc.Trace = &conf.Tracer{}
|
||||||
|
_ = cfg.Scan(&bc.Trace)
|
||||||
|
}
|
||||||
|
|
||||||
|
if bc.Logger == nil {
|
||||||
|
bc.Logger = &conf.Logger{}
|
||||||
|
_ = cfg.Scan(&bc.Logger)
|
||||||
|
}
|
||||||
|
|
||||||
|
if bc.Registry == nil {
|
||||||
|
bc.Registry = &conf.Registry{}
|
||||||
|
_ = cfg.Scan(&bc.Registry)
|
||||||
|
}
|
||||||
|
|
||||||
|
if bc.Oss == nil {
|
||||||
|
bc.Oss = &conf.OSS{}
|
||||||
|
_ = cfg.Scan(&bc.Oss)
|
||||||
|
}
|
||||||
|
|
||||||
|
return &bc
|
||||||
|
}
|
||||||
|
|
||||||
|
func pathExists(path string) bool {
|
||||||
|
_, err := os.Stat(path)
|
||||||
|
if err == nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
if os.IsNotExist(err) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// LoadRemoteConfigSourceConfigs 加载远程配置源的本地配置
|
||||||
|
func LoadRemoteConfigSourceConfigs(configPath string) (error, *conf.RemoteConfig) {
|
||||||
|
configPath = configPath + "/" + remoteConfigSourceConfigFile
|
||||||
|
if !pathExists(configPath) {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
cfg := config.New(
|
||||||
|
config.WithSource(
|
||||||
|
NewFileConfigSource(configPath),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
defer func(cfg config.Config) {
|
||||||
|
err := cfg.Close()
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
}(cfg)
|
||||||
|
|
||||||
|
var err error
|
||||||
|
|
||||||
|
if err = cfg.Load(); err != nil {
|
||||||
|
return err, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var rc conf.Bootstrap
|
||||||
|
if err = cfg.Scan(&rc); err != nil {
|
||||||
|
return err, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil, rc.Config
|
||||||
|
}
|
||||||
|
|
||||||
|
type ConfigType string
|
||||||
|
|
||||||
|
const (
|
||||||
|
ConfigTypeLocalFile ConfigType = "file"
|
||||||
|
ConfigTypeNacos ConfigType = "nacos"
|
||||||
|
ConfigTypeConsul ConfigType = "consul"
|
||||||
|
ConfigTypeEtcd ConfigType = "etcd"
|
||||||
|
ConfigTypeApollo ConfigType = "apollo"
|
||||||
|
ConfigTypeKubernetes ConfigType = "kubernetes"
|
||||||
|
ConfigTypePolaris ConfigType = "polaris"
|
||||||
|
)
|
||||||
|
|
||||||
|
// NewRemoteConfigSource 创建一个远程配置源
|
||||||
|
func NewRemoteConfigSource(c *conf.RemoteConfig) config.Source {
|
||||||
|
switch ConfigType(c.Type) {
|
||||||
|
default:
|
||||||
|
fallthrough
|
||||||
|
case ConfigTypeLocalFile:
|
||||||
|
return nil
|
||||||
|
case ConfigTypeNacos:
|
||||||
|
return NewNacosConfigSource(c)
|
||||||
|
case ConfigTypeConsul:
|
||||||
|
return NewConsulConfigSource(c)
|
||||||
|
case ConfigTypeEtcd:
|
||||||
|
return NewEtcdConfigSource(c)
|
||||||
|
case ConfigTypeApollo:
|
||||||
|
return NewApolloConfigSource(c)
|
||||||
|
case ConfigTypeKubernetes:
|
||||||
|
return NewKubernetesConfigSource(c)
|
||||||
|
case ConfigTypePolaris:
|
||||||
|
return NewPolarisConfigSource(c)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// getConfigKey 获取合法的配置名
|
||||||
|
func getConfigKey(configKey string, useBackslash bool) string {
|
||||||
|
if useBackslash {
|
||||||
|
return strings.Replace(configKey, `.`, `/`, -1)
|
||||||
|
} else {
|
||||||
|
return configKey
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewFileConfigSource 创建一个本地文件配置源
|
||||||
|
func NewFileConfigSource(filePath string) config.Source {
|
||||||
|
return fileKratos.NewSource(filePath)
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewNacosConfigSource 创建一个远程配置源 - Nacos
|
||||||
|
func NewNacosConfigSource(c *conf.RemoteConfig) config.Source {
|
||||||
|
srvConf := []nacosConstant.ServerConfig{
|
||||||
|
*nacosConstant.NewServerConfig(c.Nacos.Address, c.Nacos.Port),
|
||||||
|
}
|
||||||
|
|
||||||
|
cliConf := nacosConstant.ClientConfig{
|
||||||
|
TimeoutMs: 10 * 1000, // http请求超时时间,单位毫秒
|
||||||
|
BeatInterval: 5 * 1000, // 心跳间隔时间,单位毫秒
|
||||||
|
UpdateThreadNum: 20, // 更新服务的线程数
|
||||||
|
LogLevel: "debug",
|
||||||
|
CacheDir: "../../configs/cache", // 缓存目录
|
||||||
|
LogDir: "../../configs/log", // 日志目录
|
||||||
|
NotLoadCacheAtStart: true, // 在启动时不读取本地缓存数据,true--不读取,false--读取
|
||||||
|
UpdateCacheWhenEmpty: true, // 当服务列表为空时是否更新本地缓存,true--更新,false--不更新
|
||||||
|
}
|
||||||
|
|
||||||
|
nacosClient, err := nacosClients.NewConfigClient(
|
||||||
|
nacosVo.NacosClientParam{
|
||||||
|
ClientConfig: &cliConf,
|
||||||
|
ServerConfigs: srvConf,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nacosKratos.NewConfigSource(nacosClient,
|
||||||
|
nacosKratos.WithGroup(getConfigKey(c.Nacos.Key, false)),
|
||||||
|
nacosKratos.WithDataID("bootstrap.yaml"),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewEtcdConfigSource 创建一个远程配置源 - Etcd
|
||||||
|
func NewEtcdConfigSource(c *conf.RemoteConfig) config.Source {
|
||||||
|
cfg := etcdClient.Config{
|
||||||
|
Endpoints: c.Etcd.Endpoints,
|
||||||
|
DialTimeout: c.Etcd.Timeout.AsDuration(),
|
||||||
|
DialOptions: []grpc.DialOption{grpc.WithBlock()},
|
||||||
|
}
|
||||||
|
|
||||||
|
cli, err := etcdClient.New(cfg)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
source, err := etcdKratos.New(cli, etcdKratos.WithPath(getConfigKey(c.Etcd.Key, true)))
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return source
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewConsulConfigSource 创建一个远程配置源 - Consul
|
||||||
|
func NewConsulConfigSource(c *conf.RemoteConfig) config.Source {
|
||||||
|
cfg := consulApi.DefaultConfig()
|
||||||
|
cfg.Address = c.Consul.Address
|
||||||
|
cfg.Scheme = c.Consul.Scheme
|
||||||
|
|
||||||
|
cli, err := consulApi.NewClient(cfg)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
source, err := consulKratos.New(cli,
|
||||||
|
consulKratos.WithPath(getConfigKey(c.Consul.Key, true)),
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return source
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewApolloConfigSource 创建一个远程配置源 - Apollo
|
||||||
|
func NewApolloConfigSource(c *conf.RemoteConfig) config.Source {
|
||||||
|
source := apolloKratos.NewSource(
|
||||||
|
apolloKratos.WithAppID(c.Apollo.AppId),
|
||||||
|
apolloKratos.WithCluster(c.Apollo.Cluster),
|
||||||
|
apolloKratos.WithEndpoint(c.Apollo.Endpoint),
|
||||||
|
apolloKratos.WithNamespace(c.Apollo.Namespace),
|
||||||
|
apolloKratos.WithSecret(c.Apollo.Secret),
|
||||||
|
apolloKratos.WithEnableBackup(),
|
||||||
|
)
|
||||||
|
return source
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewKubernetesConfigSource 创建一个远程配置源 - Kubernetes
|
||||||
|
func NewKubernetesConfigSource(c *conf.RemoteConfig) config.Source {
|
||||||
|
source := k8sKratos.NewSource(
|
||||||
|
k8sKratos.Namespace(c.Kubernetes.Namespace),
|
||||||
|
k8sKratos.LabelSelector(""),
|
||||||
|
k8sKratos.KubeConfig(filepath.Join(k8sUtil.HomeDir(), ".kube", "config")),
|
||||||
|
)
|
||||||
|
return source
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewPolarisConfigSource 创建一个远程配置源 - Polaris
|
||||||
|
func NewPolarisConfigSource(_ *conf.RemoteConfig) config.Source {
|
||||||
|
configApi, err := polarisApi.NewConfigAPI()
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
var opts []polarisKratos.Option
|
||||||
|
opts = append(opts, polarisKratos.WithNamespace("default"))
|
||||||
|
opts = append(opts, polarisKratos.WithFileGroup("default"))
|
||||||
|
opts = append(opts, polarisKratos.WithFileName("default.yaml"))
|
||||||
|
|
||||||
|
source, err := polarisKratos.New(configApi, opts...)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return source
|
||||||
|
}
|
||||||
39
daemon.go
Normal file
39
daemon.go
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
package bootstrap
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
"os/exec"
|
||||||
|
)
|
||||||
|
|
||||||
|
func stripSlice(slice []string, element string) []string {
|
||||||
|
for i := 0; i < len(slice); {
|
||||||
|
if slice[i] == element && i != len(slice)-1 {
|
||||||
|
slice = append(slice[:i], slice[i+1:]...)
|
||||||
|
} else if slice[i] == element && i == len(slice)-1 {
|
||||||
|
slice = slice[:i]
|
||||||
|
} else {
|
||||||
|
i++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return slice
|
||||||
|
}
|
||||||
|
|
||||||
|
func subProcess(args []string) *exec.Cmd {
|
||||||
|
cmd := exec.Command(args[0], args[1:]...)
|
||||||
|
cmd.Stdin = os.Stdin
|
||||||
|
cmd.Stdout = os.Stdout
|
||||||
|
cmd.Stderr = os.Stderr
|
||||||
|
err := cmd.Start()
|
||||||
|
if err != nil {
|
||||||
|
_, _ = fmt.Fprintf(os.Stderr, "[-] Error: %s\n", err)
|
||||||
|
}
|
||||||
|
return cmd
|
||||||
|
}
|
||||||
|
|
||||||
|
// BeDaemon 将当前进程转为守护进程
|
||||||
|
func BeDaemon(arg string) {
|
||||||
|
subProcess(stripSlice(os.Args, arg))
|
||||||
|
fmt.Printf("[*] Daemon running in PID: %d PPID: %d\n", os.Getpid(), os.Getppid())
|
||||||
|
os.Exit(0)
|
||||||
|
}
|
||||||
35
flag.go
Normal file
35
flag.go
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
package bootstrap
|
||||||
|
|
||||||
|
import "flag"
|
||||||
|
|
||||||
|
type CommandFlags struct {
|
||||||
|
Conf string // 引导配置文件路径,默认为:../../configs
|
||||||
|
Env string // 开发环境:dev、debug……
|
||||||
|
ConfigHost string // 远程配置服务端地址
|
||||||
|
ConfigType string // 远程配置服务端类型
|
||||||
|
Daemon bool // 是否转为守护进程
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewCommandFlags() *CommandFlags {
|
||||||
|
return &CommandFlags{
|
||||||
|
Conf: "",
|
||||||
|
Env: "",
|
||||||
|
ConfigHost: "",
|
||||||
|
ConfigType: "",
|
||||||
|
Daemon: false,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (f *CommandFlags) Init() {
|
||||||
|
flag.StringVar(&f.Conf, "conf", "../../configs", "config path, eg: -conf ../../configs")
|
||||||
|
flag.StringVar(&f.Env, "env", "dev", "runtime environment, eg: -env dev")
|
||||||
|
flag.StringVar(&f.ConfigHost, "chost", "127.0.0.1:8500", "config server host, eg: -chost 127.0.0.1:8500")
|
||||||
|
flag.StringVar(&f.ConfigType, "ctype", "consul", "config server host, eg: -ctype consul")
|
||||||
|
flag.BoolVar(&f.Daemon, "d", false, "run app as a daemon with -d=true.")
|
||||||
|
|
||||||
|
if f.Daemon {
|
||||||
|
BeDaemon("-d")
|
||||||
|
}
|
||||||
|
|
||||||
|
flag.Parse()
|
||||||
|
}
|
||||||
253
gen/api/go/conf/v1/bootstrap.pb.go
Normal file
253
gen/api/go/conf/v1/bootstrap.pb.go
Normal file
@@ -0,0 +1,253 @@
|
|||||||
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
|
// versions:
|
||||||
|
// protoc-gen-go v1.30.0
|
||||||
|
// protoc (unknown)
|
||||||
|
// source: conf/v1/bootstrap.proto
|
||||||
|
|
||||||
|
package conf
|
||||||
|
|
||||||
|
import (
|
||||||
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||||
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||||
|
reflect "reflect"
|
||||||
|
sync "sync"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
// Verify that this generated code is sufficiently up-to-date.
|
||||||
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||||
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||||
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||||
|
)
|
||||||
|
|
||||||
|
// 引导信息
|
||||||
|
type Bootstrap struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Server *Server `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"`
|
||||||
|
Client *Client `protobuf:"bytes,2,opt,name=client,proto3" json:"client,omitempty"`
|
||||||
|
Data *Data `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
|
||||||
|
Trace *Tracer `protobuf:"bytes,4,opt,name=trace,proto3" json:"trace,omitempty"`
|
||||||
|
Logger *Logger `protobuf:"bytes,5,opt,name=logger,proto3" json:"logger,omitempty"`
|
||||||
|
Registry *Registry `protobuf:"bytes,6,opt,name=registry,proto3" json:"registry,omitempty"`
|
||||||
|
Config *RemoteConfig `protobuf:"bytes,7,opt,name=config,proto3" json:"config,omitempty"`
|
||||||
|
Oss *OSS `protobuf:"bytes,8,opt,name=oss,proto3" json:"oss,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Bootstrap) Reset() {
|
||||||
|
*x = Bootstrap{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_bootstrap_proto_msgTypes[0]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Bootstrap) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Bootstrap) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Bootstrap) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_bootstrap_proto_msgTypes[0]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Bootstrap.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Bootstrap) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_bootstrap_proto_rawDescGZIP(), []int{0}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Bootstrap) GetServer() *Server {
|
||||||
|
if x != nil {
|
||||||
|
return x.Server
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Bootstrap) GetClient() *Client {
|
||||||
|
if x != nil {
|
||||||
|
return x.Client
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Bootstrap) GetData() *Data {
|
||||||
|
if x != nil {
|
||||||
|
return x.Data
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Bootstrap) GetTrace() *Tracer {
|
||||||
|
if x != nil {
|
||||||
|
return x.Trace
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Bootstrap) GetLogger() *Logger {
|
||||||
|
if x != nil {
|
||||||
|
return x.Logger
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Bootstrap) GetRegistry() *Registry {
|
||||||
|
if x != nil {
|
||||||
|
return x.Registry
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Bootstrap) GetConfig() *RemoteConfig {
|
||||||
|
if x != nil {
|
||||||
|
return x.Config
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Bootstrap) GetOss() *OSS {
|
||||||
|
if x != nil {
|
||||||
|
return x.Oss
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var File_conf_v1_bootstrap_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
|
var file_conf_v1_bootstrap_proto_rawDesc = []byte{
|
||||||
|
0x0a, 0x17, 0x63, 0x6f, 0x6e, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74,
|
||||||
|
0x72, 0x61, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x1a,
|
||||||
|
0x14, 0x63, 0x6f, 0x6e, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x2e,
|
||||||
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x63, 0x6f, 0x6e, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x64,
|
||||||
|
0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x63, 0x6f, 0x6e, 0x66, 0x2f,
|
||||||
|
0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
|
||||||
|
0x14, 0x63, 0x6f, 0x6e, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e,
|
||||||
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x63, 0x6f, 0x6e, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x6c,
|
||||||
|
0x6f, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x63, 0x6f, 0x6e,
|
||||||
|
0x66, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72,
|
||||||
|
0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x63, 0x6f, 0x6e, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x73, 0x73,
|
||||||
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x63, 0x6f, 0x6e, 0x66, 0x2f, 0x76, 0x31, 0x2f,
|
||||||
|
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb6, 0x02, 0x0a,
|
||||||
|
0x09, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x12, 0x24, 0x0a, 0x06, 0x73, 0x65,
|
||||||
|
0x72, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x63, 0x6f, 0x6e,
|
||||||
|
0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
|
||||||
|
0x12, 0x24, 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
|
||||||
|
0x32, 0x0c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x06,
|
||||||
|
0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03,
|
||||||
|
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x44, 0x61, 0x74, 0x61,
|
||||||
|
0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x22, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18,
|
||||||
|
0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x54, 0x72, 0x61,
|
||||||
|
0x63, 0x65, 0x72, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x6c, 0x6f,
|
||||||
|
0x67, 0x67, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x63, 0x6f, 0x6e,
|
||||||
|
0x66, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x52, 0x06, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72,
|
||||||
|
0x12, 0x2a, 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01,
|
||||||
|
0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74,
|
||||||
|
0x72, 0x79, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x2a, 0x0a, 0x06,
|
||||||
|
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63,
|
||||||
|
0x6f, 0x6e, 0x66, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
|
||||||
|
0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x03, 0x6f, 0x73, 0x73, 0x18,
|
||||||
|
0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x4f, 0x53, 0x53,
|
||||||
|
0x52, 0x03, 0x6f, 0x73, 0x73, 0x42, 0x23, 0x5a, 0x21, 0x6b, 0x72, 0x61, 0x74, 0x6f, 0x73, 0x2d,
|
||||||
|
0x62, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6f,
|
||||||
|
0x6e, 0x66, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6e, 0x66, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
|
||||||
|
0x6f, 0x33,
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
file_conf_v1_bootstrap_proto_rawDescOnce sync.Once
|
||||||
|
file_conf_v1_bootstrap_proto_rawDescData = file_conf_v1_bootstrap_proto_rawDesc
|
||||||
|
)
|
||||||
|
|
||||||
|
func file_conf_v1_bootstrap_proto_rawDescGZIP() []byte {
|
||||||
|
file_conf_v1_bootstrap_proto_rawDescOnce.Do(func() {
|
||||||
|
file_conf_v1_bootstrap_proto_rawDescData = protoimpl.X.CompressGZIP(file_conf_v1_bootstrap_proto_rawDescData)
|
||||||
|
})
|
||||||
|
return file_conf_v1_bootstrap_proto_rawDescData
|
||||||
|
}
|
||||||
|
|
||||||
|
var file_conf_v1_bootstrap_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
|
||||||
|
var file_conf_v1_bootstrap_proto_goTypes = []interface{}{
|
||||||
|
(*Bootstrap)(nil), // 0: conf.Bootstrap
|
||||||
|
(*Server)(nil), // 1: conf.Server
|
||||||
|
(*Client)(nil), // 2: conf.Client
|
||||||
|
(*Data)(nil), // 3: conf.Data
|
||||||
|
(*Tracer)(nil), // 4: conf.Tracer
|
||||||
|
(*Logger)(nil), // 5: conf.Logger
|
||||||
|
(*Registry)(nil), // 6: conf.Registry
|
||||||
|
(*RemoteConfig)(nil), // 7: conf.RemoteConfig
|
||||||
|
(*OSS)(nil), // 8: conf.OSS
|
||||||
|
}
|
||||||
|
var file_conf_v1_bootstrap_proto_depIdxs = []int32{
|
||||||
|
1, // 0: conf.Bootstrap.server:type_name -> conf.Server
|
||||||
|
2, // 1: conf.Bootstrap.client:type_name -> conf.Client
|
||||||
|
3, // 2: conf.Bootstrap.data:type_name -> conf.Data
|
||||||
|
4, // 3: conf.Bootstrap.trace:type_name -> conf.Tracer
|
||||||
|
5, // 4: conf.Bootstrap.logger:type_name -> conf.Logger
|
||||||
|
6, // 5: conf.Bootstrap.registry:type_name -> conf.Registry
|
||||||
|
7, // 6: conf.Bootstrap.config:type_name -> conf.RemoteConfig
|
||||||
|
8, // 7: conf.Bootstrap.oss:type_name -> conf.OSS
|
||||||
|
8, // [8:8] is the sub-list for method output_type
|
||||||
|
8, // [8:8] is the sub-list for method input_type
|
||||||
|
8, // [8:8] is the sub-list for extension type_name
|
||||||
|
8, // [8:8] is the sub-list for extension extendee
|
||||||
|
0, // [0:8] is the sub-list for field type_name
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() { file_conf_v1_bootstrap_proto_init() }
|
||||||
|
func file_conf_v1_bootstrap_proto_init() {
|
||||||
|
if File_conf_v1_bootstrap_proto != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
file_conf_v1_tracer_proto_init()
|
||||||
|
file_conf_v1_data_proto_init()
|
||||||
|
file_conf_v1_server_proto_init()
|
||||||
|
file_conf_v1_client_proto_init()
|
||||||
|
file_conf_v1_logger_proto_init()
|
||||||
|
file_conf_v1_registry_proto_init()
|
||||||
|
file_conf_v1_oss_proto_init()
|
||||||
|
file_conf_v1_config_proto_init()
|
||||||
|
if !protoimpl.UnsafeEnabled {
|
||||||
|
file_conf_v1_bootstrap_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Bootstrap); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
type x struct{}
|
||||||
|
out := protoimpl.TypeBuilder{
|
||||||
|
File: protoimpl.DescBuilder{
|
||||||
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
|
RawDescriptor: file_conf_v1_bootstrap_proto_rawDesc,
|
||||||
|
NumEnums: 0,
|
||||||
|
NumMessages: 1,
|
||||||
|
NumExtensions: 0,
|
||||||
|
NumServices: 0,
|
||||||
|
},
|
||||||
|
GoTypes: file_conf_v1_bootstrap_proto_goTypes,
|
||||||
|
DependencyIndexes: file_conf_v1_bootstrap_proto_depIdxs,
|
||||||
|
MessageInfos: file_conf_v1_bootstrap_proto_msgTypes,
|
||||||
|
}.Build()
|
||||||
|
File_conf_v1_bootstrap_proto = out.File
|
||||||
|
file_conf_v1_bootstrap_proto_rawDesc = nil
|
||||||
|
file_conf_v1_bootstrap_proto_goTypes = nil
|
||||||
|
file_conf_v1_bootstrap_proto_depIdxs = nil
|
||||||
|
}
|
||||||
367
gen/api/go/conf/v1/bootstrap.pb.validate.go
Normal file
367
gen/api/go/conf/v1/bootstrap.pb.validate.go
Normal file
@@ -0,0 +1,367 @@
|
|||||||
|
// Code generated by protoc-gen-validate. DO NOT EDIT.
|
||||||
|
// source: conf/v1/bootstrap.proto
|
||||||
|
|
||||||
|
package conf
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
"net"
|
||||||
|
"net/mail"
|
||||||
|
"net/url"
|
||||||
|
"regexp"
|
||||||
|
"sort"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
"unicode/utf8"
|
||||||
|
|
||||||
|
"google.golang.org/protobuf/types/known/anypb"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ensure the imports are used
|
||||||
|
var (
|
||||||
|
_ = bytes.MinRead
|
||||||
|
_ = errors.New("")
|
||||||
|
_ = fmt.Print
|
||||||
|
_ = utf8.UTFMax
|
||||||
|
_ = (*regexp.Regexp)(nil)
|
||||||
|
_ = (*strings.Reader)(nil)
|
||||||
|
_ = net.IPv4len
|
||||||
|
_ = time.Duration(0)
|
||||||
|
_ = (*url.URL)(nil)
|
||||||
|
_ = (*mail.Address)(nil)
|
||||||
|
_ = anypb.Any{}
|
||||||
|
_ = sort.Sort
|
||||||
|
)
|
||||||
|
|
||||||
|
// Validate checks the field values on Bootstrap with the rules defined in the
|
||||||
|
// proto definition for this message. If any rules are violated, the first
|
||||||
|
// error encountered is returned, or nil if there are no violations.
|
||||||
|
func (m *Bootstrap) Validate() error {
|
||||||
|
return m.validate(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateAll checks the field values on Bootstrap with the rules defined in
|
||||||
|
// the proto definition for this message. If any rules are violated, the
|
||||||
|
// result is a list of violation errors wrapped in BootstrapMultiError, or nil
|
||||||
|
// if none found.
|
||||||
|
func (m *Bootstrap) ValidateAll() error {
|
||||||
|
return m.validate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Bootstrap) validate(all bool) error {
|
||||||
|
if m == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var errors []error
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetServer()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, BootstrapValidationError{
|
||||||
|
field: "Server",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, BootstrapValidationError{
|
||||||
|
field: "Server",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetServer()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return BootstrapValidationError{
|
||||||
|
field: "Server",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetClient()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, BootstrapValidationError{
|
||||||
|
field: "Client",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, BootstrapValidationError{
|
||||||
|
field: "Client",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetClient()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return BootstrapValidationError{
|
||||||
|
field: "Client",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetData()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, BootstrapValidationError{
|
||||||
|
field: "Data",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, BootstrapValidationError{
|
||||||
|
field: "Data",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetData()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return BootstrapValidationError{
|
||||||
|
field: "Data",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetTrace()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, BootstrapValidationError{
|
||||||
|
field: "Trace",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, BootstrapValidationError{
|
||||||
|
field: "Trace",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetTrace()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return BootstrapValidationError{
|
||||||
|
field: "Trace",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetLogger()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, BootstrapValidationError{
|
||||||
|
field: "Logger",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, BootstrapValidationError{
|
||||||
|
field: "Logger",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetLogger()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return BootstrapValidationError{
|
||||||
|
field: "Logger",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetRegistry()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, BootstrapValidationError{
|
||||||
|
field: "Registry",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, BootstrapValidationError{
|
||||||
|
field: "Registry",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetRegistry()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return BootstrapValidationError{
|
||||||
|
field: "Registry",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetConfig()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, BootstrapValidationError{
|
||||||
|
field: "Config",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, BootstrapValidationError{
|
||||||
|
field: "Config",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return BootstrapValidationError{
|
||||||
|
field: "Config",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetOss()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, BootstrapValidationError{
|
||||||
|
field: "Oss",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, BootstrapValidationError{
|
||||||
|
field: "Oss",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetOss()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return BootstrapValidationError{
|
||||||
|
field: "Oss",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(errors) > 0 {
|
||||||
|
return BootstrapMultiError(errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// BootstrapMultiError is an error wrapping multiple validation errors returned
|
||||||
|
// by Bootstrap.ValidateAll() if the designated constraints aren't met.
|
||||||
|
type BootstrapMultiError []error
|
||||||
|
|
||||||
|
// Error returns a concatenation of all the error messages it wraps.
|
||||||
|
func (m BootstrapMultiError) Error() string {
|
||||||
|
var msgs []string
|
||||||
|
for _, err := range m {
|
||||||
|
msgs = append(msgs, err.Error())
|
||||||
|
}
|
||||||
|
return strings.Join(msgs, "; ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// AllErrors returns a list of validation violation errors.
|
||||||
|
func (m BootstrapMultiError) AllErrors() []error { return m }
|
||||||
|
|
||||||
|
// BootstrapValidationError is the validation error returned by
|
||||||
|
// Bootstrap.Validate if the designated constraints aren't met.
|
||||||
|
type BootstrapValidationError struct {
|
||||||
|
field string
|
||||||
|
reason string
|
||||||
|
cause error
|
||||||
|
key bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Field function returns field value.
|
||||||
|
func (e BootstrapValidationError) Field() string { return e.field }
|
||||||
|
|
||||||
|
// Reason function returns reason value.
|
||||||
|
func (e BootstrapValidationError) Reason() string { return e.reason }
|
||||||
|
|
||||||
|
// Cause function returns cause value.
|
||||||
|
func (e BootstrapValidationError) Cause() error { return e.cause }
|
||||||
|
|
||||||
|
// Key function returns key value.
|
||||||
|
func (e BootstrapValidationError) Key() bool { return e.key }
|
||||||
|
|
||||||
|
// ErrorName returns error name.
|
||||||
|
func (e BootstrapValidationError) ErrorName() string { return "BootstrapValidationError" }
|
||||||
|
|
||||||
|
// Error satisfies the builtin error interface
|
||||||
|
func (e BootstrapValidationError) Error() string {
|
||||||
|
cause := ""
|
||||||
|
if e.cause != nil {
|
||||||
|
cause = fmt.Sprintf(" | caused by: %v", e.cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
key := ""
|
||||||
|
if e.key {
|
||||||
|
key = "key for "
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf(
|
||||||
|
"invalid %sBootstrap.%s: %s%s",
|
||||||
|
key,
|
||||||
|
e.field,
|
||||||
|
e.reason,
|
||||||
|
cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = BootstrapValidationError{}
|
||||||
|
|
||||||
|
var _ interface {
|
||||||
|
Field() string
|
||||||
|
Reason() string
|
||||||
|
Key() bool
|
||||||
|
Cause() error
|
||||||
|
ErrorName() string
|
||||||
|
} = BootstrapValidationError{}
|
||||||
321
gen/api/go/conf/v1/client.pb.go
Normal file
321
gen/api/go/conf/v1/client.pb.go
Normal file
@@ -0,0 +1,321 @@
|
|||||||
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
|
// versions:
|
||||||
|
// protoc-gen-go v1.30.0
|
||||||
|
// protoc (unknown)
|
||||||
|
// source: conf/v1/client.proto
|
||||||
|
|
||||||
|
package conf
|
||||||
|
|
||||||
|
import (
|
||||||
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||||
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||||
|
durationpb "google.golang.org/protobuf/types/known/durationpb"
|
||||||
|
reflect "reflect"
|
||||||
|
sync "sync"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
// Verify that this generated code is sufficiently up-to-date.
|
||||||
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||||
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||||
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||||
|
)
|
||||||
|
|
||||||
|
// 客户端
|
||||||
|
type Client struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Rest *Client_REST `protobuf:"bytes,1,opt,name=rest,proto3" json:"rest,omitempty"` // REST服务
|
||||||
|
Grpc *Client_GRPC `protobuf:"bytes,2,opt,name=grpc,proto3" json:"grpc,omitempty"` // gRPC服务
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Client) Reset() {
|
||||||
|
*x = Client{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_client_proto_msgTypes[0]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Client) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Client) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Client) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_client_proto_msgTypes[0]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Client.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Client) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_client_proto_rawDescGZIP(), []int{0}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Client) GetRest() *Client_REST {
|
||||||
|
if x != nil {
|
||||||
|
return x.Rest
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Client) GetGrpc() *Client_GRPC {
|
||||||
|
if x != nil {
|
||||||
|
return x.Grpc
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// REST
|
||||||
|
type Client_REST struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Timeout *durationpb.Duration `protobuf:"bytes,1,opt,name=timeout,proto3" json:"timeout,omitempty"` // 超时时间
|
||||||
|
Middleware *Middleware `protobuf:"bytes,2,opt,name=middleware,proto3" json:"middleware,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Client_REST) Reset() {
|
||||||
|
*x = Client_REST{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_client_proto_msgTypes[1]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Client_REST) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Client_REST) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Client_REST) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_client_proto_msgTypes[1]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Client_REST.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Client_REST) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_client_proto_rawDescGZIP(), []int{0, 0}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Client_REST) GetTimeout() *durationpb.Duration {
|
||||||
|
if x != nil {
|
||||||
|
return x.Timeout
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Client_REST) GetMiddleware() *Middleware {
|
||||||
|
if x != nil {
|
||||||
|
return x.Middleware
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// gPRC
|
||||||
|
type Client_GRPC struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Timeout *durationpb.Duration `protobuf:"bytes,1,opt,name=timeout,proto3" json:"timeout,omitempty"` // 超时时间
|
||||||
|
Middleware *Middleware `protobuf:"bytes,2,opt,name=middleware,proto3" json:"middleware,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Client_GRPC) Reset() {
|
||||||
|
*x = Client_GRPC{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_client_proto_msgTypes[2]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Client_GRPC) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Client_GRPC) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Client_GRPC) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_client_proto_msgTypes[2]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Client_GRPC.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Client_GRPC) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_client_proto_rawDescGZIP(), []int{0, 1}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Client_GRPC) GetTimeout() *durationpb.Duration {
|
||||||
|
if x != nil {
|
||||||
|
return x.Timeout
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Client_GRPC) GetMiddleware() *Middleware {
|
||||||
|
if x != nil {
|
||||||
|
return x.Middleware
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var File_conf_v1_client_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
|
var file_conf_v1_client_proto_rawDesc = []byte{
|
||||||
|
0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
|
||||||
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x1a, 0x1e, 0x67, 0x6f,
|
||||||
|
0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75,
|
||||||
|
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x63, 0x6f,
|
||||||
|
0x6e, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65,
|
||||||
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb4, 0x02, 0x0a, 0x06, 0x43, 0x6c, 0x69, 0x65, 0x6e,
|
||||||
|
0x74, 0x12, 0x25, 0x0a, 0x04, 0x72, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||||
|
0x11, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x45,
|
||||||
|
0x53, 0x54, 0x52, 0x04, 0x72, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x04, 0x67, 0x72, 0x70, 0x63,
|
||||||
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x43, 0x6c,
|
||||||
|
0x69, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x52, 0x50, 0x43, 0x52, 0x04, 0x67, 0x72, 0x70, 0x63, 0x1a,
|
||||||
|
0x6d, 0x0a, 0x04, 0x52, 0x45, 0x53, 0x54, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f,
|
||||||
|
0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
||||||
|
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74,
|
||||||
|
0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x30, 0x0a, 0x0a,
|
||||||
|
0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
|
||||||
|
0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61,
|
||||||
|
0x72, 0x65, 0x52, 0x0a, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x1a, 0x6d,
|
||||||
|
0x0a, 0x04, 0x47, 0x52, 0x50, 0x43, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75,
|
||||||
|
0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
|
||||||
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69,
|
||||||
|
0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x30, 0x0a, 0x0a, 0x6d,
|
||||||
|
0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||||
|
0x10, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72,
|
||||||
|
0x65, 0x52, 0x0a, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x42, 0x23, 0x5a,
|
||||||
|
0x21, 0x6b, 0x72, 0x61, 0x74, 0x6f, 0x73, 0x2d, 0x62, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61,
|
||||||
|
0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f,
|
||||||
|
0x6e, 0x66, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
file_conf_v1_client_proto_rawDescOnce sync.Once
|
||||||
|
file_conf_v1_client_proto_rawDescData = file_conf_v1_client_proto_rawDesc
|
||||||
|
)
|
||||||
|
|
||||||
|
func file_conf_v1_client_proto_rawDescGZIP() []byte {
|
||||||
|
file_conf_v1_client_proto_rawDescOnce.Do(func() {
|
||||||
|
file_conf_v1_client_proto_rawDescData = protoimpl.X.CompressGZIP(file_conf_v1_client_proto_rawDescData)
|
||||||
|
})
|
||||||
|
return file_conf_v1_client_proto_rawDescData
|
||||||
|
}
|
||||||
|
|
||||||
|
var file_conf_v1_client_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
|
||||||
|
var file_conf_v1_client_proto_goTypes = []interface{}{
|
||||||
|
(*Client)(nil), // 0: conf.Client
|
||||||
|
(*Client_REST)(nil), // 1: conf.Client.REST
|
||||||
|
(*Client_GRPC)(nil), // 2: conf.Client.GRPC
|
||||||
|
(*durationpb.Duration)(nil), // 3: google.protobuf.Duration
|
||||||
|
(*Middleware)(nil), // 4: conf.Middleware
|
||||||
|
}
|
||||||
|
var file_conf_v1_client_proto_depIdxs = []int32{
|
||||||
|
1, // 0: conf.Client.rest:type_name -> conf.Client.REST
|
||||||
|
2, // 1: conf.Client.grpc:type_name -> conf.Client.GRPC
|
||||||
|
3, // 2: conf.Client.REST.timeout:type_name -> google.protobuf.Duration
|
||||||
|
4, // 3: conf.Client.REST.middleware:type_name -> conf.Middleware
|
||||||
|
3, // 4: conf.Client.GRPC.timeout:type_name -> google.protobuf.Duration
|
||||||
|
4, // 5: conf.Client.GRPC.middleware:type_name -> conf.Middleware
|
||||||
|
6, // [6:6] is the sub-list for method output_type
|
||||||
|
6, // [6:6] is the sub-list for method input_type
|
||||||
|
6, // [6:6] is the sub-list for extension type_name
|
||||||
|
6, // [6:6] is the sub-list for extension extendee
|
||||||
|
0, // [0:6] is the sub-list for field type_name
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() { file_conf_v1_client_proto_init() }
|
||||||
|
func file_conf_v1_client_proto_init() {
|
||||||
|
if File_conf_v1_client_proto != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
file_conf_v1_middleware_proto_init()
|
||||||
|
if !protoimpl.UnsafeEnabled {
|
||||||
|
file_conf_v1_client_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Client); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_client_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Client_REST); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_client_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Client_GRPC); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
type x struct{}
|
||||||
|
out := protoimpl.TypeBuilder{
|
||||||
|
File: protoimpl.DescBuilder{
|
||||||
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
|
RawDescriptor: file_conf_v1_client_proto_rawDesc,
|
||||||
|
NumEnums: 0,
|
||||||
|
NumMessages: 3,
|
||||||
|
NumExtensions: 0,
|
||||||
|
NumServices: 0,
|
||||||
|
},
|
||||||
|
GoTypes: file_conf_v1_client_proto_goTypes,
|
||||||
|
DependencyIndexes: file_conf_v1_client_proto_depIdxs,
|
||||||
|
MessageInfos: file_conf_v1_client_proto_msgTypes,
|
||||||
|
}.Build()
|
||||||
|
File_conf_v1_client_proto = out.File
|
||||||
|
file_conf_v1_client_proto_rawDesc = nil
|
||||||
|
file_conf_v1_client_proto_goTypes = nil
|
||||||
|
file_conf_v1_client_proto_depIdxs = nil
|
||||||
|
}
|
||||||
506
gen/api/go/conf/v1/client.pb.validate.go
Normal file
506
gen/api/go/conf/v1/client.pb.validate.go
Normal file
@@ -0,0 +1,506 @@
|
|||||||
|
// Code generated by protoc-gen-validate. DO NOT EDIT.
|
||||||
|
// source: conf/v1/client.proto
|
||||||
|
|
||||||
|
package conf
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
"net"
|
||||||
|
"net/mail"
|
||||||
|
"net/url"
|
||||||
|
"regexp"
|
||||||
|
"sort"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
"unicode/utf8"
|
||||||
|
|
||||||
|
"google.golang.org/protobuf/types/known/anypb"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ensure the imports are used
|
||||||
|
var (
|
||||||
|
_ = bytes.MinRead
|
||||||
|
_ = errors.New("")
|
||||||
|
_ = fmt.Print
|
||||||
|
_ = utf8.UTFMax
|
||||||
|
_ = (*regexp.Regexp)(nil)
|
||||||
|
_ = (*strings.Reader)(nil)
|
||||||
|
_ = net.IPv4len
|
||||||
|
_ = time.Duration(0)
|
||||||
|
_ = (*url.URL)(nil)
|
||||||
|
_ = (*mail.Address)(nil)
|
||||||
|
_ = anypb.Any{}
|
||||||
|
_ = sort.Sort
|
||||||
|
)
|
||||||
|
|
||||||
|
// Validate checks the field values on Client with the rules defined in the
|
||||||
|
// proto definition for this message. If any rules are violated, the first
|
||||||
|
// error encountered is returned, or nil if there are no violations.
|
||||||
|
func (m *Client) Validate() error {
|
||||||
|
return m.validate(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateAll checks the field values on Client with the rules defined in the
|
||||||
|
// proto definition for this message. If any rules are violated, the result is
|
||||||
|
// a list of violation errors wrapped in ClientMultiError, or nil if none found.
|
||||||
|
func (m *Client) ValidateAll() error {
|
||||||
|
return m.validate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Client) validate(all bool) error {
|
||||||
|
if m == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var errors []error
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetRest()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, ClientValidationError{
|
||||||
|
field: "Rest",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, ClientValidationError{
|
||||||
|
field: "Rest",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetRest()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return ClientValidationError{
|
||||||
|
field: "Rest",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetGrpc()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, ClientValidationError{
|
||||||
|
field: "Grpc",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, ClientValidationError{
|
||||||
|
field: "Grpc",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetGrpc()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return ClientValidationError{
|
||||||
|
field: "Grpc",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(errors) > 0 {
|
||||||
|
return ClientMultiError(errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// ClientMultiError is an error wrapping multiple validation errors returned by
|
||||||
|
// Client.ValidateAll() if the designated constraints aren't met.
|
||||||
|
type ClientMultiError []error
|
||||||
|
|
||||||
|
// Error returns a concatenation of all the error messages it wraps.
|
||||||
|
func (m ClientMultiError) Error() string {
|
||||||
|
var msgs []string
|
||||||
|
for _, err := range m {
|
||||||
|
msgs = append(msgs, err.Error())
|
||||||
|
}
|
||||||
|
return strings.Join(msgs, "; ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// AllErrors returns a list of validation violation errors.
|
||||||
|
func (m ClientMultiError) AllErrors() []error { return m }
|
||||||
|
|
||||||
|
// ClientValidationError is the validation error returned by Client.Validate if
|
||||||
|
// the designated constraints aren't met.
|
||||||
|
type ClientValidationError struct {
|
||||||
|
field string
|
||||||
|
reason string
|
||||||
|
cause error
|
||||||
|
key bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Field function returns field value.
|
||||||
|
func (e ClientValidationError) Field() string { return e.field }
|
||||||
|
|
||||||
|
// Reason function returns reason value.
|
||||||
|
func (e ClientValidationError) Reason() string { return e.reason }
|
||||||
|
|
||||||
|
// Cause function returns cause value.
|
||||||
|
func (e ClientValidationError) Cause() error { return e.cause }
|
||||||
|
|
||||||
|
// Key function returns key value.
|
||||||
|
func (e ClientValidationError) Key() bool { return e.key }
|
||||||
|
|
||||||
|
// ErrorName returns error name.
|
||||||
|
func (e ClientValidationError) ErrorName() string { return "ClientValidationError" }
|
||||||
|
|
||||||
|
// Error satisfies the builtin error interface
|
||||||
|
func (e ClientValidationError) Error() string {
|
||||||
|
cause := ""
|
||||||
|
if e.cause != nil {
|
||||||
|
cause = fmt.Sprintf(" | caused by: %v", e.cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
key := ""
|
||||||
|
if e.key {
|
||||||
|
key = "key for "
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf(
|
||||||
|
"invalid %sClient.%s: %s%s",
|
||||||
|
key,
|
||||||
|
e.field,
|
||||||
|
e.reason,
|
||||||
|
cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = ClientValidationError{}
|
||||||
|
|
||||||
|
var _ interface {
|
||||||
|
Field() string
|
||||||
|
Reason() string
|
||||||
|
Key() bool
|
||||||
|
Cause() error
|
||||||
|
ErrorName() string
|
||||||
|
} = ClientValidationError{}
|
||||||
|
|
||||||
|
// Validate checks the field values on Client_REST with the rules defined in
|
||||||
|
// the proto definition for this message. If any rules are violated, the first
|
||||||
|
// error encountered is returned, or nil if there are no violations.
|
||||||
|
func (m *Client_REST) Validate() error {
|
||||||
|
return m.validate(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateAll checks the field values on Client_REST with the rules defined in
|
||||||
|
// the proto definition for this message. If any rules are violated, the
|
||||||
|
// result is a list of violation errors wrapped in Client_RESTMultiError, or
|
||||||
|
// nil if none found.
|
||||||
|
func (m *Client_REST) ValidateAll() error {
|
||||||
|
return m.validate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Client_REST) validate(all bool) error {
|
||||||
|
if m == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var errors []error
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetTimeout()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, Client_RESTValidationError{
|
||||||
|
field: "Timeout",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, Client_RESTValidationError{
|
||||||
|
field: "Timeout",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetTimeout()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return Client_RESTValidationError{
|
||||||
|
field: "Timeout",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetMiddleware()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, Client_RESTValidationError{
|
||||||
|
field: "Middleware",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, Client_RESTValidationError{
|
||||||
|
field: "Middleware",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetMiddleware()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return Client_RESTValidationError{
|
||||||
|
field: "Middleware",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(errors) > 0 {
|
||||||
|
return Client_RESTMultiError(errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Client_RESTMultiError is an error wrapping multiple validation errors
|
||||||
|
// returned by Client_REST.ValidateAll() if the designated constraints aren't met.
|
||||||
|
type Client_RESTMultiError []error
|
||||||
|
|
||||||
|
// Error returns a concatenation of all the error messages it wraps.
|
||||||
|
func (m Client_RESTMultiError) Error() string {
|
||||||
|
var msgs []string
|
||||||
|
for _, err := range m {
|
||||||
|
msgs = append(msgs, err.Error())
|
||||||
|
}
|
||||||
|
return strings.Join(msgs, "; ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// AllErrors returns a list of validation violation errors.
|
||||||
|
func (m Client_RESTMultiError) AllErrors() []error { return m }
|
||||||
|
|
||||||
|
// Client_RESTValidationError is the validation error returned by
|
||||||
|
// Client_REST.Validate if the designated constraints aren't met.
|
||||||
|
type Client_RESTValidationError struct {
|
||||||
|
field string
|
||||||
|
reason string
|
||||||
|
cause error
|
||||||
|
key bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Field function returns field value.
|
||||||
|
func (e Client_RESTValidationError) Field() string { return e.field }
|
||||||
|
|
||||||
|
// Reason function returns reason value.
|
||||||
|
func (e Client_RESTValidationError) Reason() string { return e.reason }
|
||||||
|
|
||||||
|
// Cause function returns cause value.
|
||||||
|
func (e Client_RESTValidationError) Cause() error { return e.cause }
|
||||||
|
|
||||||
|
// Key function returns key value.
|
||||||
|
func (e Client_RESTValidationError) Key() bool { return e.key }
|
||||||
|
|
||||||
|
// ErrorName returns error name.
|
||||||
|
func (e Client_RESTValidationError) ErrorName() string { return "Client_RESTValidationError" }
|
||||||
|
|
||||||
|
// Error satisfies the builtin error interface
|
||||||
|
func (e Client_RESTValidationError) Error() string {
|
||||||
|
cause := ""
|
||||||
|
if e.cause != nil {
|
||||||
|
cause = fmt.Sprintf(" | caused by: %v", e.cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
key := ""
|
||||||
|
if e.key {
|
||||||
|
key = "key for "
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf(
|
||||||
|
"invalid %sClient_REST.%s: %s%s",
|
||||||
|
key,
|
||||||
|
e.field,
|
||||||
|
e.reason,
|
||||||
|
cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = Client_RESTValidationError{}
|
||||||
|
|
||||||
|
var _ interface {
|
||||||
|
Field() string
|
||||||
|
Reason() string
|
||||||
|
Key() bool
|
||||||
|
Cause() error
|
||||||
|
ErrorName() string
|
||||||
|
} = Client_RESTValidationError{}
|
||||||
|
|
||||||
|
// Validate checks the field values on Client_GRPC with the rules defined in
|
||||||
|
// the proto definition for this message. If any rules are violated, the first
|
||||||
|
// error encountered is returned, or nil if there are no violations.
|
||||||
|
func (m *Client_GRPC) Validate() error {
|
||||||
|
return m.validate(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateAll checks the field values on Client_GRPC with the rules defined in
|
||||||
|
// the proto definition for this message. If any rules are violated, the
|
||||||
|
// result is a list of violation errors wrapped in Client_GRPCMultiError, or
|
||||||
|
// nil if none found.
|
||||||
|
func (m *Client_GRPC) ValidateAll() error {
|
||||||
|
return m.validate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Client_GRPC) validate(all bool) error {
|
||||||
|
if m == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var errors []error
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetTimeout()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, Client_GRPCValidationError{
|
||||||
|
field: "Timeout",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, Client_GRPCValidationError{
|
||||||
|
field: "Timeout",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetTimeout()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return Client_GRPCValidationError{
|
||||||
|
field: "Timeout",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetMiddleware()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, Client_GRPCValidationError{
|
||||||
|
field: "Middleware",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, Client_GRPCValidationError{
|
||||||
|
field: "Middleware",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetMiddleware()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return Client_GRPCValidationError{
|
||||||
|
field: "Middleware",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(errors) > 0 {
|
||||||
|
return Client_GRPCMultiError(errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Client_GRPCMultiError is an error wrapping multiple validation errors
|
||||||
|
// returned by Client_GRPC.ValidateAll() if the designated constraints aren't met.
|
||||||
|
type Client_GRPCMultiError []error
|
||||||
|
|
||||||
|
// Error returns a concatenation of all the error messages it wraps.
|
||||||
|
func (m Client_GRPCMultiError) Error() string {
|
||||||
|
var msgs []string
|
||||||
|
for _, err := range m {
|
||||||
|
msgs = append(msgs, err.Error())
|
||||||
|
}
|
||||||
|
return strings.Join(msgs, "; ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// AllErrors returns a list of validation violation errors.
|
||||||
|
func (m Client_GRPCMultiError) AllErrors() []error { return m }
|
||||||
|
|
||||||
|
// Client_GRPCValidationError is the validation error returned by
|
||||||
|
// Client_GRPC.Validate if the designated constraints aren't met.
|
||||||
|
type Client_GRPCValidationError struct {
|
||||||
|
field string
|
||||||
|
reason string
|
||||||
|
cause error
|
||||||
|
key bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Field function returns field value.
|
||||||
|
func (e Client_GRPCValidationError) Field() string { return e.field }
|
||||||
|
|
||||||
|
// Reason function returns reason value.
|
||||||
|
func (e Client_GRPCValidationError) Reason() string { return e.reason }
|
||||||
|
|
||||||
|
// Cause function returns cause value.
|
||||||
|
func (e Client_GRPCValidationError) Cause() error { return e.cause }
|
||||||
|
|
||||||
|
// Key function returns key value.
|
||||||
|
func (e Client_GRPCValidationError) Key() bool { return e.key }
|
||||||
|
|
||||||
|
// ErrorName returns error name.
|
||||||
|
func (e Client_GRPCValidationError) ErrorName() string { return "Client_GRPCValidationError" }
|
||||||
|
|
||||||
|
// Error satisfies the builtin error interface
|
||||||
|
func (e Client_GRPCValidationError) Error() string {
|
||||||
|
cause := ""
|
||||||
|
if e.cause != nil {
|
||||||
|
cause = fmt.Sprintf(" | caused by: %v", e.cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
key := ""
|
||||||
|
if e.key {
|
||||||
|
key = "key for "
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf(
|
||||||
|
"invalid %sClient_GRPC.%s: %s%s",
|
||||||
|
key,
|
||||||
|
e.field,
|
||||||
|
e.reason,
|
||||||
|
cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = Client_GRPCValidationError{}
|
||||||
|
|
||||||
|
var _ interface {
|
||||||
|
Field() string
|
||||||
|
Reason() string
|
||||||
|
Key() bool
|
||||||
|
Cause() error
|
||||||
|
ErrorName() string
|
||||||
|
} = Client_GRPCValidationError{}
|
||||||
682
gen/api/go/conf/v1/config.pb.go
Normal file
682
gen/api/go/conf/v1/config.pb.go
Normal file
@@ -0,0 +1,682 @@
|
|||||||
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
|
// versions:
|
||||||
|
// protoc-gen-go v1.30.0
|
||||||
|
// protoc (unknown)
|
||||||
|
// source: conf/v1/config.proto
|
||||||
|
|
||||||
|
package conf
|
||||||
|
|
||||||
|
import (
|
||||||
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||||
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||||
|
durationpb "google.golang.org/protobuf/types/known/durationpb"
|
||||||
|
reflect "reflect"
|
||||||
|
sync "sync"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
// Verify that this generated code is sufficiently up-to-date.
|
||||||
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||||
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||||
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||||
|
)
|
||||||
|
|
||||||
|
// 配置服务
|
||||||
|
type RemoteConfig struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
|
||||||
|
Etcd *RemoteConfig_Etcd `protobuf:"bytes,2,opt,name=etcd,proto3" json:"etcd,omitempty"`
|
||||||
|
Consul *RemoteConfig_Consul `protobuf:"bytes,3,opt,name=consul,proto3" json:"consul,omitempty"`
|
||||||
|
Nacos *RemoteConfig_Nacos `protobuf:"bytes,4,opt,name=nacos,proto3" json:"nacos,omitempty"`
|
||||||
|
Apollo *RemoteConfig_Apollo `protobuf:"bytes,6,opt,name=apollo,proto3" json:"apollo,omitempty"`
|
||||||
|
Kubernetes *RemoteConfig_Kubernetes `protobuf:"bytes,7,opt,name=kubernetes,proto3" json:"kubernetes,omitempty"`
|
||||||
|
Polaris *RemoteConfig_Polaris `protobuf:"bytes,8,opt,name=polaris,proto3" json:"polaris,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig) Reset() {
|
||||||
|
*x = RemoteConfig{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_config_proto_msgTypes[0]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*RemoteConfig) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *RemoteConfig) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_config_proto_msgTypes[0]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use RemoteConfig.ProtoReflect.Descriptor instead.
|
||||||
|
func (*RemoteConfig) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_config_proto_rawDescGZIP(), []int{0}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig) GetType() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Type
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig) GetEtcd() *RemoteConfig_Etcd {
|
||||||
|
if x != nil {
|
||||||
|
return x.Etcd
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig) GetConsul() *RemoteConfig_Consul {
|
||||||
|
if x != nil {
|
||||||
|
return x.Consul
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig) GetNacos() *RemoteConfig_Nacos {
|
||||||
|
if x != nil {
|
||||||
|
return x.Nacos
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig) GetApollo() *RemoteConfig_Apollo {
|
||||||
|
if x != nil {
|
||||||
|
return x.Apollo
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig) GetKubernetes() *RemoteConfig_Kubernetes {
|
||||||
|
if x != nil {
|
||||||
|
return x.Kubernetes
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig) GetPolaris() *RemoteConfig_Polaris {
|
||||||
|
if x != nil {
|
||||||
|
return x.Polaris
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
type RemoteConfig_Nacos struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` // 服务端地址
|
||||||
|
Port uint64 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` // 服务端端口
|
||||||
|
Key string `protobuf:"bytes,3,opt,name=key,proto3" json:"key,omitempty"` //
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Nacos) Reset() {
|
||||||
|
*x = RemoteConfig_Nacos{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_config_proto_msgTypes[1]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Nacos) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*RemoteConfig_Nacos) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Nacos) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_config_proto_msgTypes[1]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use RemoteConfig_Nacos.ProtoReflect.Descriptor instead.
|
||||||
|
func (*RemoteConfig_Nacos) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_config_proto_rawDescGZIP(), []int{0, 0}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Nacos) GetAddress() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Address
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Nacos) GetPort() uint64 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Port
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Nacos) GetKey() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Key
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
type RemoteConfig_Etcd struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Endpoints []string `protobuf:"bytes,1,rep,name=endpoints,proto3" json:"endpoints,omitempty"`
|
||||||
|
Timeout *durationpb.Duration `protobuf:"bytes,2,opt,name=timeout,proto3" json:"timeout,omitempty"`
|
||||||
|
Key string `protobuf:"bytes,3,opt,name=key,proto3" json:"key,omitempty"` //
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Etcd) Reset() {
|
||||||
|
*x = RemoteConfig_Etcd{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_config_proto_msgTypes[2]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Etcd) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*RemoteConfig_Etcd) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Etcd) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_config_proto_msgTypes[2]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use RemoteConfig_Etcd.ProtoReflect.Descriptor instead.
|
||||||
|
func (*RemoteConfig_Etcd) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_config_proto_rawDescGZIP(), []int{0, 1}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Etcd) GetEndpoints() []string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Endpoints
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Etcd) GetTimeout() *durationpb.Duration {
|
||||||
|
if x != nil {
|
||||||
|
return x.Timeout
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Etcd) GetKey() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Key
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
type RemoteConfig_Consul struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Scheme string `protobuf:"bytes,1,opt,name=scheme,proto3" json:"scheme,omitempty"` // 网络样式
|
||||||
|
Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` // 服务端地址
|
||||||
|
Key string `protobuf:"bytes,3,opt,name=key,proto3" json:"key,omitempty"` //
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Consul) Reset() {
|
||||||
|
*x = RemoteConfig_Consul{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_config_proto_msgTypes[3]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Consul) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*RemoteConfig_Consul) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Consul) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_config_proto_msgTypes[3]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use RemoteConfig_Consul.ProtoReflect.Descriptor instead.
|
||||||
|
func (*RemoteConfig_Consul) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_config_proto_rawDescGZIP(), []int{0, 2}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Consul) GetScheme() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Scheme
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Consul) GetAddress() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Address
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Consul) GetKey() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Key
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
type RemoteConfig_Apollo struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
|
||||||
|
AppId string `protobuf:"bytes,2,opt,name=app_id,json=appId,proto3" json:"app_id,omitempty"`
|
||||||
|
Cluster string `protobuf:"bytes,3,opt,name=cluster,proto3" json:"cluster,omitempty"`
|
||||||
|
Namespace string `protobuf:"bytes,4,opt,name=namespace,proto3" json:"namespace,omitempty"`
|
||||||
|
Secret string `protobuf:"bytes,5,opt,name=secret,proto3" json:"secret,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Apollo) Reset() {
|
||||||
|
*x = RemoteConfig_Apollo{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_config_proto_msgTypes[4]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Apollo) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*RemoteConfig_Apollo) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Apollo) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_config_proto_msgTypes[4]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use RemoteConfig_Apollo.ProtoReflect.Descriptor instead.
|
||||||
|
func (*RemoteConfig_Apollo) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_config_proto_rawDescGZIP(), []int{0, 3}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Apollo) GetEndpoint() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Endpoint
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Apollo) GetAppId() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.AppId
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Apollo) GetCluster() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Cluster
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Apollo) GetNamespace() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Namespace
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Apollo) GetSecret() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Secret
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
type RemoteConfig_Kubernetes struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Kubernetes) Reset() {
|
||||||
|
*x = RemoteConfig_Kubernetes{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_config_proto_msgTypes[5]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Kubernetes) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*RemoteConfig_Kubernetes) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Kubernetes) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_config_proto_msgTypes[5]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use RemoteConfig_Kubernetes.ProtoReflect.Descriptor instead.
|
||||||
|
func (*RemoteConfig_Kubernetes) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_config_proto_rawDescGZIP(), []int{0, 4}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Kubernetes) GetNamespace() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Namespace
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
type RemoteConfig_Polaris struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Polaris) Reset() {
|
||||||
|
*x = RemoteConfig_Polaris{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_config_proto_msgTypes[6]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Polaris) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*RemoteConfig_Polaris) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *RemoteConfig_Polaris) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_config_proto_msgTypes[6]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use RemoteConfig_Polaris.ProtoReflect.Descriptor instead.
|
||||||
|
func (*RemoteConfig_Polaris) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_config_proto_rawDescGZIP(), []int{0, 5}
|
||||||
|
}
|
||||||
|
|
||||||
|
var File_conf_v1_config_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
|
var file_conf_v1_config_proto_rawDesc = []byte{
|
||||||
|
0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
|
||||||
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x1a, 0x1e, 0x67, 0x6f,
|
||||||
|
0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75,
|
||||||
|
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa3, 0x06, 0x0a,
|
||||||
|
0x0c, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a,
|
||||||
|
0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70,
|
||||||
|
0x65, 0x12, 0x2b, 0x0a, 0x04, 0x65, 0x74, 0x63, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||||
|
0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e,
|
||||||
|
0x66, 0x69, 0x67, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x52, 0x04, 0x65, 0x74, 0x63, 0x64, 0x12, 0x31,
|
||||||
|
0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
|
||||||
|
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66,
|
||||||
|
0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x73, 0x75,
|
||||||
|
0x6c, 0x12, 0x2e, 0x0a, 0x05, 0x6e, 0x61, 0x63, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
|
||||||
|
0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f,
|
||||||
|
0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x61, 0x63, 0x6f, 0x73, 0x52, 0x05, 0x6e, 0x61, 0x63, 0x6f,
|
||||||
|
0x73, 0x12, 0x31, 0x0a, 0x06, 0x61, 0x70, 0x6f, 0x6c, 0x6c, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28,
|
||||||
|
0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43,
|
||||||
|
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x70, 0x6f, 0x6c, 0x6c, 0x6f, 0x52, 0x06, 0x61, 0x70,
|
||||||
|
0x6f, 0x6c, 0x6c, 0x6f, 0x12, 0x3d, 0x0a, 0x0a, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74,
|
||||||
|
0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e,
|
||||||
|
0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4b, 0x75, 0x62,
|
||||||
|
0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x52, 0x0a, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65,
|
||||||
|
0x74, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x18, 0x08,
|
||||||
|
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x52, 0x65, 0x6d, 0x6f,
|
||||||
|
0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73,
|
||||||
|
0x52, 0x07, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x1a, 0x47, 0x0a, 0x05, 0x4e, 0x61, 0x63,
|
||||||
|
0x6f, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20,
|
||||||
|
0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04,
|
||||||
|
0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74,
|
||||||
|
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
|
||||||
|
0x65, 0x79, 0x1a, 0x6b, 0x0a, 0x04, 0x45, 0x74, 0x63, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e,
|
||||||
|
0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x65,
|
||||||
|
0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65,
|
||||||
|
0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
|
||||||
|
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61,
|
||||||
|
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x10, 0x0a,
|
||||||
|
0x03, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x1a,
|
||||||
|
0x4c, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68,
|
||||||
|
0x65, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d,
|
||||||
|
0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01,
|
||||||
|
0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6b,
|
||||||
|
0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x1a, 0x8b, 0x01,
|
||||||
|
0x0a, 0x06, 0x41, 0x70, 0x6f, 0x6c, 0x6c, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70,
|
||||||
|
0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70,
|
||||||
|
0x6f, 0x69, 0x6e, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02,
|
||||||
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63,
|
||||||
|
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c,
|
||||||
|
0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61,
|
||||||
|
0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70,
|
||||||
|
0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x05, 0x20,
|
||||||
|
0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x1a, 0x2a, 0x0a, 0x0a, 0x4b,
|
||||||
|
0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d,
|
||||||
|
0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61,
|
||||||
|
0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a, 0x09, 0x0a, 0x07, 0x50, 0x6f, 0x6c, 0x61, 0x72,
|
||||||
|
0x69, 0x73, 0x42, 0x23, 0x5a, 0x21, 0x6b, 0x72, 0x61, 0x74, 0x6f, 0x73, 0x2d, 0x62, 0x69, 0x2f,
|
||||||
|
0x67, 0x65, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x2f,
|
||||||
|
0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6e, 0x66, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
file_conf_v1_config_proto_rawDescOnce sync.Once
|
||||||
|
file_conf_v1_config_proto_rawDescData = file_conf_v1_config_proto_rawDesc
|
||||||
|
)
|
||||||
|
|
||||||
|
func file_conf_v1_config_proto_rawDescGZIP() []byte {
|
||||||
|
file_conf_v1_config_proto_rawDescOnce.Do(func() {
|
||||||
|
file_conf_v1_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_conf_v1_config_proto_rawDescData)
|
||||||
|
})
|
||||||
|
return file_conf_v1_config_proto_rawDescData
|
||||||
|
}
|
||||||
|
|
||||||
|
var file_conf_v1_config_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
|
||||||
|
var file_conf_v1_config_proto_goTypes = []interface{}{
|
||||||
|
(*RemoteConfig)(nil), // 0: conf.RemoteConfig
|
||||||
|
(*RemoteConfig_Nacos)(nil), // 1: conf.RemoteConfig.Nacos
|
||||||
|
(*RemoteConfig_Etcd)(nil), // 2: conf.RemoteConfig.Etcd
|
||||||
|
(*RemoteConfig_Consul)(nil), // 3: conf.RemoteConfig.Consul
|
||||||
|
(*RemoteConfig_Apollo)(nil), // 4: conf.RemoteConfig.Apollo
|
||||||
|
(*RemoteConfig_Kubernetes)(nil), // 5: conf.RemoteConfig.Kubernetes
|
||||||
|
(*RemoteConfig_Polaris)(nil), // 6: conf.RemoteConfig.Polaris
|
||||||
|
(*durationpb.Duration)(nil), // 7: google.protobuf.Duration
|
||||||
|
}
|
||||||
|
var file_conf_v1_config_proto_depIdxs = []int32{
|
||||||
|
2, // 0: conf.RemoteConfig.etcd:type_name -> conf.RemoteConfig.Etcd
|
||||||
|
3, // 1: conf.RemoteConfig.consul:type_name -> conf.RemoteConfig.Consul
|
||||||
|
1, // 2: conf.RemoteConfig.nacos:type_name -> conf.RemoteConfig.Nacos
|
||||||
|
4, // 3: conf.RemoteConfig.apollo:type_name -> conf.RemoteConfig.Apollo
|
||||||
|
5, // 4: conf.RemoteConfig.kubernetes:type_name -> conf.RemoteConfig.Kubernetes
|
||||||
|
6, // 5: conf.RemoteConfig.polaris:type_name -> conf.RemoteConfig.Polaris
|
||||||
|
7, // 6: conf.RemoteConfig.Etcd.timeout:type_name -> google.protobuf.Duration
|
||||||
|
7, // [7:7] is the sub-list for method output_type
|
||||||
|
7, // [7:7] is the sub-list for method input_type
|
||||||
|
7, // [7:7] is the sub-list for extension type_name
|
||||||
|
7, // [7:7] is the sub-list for extension extendee
|
||||||
|
0, // [0:7] is the sub-list for field type_name
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() { file_conf_v1_config_proto_init() }
|
||||||
|
func file_conf_v1_config_proto_init() {
|
||||||
|
if File_conf_v1_config_proto != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if !protoimpl.UnsafeEnabled {
|
||||||
|
file_conf_v1_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*RemoteConfig); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*RemoteConfig_Nacos); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*RemoteConfig_Etcd); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*RemoteConfig_Consul); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*RemoteConfig_Apollo); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*RemoteConfig_Kubernetes); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*RemoteConfig_Polaris); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
type x struct{}
|
||||||
|
out := protoimpl.TypeBuilder{
|
||||||
|
File: protoimpl.DescBuilder{
|
||||||
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
|
RawDescriptor: file_conf_v1_config_proto_rawDesc,
|
||||||
|
NumEnums: 0,
|
||||||
|
NumMessages: 7,
|
||||||
|
NumExtensions: 0,
|
||||||
|
NumServices: 0,
|
||||||
|
},
|
||||||
|
GoTypes: file_conf_v1_config_proto_goTypes,
|
||||||
|
DependencyIndexes: file_conf_v1_config_proto_depIdxs,
|
||||||
|
MessageInfos: file_conf_v1_config_proto_msgTypes,
|
||||||
|
}.Build()
|
||||||
|
File_conf_v1_config_proto = out.File
|
||||||
|
file_conf_v1_config_proto_rawDesc = nil
|
||||||
|
file_conf_v1_config_proto_goTypes = nil
|
||||||
|
file_conf_v1_config_proto_depIdxs = nil
|
||||||
|
}
|
||||||
978
gen/api/go/conf/v1/config.pb.validate.go
Normal file
978
gen/api/go/conf/v1/config.pb.validate.go
Normal file
@@ -0,0 +1,978 @@
|
|||||||
|
// Code generated by protoc-gen-validate. DO NOT EDIT.
|
||||||
|
// source: conf/v1/config.proto
|
||||||
|
|
||||||
|
package conf
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
"net"
|
||||||
|
"net/mail"
|
||||||
|
"net/url"
|
||||||
|
"regexp"
|
||||||
|
"sort"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
"unicode/utf8"
|
||||||
|
|
||||||
|
"google.golang.org/protobuf/types/known/anypb"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ensure the imports are used
|
||||||
|
var (
|
||||||
|
_ = bytes.MinRead
|
||||||
|
_ = errors.New("")
|
||||||
|
_ = fmt.Print
|
||||||
|
_ = utf8.UTFMax
|
||||||
|
_ = (*regexp.Regexp)(nil)
|
||||||
|
_ = (*strings.Reader)(nil)
|
||||||
|
_ = net.IPv4len
|
||||||
|
_ = time.Duration(0)
|
||||||
|
_ = (*url.URL)(nil)
|
||||||
|
_ = (*mail.Address)(nil)
|
||||||
|
_ = anypb.Any{}
|
||||||
|
_ = sort.Sort
|
||||||
|
)
|
||||||
|
|
||||||
|
// Validate checks the field values on RemoteConfig with the rules defined in
|
||||||
|
// the proto definition for this message. If any rules are violated, the first
|
||||||
|
// error encountered is returned, or nil if there are no violations.
|
||||||
|
func (m *RemoteConfig) Validate() error {
|
||||||
|
return m.validate(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateAll checks the field values on RemoteConfig with the rules defined
|
||||||
|
// in the proto definition for this message. If any rules are violated, the
|
||||||
|
// result is a list of violation errors wrapped in RemoteConfigMultiError, or
|
||||||
|
// nil if none found.
|
||||||
|
func (m *RemoteConfig) ValidateAll() error {
|
||||||
|
return m.validate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *RemoteConfig) validate(all bool) error {
|
||||||
|
if m == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var errors []error
|
||||||
|
|
||||||
|
// no validation rules for Type
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetEtcd()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, RemoteConfigValidationError{
|
||||||
|
field: "Etcd",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, RemoteConfigValidationError{
|
||||||
|
field: "Etcd",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetEtcd()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return RemoteConfigValidationError{
|
||||||
|
field: "Etcd",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetConsul()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, RemoteConfigValidationError{
|
||||||
|
field: "Consul",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, RemoteConfigValidationError{
|
||||||
|
field: "Consul",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetConsul()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return RemoteConfigValidationError{
|
||||||
|
field: "Consul",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetNacos()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, RemoteConfigValidationError{
|
||||||
|
field: "Nacos",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, RemoteConfigValidationError{
|
||||||
|
field: "Nacos",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetNacos()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return RemoteConfigValidationError{
|
||||||
|
field: "Nacos",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetApollo()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, RemoteConfigValidationError{
|
||||||
|
field: "Apollo",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, RemoteConfigValidationError{
|
||||||
|
field: "Apollo",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetApollo()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return RemoteConfigValidationError{
|
||||||
|
field: "Apollo",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetKubernetes()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, RemoteConfigValidationError{
|
||||||
|
field: "Kubernetes",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, RemoteConfigValidationError{
|
||||||
|
field: "Kubernetes",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetKubernetes()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return RemoteConfigValidationError{
|
||||||
|
field: "Kubernetes",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetPolaris()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, RemoteConfigValidationError{
|
||||||
|
field: "Polaris",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, RemoteConfigValidationError{
|
||||||
|
field: "Polaris",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetPolaris()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return RemoteConfigValidationError{
|
||||||
|
field: "Polaris",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(errors) > 0 {
|
||||||
|
return RemoteConfigMultiError(errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// RemoteConfigMultiError is an error wrapping multiple validation errors
|
||||||
|
// returned by RemoteConfig.ValidateAll() if the designated constraints aren't met.
|
||||||
|
type RemoteConfigMultiError []error
|
||||||
|
|
||||||
|
// Error returns a concatenation of all the error messages it wraps.
|
||||||
|
func (m RemoteConfigMultiError) Error() string {
|
||||||
|
var msgs []string
|
||||||
|
for _, err := range m {
|
||||||
|
msgs = append(msgs, err.Error())
|
||||||
|
}
|
||||||
|
return strings.Join(msgs, "; ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// AllErrors returns a list of validation violation errors.
|
||||||
|
func (m RemoteConfigMultiError) AllErrors() []error { return m }
|
||||||
|
|
||||||
|
// RemoteConfigValidationError is the validation error returned by
|
||||||
|
// RemoteConfig.Validate if the designated constraints aren't met.
|
||||||
|
type RemoteConfigValidationError struct {
|
||||||
|
field string
|
||||||
|
reason string
|
||||||
|
cause error
|
||||||
|
key bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Field function returns field value.
|
||||||
|
func (e RemoteConfigValidationError) Field() string { return e.field }
|
||||||
|
|
||||||
|
// Reason function returns reason value.
|
||||||
|
func (e RemoteConfigValidationError) Reason() string { return e.reason }
|
||||||
|
|
||||||
|
// Cause function returns cause value.
|
||||||
|
func (e RemoteConfigValidationError) Cause() error { return e.cause }
|
||||||
|
|
||||||
|
// Key function returns key value.
|
||||||
|
func (e RemoteConfigValidationError) Key() bool { return e.key }
|
||||||
|
|
||||||
|
// ErrorName returns error name.
|
||||||
|
func (e RemoteConfigValidationError) ErrorName() string { return "RemoteConfigValidationError" }
|
||||||
|
|
||||||
|
// Error satisfies the builtin error interface
|
||||||
|
func (e RemoteConfigValidationError) Error() string {
|
||||||
|
cause := ""
|
||||||
|
if e.cause != nil {
|
||||||
|
cause = fmt.Sprintf(" | caused by: %v", e.cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
key := ""
|
||||||
|
if e.key {
|
||||||
|
key = "key for "
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf(
|
||||||
|
"invalid %sRemoteConfig.%s: %s%s",
|
||||||
|
key,
|
||||||
|
e.field,
|
||||||
|
e.reason,
|
||||||
|
cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = RemoteConfigValidationError{}
|
||||||
|
|
||||||
|
var _ interface {
|
||||||
|
Field() string
|
||||||
|
Reason() string
|
||||||
|
Key() bool
|
||||||
|
Cause() error
|
||||||
|
ErrorName() string
|
||||||
|
} = RemoteConfigValidationError{}
|
||||||
|
|
||||||
|
// Validate checks the field values on RemoteConfig_Nacos with the rules
|
||||||
|
// defined in the proto definition for this message. If any rules are
|
||||||
|
// violated, the first error encountered is returned, or nil if there are no violations.
|
||||||
|
func (m *RemoteConfig_Nacos) Validate() error {
|
||||||
|
return m.validate(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateAll checks the field values on RemoteConfig_Nacos with the rules
|
||||||
|
// defined in the proto definition for this message. If any rules are
|
||||||
|
// violated, the result is a list of violation errors wrapped in
|
||||||
|
// RemoteConfig_NacosMultiError, or nil if none found.
|
||||||
|
func (m *RemoteConfig_Nacos) ValidateAll() error {
|
||||||
|
return m.validate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *RemoteConfig_Nacos) validate(all bool) error {
|
||||||
|
if m == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var errors []error
|
||||||
|
|
||||||
|
// no validation rules for Address
|
||||||
|
|
||||||
|
// no validation rules for Port
|
||||||
|
|
||||||
|
// no validation rules for Key
|
||||||
|
|
||||||
|
if len(errors) > 0 {
|
||||||
|
return RemoteConfig_NacosMultiError(errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// RemoteConfig_NacosMultiError is an error wrapping multiple validation errors
|
||||||
|
// returned by RemoteConfig_Nacos.ValidateAll() if the designated constraints
|
||||||
|
// aren't met.
|
||||||
|
type RemoteConfig_NacosMultiError []error
|
||||||
|
|
||||||
|
// Error returns a concatenation of all the error messages it wraps.
|
||||||
|
func (m RemoteConfig_NacosMultiError) Error() string {
|
||||||
|
var msgs []string
|
||||||
|
for _, err := range m {
|
||||||
|
msgs = append(msgs, err.Error())
|
||||||
|
}
|
||||||
|
return strings.Join(msgs, "; ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// AllErrors returns a list of validation violation errors.
|
||||||
|
func (m RemoteConfig_NacosMultiError) AllErrors() []error { return m }
|
||||||
|
|
||||||
|
// RemoteConfig_NacosValidationError is the validation error returned by
|
||||||
|
// RemoteConfig_Nacos.Validate if the designated constraints aren't met.
|
||||||
|
type RemoteConfig_NacosValidationError struct {
|
||||||
|
field string
|
||||||
|
reason string
|
||||||
|
cause error
|
||||||
|
key bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Field function returns field value.
|
||||||
|
func (e RemoteConfig_NacosValidationError) Field() string { return e.field }
|
||||||
|
|
||||||
|
// Reason function returns reason value.
|
||||||
|
func (e RemoteConfig_NacosValidationError) Reason() string { return e.reason }
|
||||||
|
|
||||||
|
// Cause function returns cause value.
|
||||||
|
func (e RemoteConfig_NacosValidationError) Cause() error { return e.cause }
|
||||||
|
|
||||||
|
// Key function returns key value.
|
||||||
|
func (e RemoteConfig_NacosValidationError) Key() bool { return e.key }
|
||||||
|
|
||||||
|
// ErrorName returns error name.
|
||||||
|
func (e RemoteConfig_NacosValidationError) ErrorName() string {
|
||||||
|
return "RemoteConfig_NacosValidationError"
|
||||||
|
}
|
||||||
|
|
||||||
|
// Error satisfies the builtin error interface
|
||||||
|
func (e RemoteConfig_NacosValidationError) Error() string {
|
||||||
|
cause := ""
|
||||||
|
if e.cause != nil {
|
||||||
|
cause = fmt.Sprintf(" | caused by: %v", e.cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
key := ""
|
||||||
|
if e.key {
|
||||||
|
key = "key for "
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf(
|
||||||
|
"invalid %sRemoteConfig_Nacos.%s: %s%s",
|
||||||
|
key,
|
||||||
|
e.field,
|
||||||
|
e.reason,
|
||||||
|
cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = RemoteConfig_NacosValidationError{}
|
||||||
|
|
||||||
|
var _ interface {
|
||||||
|
Field() string
|
||||||
|
Reason() string
|
||||||
|
Key() bool
|
||||||
|
Cause() error
|
||||||
|
ErrorName() string
|
||||||
|
} = RemoteConfig_NacosValidationError{}
|
||||||
|
|
||||||
|
// Validate checks the field values on RemoteConfig_Etcd with the rules defined
|
||||||
|
// in the proto definition for this message. If any rules are violated, the
|
||||||
|
// first error encountered is returned, or nil if there are no violations.
|
||||||
|
func (m *RemoteConfig_Etcd) Validate() error {
|
||||||
|
return m.validate(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateAll checks the field values on RemoteConfig_Etcd with the rules
|
||||||
|
// defined in the proto definition for this message. If any rules are
|
||||||
|
// violated, the result is a list of violation errors wrapped in
|
||||||
|
// RemoteConfig_EtcdMultiError, or nil if none found.
|
||||||
|
func (m *RemoteConfig_Etcd) ValidateAll() error {
|
||||||
|
return m.validate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *RemoteConfig_Etcd) validate(all bool) error {
|
||||||
|
if m == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var errors []error
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetTimeout()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, RemoteConfig_EtcdValidationError{
|
||||||
|
field: "Timeout",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, RemoteConfig_EtcdValidationError{
|
||||||
|
field: "Timeout",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetTimeout()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return RemoteConfig_EtcdValidationError{
|
||||||
|
field: "Timeout",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// no validation rules for Key
|
||||||
|
|
||||||
|
if len(errors) > 0 {
|
||||||
|
return RemoteConfig_EtcdMultiError(errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// RemoteConfig_EtcdMultiError is an error wrapping multiple validation errors
|
||||||
|
// returned by RemoteConfig_Etcd.ValidateAll() if the designated constraints
|
||||||
|
// aren't met.
|
||||||
|
type RemoteConfig_EtcdMultiError []error
|
||||||
|
|
||||||
|
// Error returns a concatenation of all the error messages it wraps.
|
||||||
|
func (m RemoteConfig_EtcdMultiError) Error() string {
|
||||||
|
var msgs []string
|
||||||
|
for _, err := range m {
|
||||||
|
msgs = append(msgs, err.Error())
|
||||||
|
}
|
||||||
|
return strings.Join(msgs, "; ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// AllErrors returns a list of validation violation errors.
|
||||||
|
func (m RemoteConfig_EtcdMultiError) AllErrors() []error { return m }
|
||||||
|
|
||||||
|
// RemoteConfig_EtcdValidationError is the validation error returned by
|
||||||
|
// RemoteConfig_Etcd.Validate if the designated constraints aren't met.
|
||||||
|
type RemoteConfig_EtcdValidationError struct {
|
||||||
|
field string
|
||||||
|
reason string
|
||||||
|
cause error
|
||||||
|
key bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Field function returns field value.
|
||||||
|
func (e RemoteConfig_EtcdValidationError) Field() string { return e.field }
|
||||||
|
|
||||||
|
// Reason function returns reason value.
|
||||||
|
func (e RemoteConfig_EtcdValidationError) Reason() string { return e.reason }
|
||||||
|
|
||||||
|
// Cause function returns cause value.
|
||||||
|
func (e RemoteConfig_EtcdValidationError) Cause() error { return e.cause }
|
||||||
|
|
||||||
|
// Key function returns key value.
|
||||||
|
func (e RemoteConfig_EtcdValidationError) Key() bool { return e.key }
|
||||||
|
|
||||||
|
// ErrorName returns error name.
|
||||||
|
func (e RemoteConfig_EtcdValidationError) ErrorName() string {
|
||||||
|
return "RemoteConfig_EtcdValidationError"
|
||||||
|
}
|
||||||
|
|
||||||
|
// Error satisfies the builtin error interface
|
||||||
|
func (e RemoteConfig_EtcdValidationError) Error() string {
|
||||||
|
cause := ""
|
||||||
|
if e.cause != nil {
|
||||||
|
cause = fmt.Sprintf(" | caused by: %v", e.cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
key := ""
|
||||||
|
if e.key {
|
||||||
|
key = "key for "
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf(
|
||||||
|
"invalid %sRemoteConfig_Etcd.%s: %s%s",
|
||||||
|
key,
|
||||||
|
e.field,
|
||||||
|
e.reason,
|
||||||
|
cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = RemoteConfig_EtcdValidationError{}
|
||||||
|
|
||||||
|
var _ interface {
|
||||||
|
Field() string
|
||||||
|
Reason() string
|
||||||
|
Key() bool
|
||||||
|
Cause() error
|
||||||
|
ErrorName() string
|
||||||
|
} = RemoteConfig_EtcdValidationError{}
|
||||||
|
|
||||||
|
// Validate checks the field values on RemoteConfig_Consul with the rules
|
||||||
|
// defined in the proto definition for this message. If any rules are
|
||||||
|
// violated, the first error encountered is returned, or nil if there are no violations.
|
||||||
|
func (m *RemoteConfig_Consul) Validate() error {
|
||||||
|
return m.validate(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateAll checks the field values on RemoteConfig_Consul with the rules
|
||||||
|
// defined in the proto definition for this message. If any rules are
|
||||||
|
// violated, the result is a list of violation errors wrapped in
|
||||||
|
// RemoteConfig_ConsulMultiError, or nil if none found.
|
||||||
|
func (m *RemoteConfig_Consul) ValidateAll() error {
|
||||||
|
return m.validate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *RemoteConfig_Consul) validate(all bool) error {
|
||||||
|
if m == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var errors []error
|
||||||
|
|
||||||
|
// no validation rules for Scheme
|
||||||
|
|
||||||
|
// no validation rules for Address
|
||||||
|
|
||||||
|
// no validation rules for Key
|
||||||
|
|
||||||
|
if len(errors) > 0 {
|
||||||
|
return RemoteConfig_ConsulMultiError(errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// RemoteConfig_ConsulMultiError is an error wrapping multiple validation
|
||||||
|
// errors returned by RemoteConfig_Consul.ValidateAll() if the designated
|
||||||
|
// constraints aren't met.
|
||||||
|
type RemoteConfig_ConsulMultiError []error
|
||||||
|
|
||||||
|
// Error returns a concatenation of all the error messages it wraps.
|
||||||
|
func (m RemoteConfig_ConsulMultiError) Error() string {
|
||||||
|
var msgs []string
|
||||||
|
for _, err := range m {
|
||||||
|
msgs = append(msgs, err.Error())
|
||||||
|
}
|
||||||
|
return strings.Join(msgs, "; ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// AllErrors returns a list of validation violation errors.
|
||||||
|
func (m RemoteConfig_ConsulMultiError) AllErrors() []error { return m }
|
||||||
|
|
||||||
|
// RemoteConfig_ConsulValidationError is the validation error returned by
|
||||||
|
// RemoteConfig_Consul.Validate if the designated constraints aren't met.
|
||||||
|
type RemoteConfig_ConsulValidationError struct {
|
||||||
|
field string
|
||||||
|
reason string
|
||||||
|
cause error
|
||||||
|
key bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Field function returns field value.
|
||||||
|
func (e RemoteConfig_ConsulValidationError) Field() string { return e.field }
|
||||||
|
|
||||||
|
// Reason function returns reason value.
|
||||||
|
func (e RemoteConfig_ConsulValidationError) Reason() string { return e.reason }
|
||||||
|
|
||||||
|
// Cause function returns cause value.
|
||||||
|
func (e RemoteConfig_ConsulValidationError) Cause() error { return e.cause }
|
||||||
|
|
||||||
|
// Key function returns key value.
|
||||||
|
func (e RemoteConfig_ConsulValidationError) Key() bool { return e.key }
|
||||||
|
|
||||||
|
// ErrorName returns error name.
|
||||||
|
func (e RemoteConfig_ConsulValidationError) ErrorName() string {
|
||||||
|
return "RemoteConfig_ConsulValidationError"
|
||||||
|
}
|
||||||
|
|
||||||
|
// Error satisfies the builtin error interface
|
||||||
|
func (e RemoteConfig_ConsulValidationError) Error() string {
|
||||||
|
cause := ""
|
||||||
|
if e.cause != nil {
|
||||||
|
cause = fmt.Sprintf(" | caused by: %v", e.cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
key := ""
|
||||||
|
if e.key {
|
||||||
|
key = "key for "
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf(
|
||||||
|
"invalid %sRemoteConfig_Consul.%s: %s%s",
|
||||||
|
key,
|
||||||
|
e.field,
|
||||||
|
e.reason,
|
||||||
|
cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = RemoteConfig_ConsulValidationError{}
|
||||||
|
|
||||||
|
var _ interface {
|
||||||
|
Field() string
|
||||||
|
Reason() string
|
||||||
|
Key() bool
|
||||||
|
Cause() error
|
||||||
|
ErrorName() string
|
||||||
|
} = RemoteConfig_ConsulValidationError{}
|
||||||
|
|
||||||
|
// Validate checks the field values on RemoteConfig_Apollo with the rules
|
||||||
|
// defined in the proto definition for this message. If any rules are
|
||||||
|
// violated, the first error encountered is returned, or nil if there are no violations.
|
||||||
|
func (m *RemoteConfig_Apollo) Validate() error {
|
||||||
|
return m.validate(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateAll checks the field values on RemoteConfig_Apollo with the rules
|
||||||
|
// defined in the proto definition for this message. If any rules are
|
||||||
|
// violated, the result is a list of violation errors wrapped in
|
||||||
|
// RemoteConfig_ApolloMultiError, or nil if none found.
|
||||||
|
func (m *RemoteConfig_Apollo) ValidateAll() error {
|
||||||
|
return m.validate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *RemoteConfig_Apollo) validate(all bool) error {
|
||||||
|
if m == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var errors []error
|
||||||
|
|
||||||
|
// no validation rules for Endpoint
|
||||||
|
|
||||||
|
// no validation rules for AppId
|
||||||
|
|
||||||
|
// no validation rules for Cluster
|
||||||
|
|
||||||
|
// no validation rules for Namespace
|
||||||
|
|
||||||
|
// no validation rules for Secret
|
||||||
|
|
||||||
|
if len(errors) > 0 {
|
||||||
|
return RemoteConfig_ApolloMultiError(errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// RemoteConfig_ApolloMultiError is an error wrapping multiple validation
|
||||||
|
// errors returned by RemoteConfig_Apollo.ValidateAll() if the designated
|
||||||
|
// constraints aren't met.
|
||||||
|
type RemoteConfig_ApolloMultiError []error
|
||||||
|
|
||||||
|
// Error returns a concatenation of all the error messages it wraps.
|
||||||
|
func (m RemoteConfig_ApolloMultiError) Error() string {
|
||||||
|
var msgs []string
|
||||||
|
for _, err := range m {
|
||||||
|
msgs = append(msgs, err.Error())
|
||||||
|
}
|
||||||
|
return strings.Join(msgs, "; ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// AllErrors returns a list of validation violation errors.
|
||||||
|
func (m RemoteConfig_ApolloMultiError) AllErrors() []error { return m }
|
||||||
|
|
||||||
|
// RemoteConfig_ApolloValidationError is the validation error returned by
|
||||||
|
// RemoteConfig_Apollo.Validate if the designated constraints aren't met.
|
||||||
|
type RemoteConfig_ApolloValidationError struct {
|
||||||
|
field string
|
||||||
|
reason string
|
||||||
|
cause error
|
||||||
|
key bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Field function returns field value.
|
||||||
|
func (e RemoteConfig_ApolloValidationError) Field() string { return e.field }
|
||||||
|
|
||||||
|
// Reason function returns reason value.
|
||||||
|
func (e RemoteConfig_ApolloValidationError) Reason() string { return e.reason }
|
||||||
|
|
||||||
|
// Cause function returns cause value.
|
||||||
|
func (e RemoteConfig_ApolloValidationError) Cause() error { return e.cause }
|
||||||
|
|
||||||
|
// Key function returns key value.
|
||||||
|
func (e RemoteConfig_ApolloValidationError) Key() bool { return e.key }
|
||||||
|
|
||||||
|
// ErrorName returns error name.
|
||||||
|
func (e RemoteConfig_ApolloValidationError) ErrorName() string {
|
||||||
|
return "RemoteConfig_ApolloValidationError"
|
||||||
|
}
|
||||||
|
|
||||||
|
// Error satisfies the builtin error interface
|
||||||
|
func (e RemoteConfig_ApolloValidationError) Error() string {
|
||||||
|
cause := ""
|
||||||
|
if e.cause != nil {
|
||||||
|
cause = fmt.Sprintf(" | caused by: %v", e.cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
key := ""
|
||||||
|
if e.key {
|
||||||
|
key = "key for "
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf(
|
||||||
|
"invalid %sRemoteConfig_Apollo.%s: %s%s",
|
||||||
|
key,
|
||||||
|
e.field,
|
||||||
|
e.reason,
|
||||||
|
cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = RemoteConfig_ApolloValidationError{}
|
||||||
|
|
||||||
|
var _ interface {
|
||||||
|
Field() string
|
||||||
|
Reason() string
|
||||||
|
Key() bool
|
||||||
|
Cause() error
|
||||||
|
ErrorName() string
|
||||||
|
} = RemoteConfig_ApolloValidationError{}
|
||||||
|
|
||||||
|
// Validate checks the field values on RemoteConfig_Kubernetes with the rules
|
||||||
|
// defined in the proto definition for this message. If any rules are
|
||||||
|
// violated, the first error encountered is returned, or nil if there are no violations.
|
||||||
|
func (m *RemoteConfig_Kubernetes) Validate() error {
|
||||||
|
return m.validate(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateAll checks the field values on RemoteConfig_Kubernetes with the
|
||||||
|
// rules defined in the proto definition for this message. If any rules are
|
||||||
|
// violated, the result is a list of violation errors wrapped in
|
||||||
|
// RemoteConfig_KubernetesMultiError, or nil if none found.
|
||||||
|
func (m *RemoteConfig_Kubernetes) ValidateAll() error {
|
||||||
|
return m.validate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *RemoteConfig_Kubernetes) validate(all bool) error {
|
||||||
|
if m == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var errors []error
|
||||||
|
|
||||||
|
// no validation rules for Namespace
|
||||||
|
|
||||||
|
if len(errors) > 0 {
|
||||||
|
return RemoteConfig_KubernetesMultiError(errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// RemoteConfig_KubernetesMultiError is an error wrapping multiple validation
|
||||||
|
// errors returned by RemoteConfig_Kubernetes.ValidateAll() if the designated
|
||||||
|
// constraints aren't met.
|
||||||
|
type RemoteConfig_KubernetesMultiError []error
|
||||||
|
|
||||||
|
// Error returns a concatenation of all the error messages it wraps.
|
||||||
|
func (m RemoteConfig_KubernetesMultiError) Error() string {
|
||||||
|
var msgs []string
|
||||||
|
for _, err := range m {
|
||||||
|
msgs = append(msgs, err.Error())
|
||||||
|
}
|
||||||
|
return strings.Join(msgs, "; ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// AllErrors returns a list of validation violation errors.
|
||||||
|
func (m RemoteConfig_KubernetesMultiError) AllErrors() []error { return m }
|
||||||
|
|
||||||
|
// RemoteConfig_KubernetesValidationError is the validation error returned by
|
||||||
|
// RemoteConfig_Kubernetes.Validate if the designated constraints aren't met.
|
||||||
|
type RemoteConfig_KubernetesValidationError struct {
|
||||||
|
field string
|
||||||
|
reason string
|
||||||
|
cause error
|
||||||
|
key bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Field function returns field value.
|
||||||
|
func (e RemoteConfig_KubernetesValidationError) Field() string { return e.field }
|
||||||
|
|
||||||
|
// Reason function returns reason value.
|
||||||
|
func (e RemoteConfig_KubernetesValidationError) Reason() string { return e.reason }
|
||||||
|
|
||||||
|
// Cause function returns cause value.
|
||||||
|
func (e RemoteConfig_KubernetesValidationError) Cause() error { return e.cause }
|
||||||
|
|
||||||
|
// Key function returns key value.
|
||||||
|
func (e RemoteConfig_KubernetesValidationError) Key() bool { return e.key }
|
||||||
|
|
||||||
|
// ErrorName returns error name.
|
||||||
|
func (e RemoteConfig_KubernetesValidationError) ErrorName() string {
|
||||||
|
return "RemoteConfig_KubernetesValidationError"
|
||||||
|
}
|
||||||
|
|
||||||
|
// Error satisfies the builtin error interface
|
||||||
|
func (e RemoteConfig_KubernetesValidationError) Error() string {
|
||||||
|
cause := ""
|
||||||
|
if e.cause != nil {
|
||||||
|
cause = fmt.Sprintf(" | caused by: %v", e.cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
key := ""
|
||||||
|
if e.key {
|
||||||
|
key = "key for "
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf(
|
||||||
|
"invalid %sRemoteConfig_Kubernetes.%s: %s%s",
|
||||||
|
key,
|
||||||
|
e.field,
|
||||||
|
e.reason,
|
||||||
|
cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = RemoteConfig_KubernetesValidationError{}
|
||||||
|
|
||||||
|
var _ interface {
|
||||||
|
Field() string
|
||||||
|
Reason() string
|
||||||
|
Key() bool
|
||||||
|
Cause() error
|
||||||
|
ErrorName() string
|
||||||
|
} = RemoteConfig_KubernetesValidationError{}
|
||||||
|
|
||||||
|
// Validate checks the field values on RemoteConfig_Polaris with the rules
|
||||||
|
// defined in the proto definition for this message. If any rules are
|
||||||
|
// violated, the first error encountered is returned, or nil if there are no violations.
|
||||||
|
func (m *RemoteConfig_Polaris) Validate() error {
|
||||||
|
return m.validate(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateAll checks the field values on RemoteConfig_Polaris with the rules
|
||||||
|
// defined in the proto definition for this message. If any rules are
|
||||||
|
// violated, the result is a list of violation errors wrapped in
|
||||||
|
// RemoteConfig_PolarisMultiError, or nil if none found.
|
||||||
|
func (m *RemoteConfig_Polaris) ValidateAll() error {
|
||||||
|
return m.validate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *RemoteConfig_Polaris) validate(all bool) error {
|
||||||
|
if m == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var errors []error
|
||||||
|
|
||||||
|
if len(errors) > 0 {
|
||||||
|
return RemoteConfig_PolarisMultiError(errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// RemoteConfig_PolarisMultiError is an error wrapping multiple validation
|
||||||
|
// errors returned by RemoteConfig_Polaris.ValidateAll() if the designated
|
||||||
|
// constraints aren't met.
|
||||||
|
type RemoteConfig_PolarisMultiError []error
|
||||||
|
|
||||||
|
// Error returns a concatenation of all the error messages it wraps.
|
||||||
|
func (m RemoteConfig_PolarisMultiError) Error() string {
|
||||||
|
var msgs []string
|
||||||
|
for _, err := range m {
|
||||||
|
msgs = append(msgs, err.Error())
|
||||||
|
}
|
||||||
|
return strings.Join(msgs, "; ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// AllErrors returns a list of validation violation errors.
|
||||||
|
func (m RemoteConfig_PolarisMultiError) AllErrors() []error { return m }
|
||||||
|
|
||||||
|
// RemoteConfig_PolarisValidationError is the validation error returned by
|
||||||
|
// RemoteConfig_Polaris.Validate if the designated constraints aren't met.
|
||||||
|
type RemoteConfig_PolarisValidationError struct {
|
||||||
|
field string
|
||||||
|
reason string
|
||||||
|
cause error
|
||||||
|
key bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Field function returns field value.
|
||||||
|
func (e RemoteConfig_PolarisValidationError) Field() string { return e.field }
|
||||||
|
|
||||||
|
// Reason function returns reason value.
|
||||||
|
func (e RemoteConfig_PolarisValidationError) Reason() string { return e.reason }
|
||||||
|
|
||||||
|
// Cause function returns cause value.
|
||||||
|
func (e RemoteConfig_PolarisValidationError) Cause() error { return e.cause }
|
||||||
|
|
||||||
|
// Key function returns key value.
|
||||||
|
func (e RemoteConfig_PolarisValidationError) Key() bool { return e.key }
|
||||||
|
|
||||||
|
// ErrorName returns error name.
|
||||||
|
func (e RemoteConfig_PolarisValidationError) ErrorName() string {
|
||||||
|
return "RemoteConfig_PolarisValidationError"
|
||||||
|
}
|
||||||
|
|
||||||
|
// Error satisfies the builtin error interface
|
||||||
|
func (e RemoteConfig_PolarisValidationError) Error() string {
|
||||||
|
cause := ""
|
||||||
|
if e.cause != nil {
|
||||||
|
cause = fmt.Sprintf(" | caused by: %v", e.cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
key := ""
|
||||||
|
if e.key {
|
||||||
|
key = "key for "
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf(
|
||||||
|
"invalid %sRemoteConfig_Polaris.%s: %s%s",
|
||||||
|
key,
|
||||||
|
e.field,
|
||||||
|
e.reason,
|
||||||
|
cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = RemoteConfig_PolarisValidationError{}
|
||||||
|
|
||||||
|
var _ interface {
|
||||||
|
Field() string
|
||||||
|
Reason() string
|
||||||
|
Key() bool
|
||||||
|
Cause() error
|
||||||
|
ErrorName() string
|
||||||
|
} = RemoteConfig_PolarisValidationError{}
|
||||||
374
gen/api/go/conf/v1/data.pb.go
Normal file
374
gen/api/go/conf/v1/data.pb.go
Normal file
@@ -0,0 +1,374 @@
|
|||||||
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
|
// versions:
|
||||||
|
// protoc-gen-go v1.30.0
|
||||||
|
// protoc (unknown)
|
||||||
|
// source: conf/v1/data.proto
|
||||||
|
|
||||||
|
package conf
|
||||||
|
|
||||||
|
import (
|
||||||
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||||
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||||
|
durationpb "google.golang.org/protobuf/types/known/durationpb"
|
||||||
|
reflect "reflect"
|
||||||
|
sync "sync"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
// Verify that this generated code is sufficiently up-to-date.
|
||||||
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||||
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||||
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||||
|
)
|
||||||
|
|
||||||
|
// 数据
|
||||||
|
type Data struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Database *Data_Database `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"` // 数据库
|
||||||
|
Redis *Data_Redis `protobuf:"bytes,2,opt,name=redis,proto3" json:"redis,omitempty"` // Redis
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Data) Reset() {
|
||||||
|
*x = Data{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_data_proto_msgTypes[0]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Data) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Data) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Data) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_data_proto_msgTypes[0]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Data.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Data) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_data_proto_rawDescGZIP(), []int{0}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Data) GetDatabase() *Data_Database {
|
||||||
|
if x != nil {
|
||||||
|
return x.Database
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Data) GetRedis() *Data_Redis {
|
||||||
|
if x != nil {
|
||||||
|
return x.Redis
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// 数据库
|
||||||
|
type Data_Database struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Driver string `protobuf:"bytes,1,opt,name=driver,proto3" json:"driver,omitempty"` // 驱动名:mysql、postgresql、mongodb、sqlite……
|
||||||
|
Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` // 数据源(DSN字符串)
|
||||||
|
Migrate bool `protobuf:"varint,3,opt,name=migrate,proto3" json:"migrate,omitempty"` // 数据迁移开关
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Data_Database) Reset() {
|
||||||
|
*x = Data_Database{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_data_proto_msgTypes[1]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Data_Database) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Data_Database) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Data_Database) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_data_proto_msgTypes[1]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Data_Database.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Data_Database) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_data_proto_rawDescGZIP(), []int{0, 0}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Data_Database) GetDriver() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Driver
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Data_Database) GetSource() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Source
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Data_Database) GetMigrate() bool {
|
||||||
|
if x != nil {
|
||||||
|
return x.Migrate
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// redis
|
||||||
|
type Data_Redis struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Network string `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"` // 网络
|
||||||
|
Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"` // 服务端地址
|
||||||
|
Password string `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"` // 密码
|
||||||
|
Db int32 `protobuf:"varint,4,opt,name=db,proto3" json:"db,omitempty"` // 数据库索引
|
||||||
|
DialTimeout *durationpb.Duration `protobuf:"bytes,5,opt,name=dial_timeout,json=dialTimeout,proto3" json:"dial_timeout,omitempty"` // 连接超时时间
|
||||||
|
ReadTimeout *durationpb.Duration `protobuf:"bytes,6,opt,name=read_timeout,json=readTimeout,proto3" json:"read_timeout,omitempty"` // 读取超时时间
|
||||||
|
WriteTimeout *durationpb.Duration `protobuf:"bytes,7,opt,name=write_timeout,json=writeTimeout,proto3" json:"write_timeout,omitempty"` // 写入超时时间
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Data_Redis) Reset() {
|
||||||
|
*x = Data_Redis{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_data_proto_msgTypes[2]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Data_Redis) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Data_Redis) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Data_Redis) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_data_proto_msgTypes[2]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Data_Redis.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Data_Redis) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_data_proto_rawDescGZIP(), []int{0, 1}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Data_Redis) GetNetwork() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Network
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Data_Redis) GetAddr() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Addr
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Data_Redis) GetPassword() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Password
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Data_Redis) GetDb() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Db
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Data_Redis) GetDialTimeout() *durationpb.Duration {
|
||||||
|
if x != nil {
|
||||||
|
return x.DialTimeout
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Data_Redis) GetReadTimeout() *durationpb.Duration {
|
||||||
|
if x != nil {
|
||||||
|
return x.ReadTimeout
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Data_Redis) GetWriteTimeout() *durationpb.Duration {
|
||||||
|
if x != nil {
|
||||||
|
return x.WriteTimeout
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var File_conf_v1_data_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
|
var file_conf_v1_data_proto_rawDesc = []byte{
|
||||||
|
0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70,
|
||||||
|
0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67,
|
||||||
|
0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61,
|
||||||
|
0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd5, 0x03, 0x0a, 0x04, 0x44,
|
||||||
|
0x61, 0x74, 0x61, 0x12, 0x2f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18,
|
||||||
|
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x44, 0x61, 0x74,
|
||||||
|
0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61,
|
||||||
|
0x62, 0x61, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x05, 0x72, 0x65, 0x64, 0x69, 0x73, 0x18, 0x02, 0x20,
|
||||||
|
0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x2e,
|
||||||
|
0x52, 0x65, 0x64, 0x69, 0x73, 0x52, 0x05, 0x72, 0x65, 0x64, 0x69, 0x73, 0x1a, 0x54, 0x0a, 0x08,
|
||||||
|
0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x72, 0x69, 0x76,
|
||||||
|
0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72,
|
||||||
|
0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
|
||||||
|
0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x69, 0x67, 0x72,
|
||||||
|
0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6d, 0x69, 0x67, 0x72, 0x61,
|
||||||
|
0x74, 0x65, 0x1a, 0x9d, 0x02, 0x0a, 0x05, 0x52, 0x65, 0x64, 0x69, 0x73, 0x12, 0x18, 0x0a, 0x07,
|
||||||
|
0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e,
|
||||||
|
0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02,
|
||||||
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61,
|
||||||
|
0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61,
|
||||||
|
0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x64, 0x62, 0x18, 0x04, 0x20, 0x01,
|
||||||
|
0x28, 0x05, 0x52, 0x02, 0x64, 0x62, 0x12, 0x3c, 0x0a, 0x0c, 0x64, 0x69, 0x61, 0x6c, 0x5f, 0x74,
|
||||||
|
0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67,
|
||||||
|
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44,
|
||||||
|
0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x6c, 0x54, 0x69, 0x6d,
|
||||||
|
0x65, 0x6f, 0x75, 0x74, 0x12, 0x3c, 0x0a, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d,
|
||||||
|
0x65, 0x6f, 0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f,
|
||||||
|
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72,
|
||||||
|
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x6f,
|
||||||
|
0x75, 0x74, 0x12, 0x3e, 0x0a, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65,
|
||||||
|
0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
|
||||||
|
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61,
|
||||||
|
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f,
|
||||||
|
0x75, 0x74, 0x42, 0x23, 0x5a, 0x21, 0x6b, 0x72, 0x61, 0x74, 0x6f, 0x73, 0x2d, 0x62, 0x69, 0x2f,
|
||||||
|
0x67, 0x65, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x2f,
|
||||||
|
0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6e, 0x66, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
file_conf_v1_data_proto_rawDescOnce sync.Once
|
||||||
|
file_conf_v1_data_proto_rawDescData = file_conf_v1_data_proto_rawDesc
|
||||||
|
)
|
||||||
|
|
||||||
|
func file_conf_v1_data_proto_rawDescGZIP() []byte {
|
||||||
|
file_conf_v1_data_proto_rawDescOnce.Do(func() {
|
||||||
|
file_conf_v1_data_proto_rawDescData = protoimpl.X.CompressGZIP(file_conf_v1_data_proto_rawDescData)
|
||||||
|
})
|
||||||
|
return file_conf_v1_data_proto_rawDescData
|
||||||
|
}
|
||||||
|
|
||||||
|
var file_conf_v1_data_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
|
||||||
|
var file_conf_v1_data_proto_goTypes = []interface{}{
|
||||||
|
(*Data)(nil), // 0: conf.Data
|
||||||
|
(*Data_Database)(nil), // 1: conf.Data.Database
|
||||||
|
(*Data_Redis)(nil), // 2: conf.Data.Redis
|
||||||
|
(*durationpb.Duration)(nil), // 3: google.protobuf.Duration
|
||||||
|
}
|
||||||
|
var file_conf_v1_data_proto_depIdxs = []int32{
|
||||||
|
1, // 0: conf.Data.database:type_name -> conf.Data.Database
|
||||||
|
2, // 1: conf.Data.redis:type_name -> conf.Data.Redis
|
||||||
|
3, // 2: conf.Data.Redis.dial_timeout:type_name -> google.protobuf.Duration
|
||||||
|
3, // 3: conf.Data.Redis.read_timeout:type_name -> google.protobuf.Duration
|
||||||
|
3, // 4: conf.Data.Redis.write_timeout:type_name -> google.protobuf.Duration
|
||||||
|
5, // [5:5] is the sub-list for method output_type
|
||||||
|
5, // [5:5] is the sub-list for method input_type
|
||||||
|
5, // [5:5] is the sub-list for extension type_name
|
||||||
|
5, // [5:5] is the sub-list for extension extendee
|
||||||
|
0, // [0:5] is the sub-list for field type_name
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() { file_conf_v1_data_proto_init() }
|
||||||
|
func file_conf_v1_data_proto_init() {
|
||||||
|
if File_conf_v1_data_proto != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if !protoimpl.UnsafeEnabled {
|
||||||
|
file_conf_v1_data_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Data); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_data_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Data_Database); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_data_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Data_Redis); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
type x struct{}
|
||||||
|
out := protoimpl.TypeBuilder{
|
||||||
|
File: protoimpl.DescBuilder{
|
||||||
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
|
RawDescriptor: file_conf_v1_data_proto_rawDesc,
|
||||||
|
NumEnums: 0,
|
||||||
|
NumMessages: 3,
|
||||||
|
NumExtensions: 0,
|
||||||
|
NumServices: 0,
|
||||||
|
},
|
||||||
|
GoTypes: file_conf_v1_data_proto_goTypes,
|
||||||
|
DependencyIndexes: file_conf_v1_data_proto_depIdxs,
|
||||||
|
MessageInfos: file_conf_v1_data_proto_msgTypes,
|
||||||
|
}.Build()
|
||||||
|
File_conf_v1_data_proto = out.File
|
||||||
|
file_conf_v1_data_proto_rawDesc = nil
|
||||||
|
file_conf_v1_data_proto_goTypes = nil
|
||||||
|
file_conf_v1_data_proto_depIdxs = nil
|
||||||
|
}
|
||||||
492
gen/api/go/conf/v1/data.pb.validate.go
Normal file
492
gen/api/go/conf/v1/data.pb.validate.go
Normal file
@@ -0,0 +1,492 @@
|
|||||||
|
// Code generated by protoc-gen-validate. DO NOT EDIT.
|
||||||
|
// source: conf/v1/data.proto
|
||||||
|
|
||||||
|
package conf
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
"net"
|
||||||
|
"net/mail"
|
||||||
|
"net/url"
|
||||||
|
"regexp"
|
||||||
|
"sort"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
"unicode/utf8"
|
||||||
|
|
||||||
|
"google.golang.org/protobuf/types/known/anypb"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ensure the imports are used
|
||||||
|
var (
|
||||||
|
_ = bytes.MinRead
|
||||||
|
_ = errors.New("")
|
||||||
|
_ = fmt.Print
|
||||||
|
_ = utf8.UTFMax
|
||||||
|
_ = (*regexp.Regexp)(nil)
|
||||||
|
_ = (*strings.Reader)(nil)
|
||||||
|
_ = net.IPv4len
|
||||||
|
_ = time.Duration(0)
|
||||||
|
_ = (*url.URL)(nil)
|
||||||
|
_ = (*mail.Address)(nil)
|
||||||
|
_ = anypb.Any{}
|
||||||
|
_ = sort.Sort
|
||||||
|
)
|
||||||
|
|
||||||
|
// Validate checks the field values on Data with the rules defined in the proto
|
||||||
|
// definition for this message. If any rules are violated, the first error
|
||||||
|
// encountered is returned, or nil if there are no violations.
|
||||||
|
func (m *Data) Validate() error {
|
||||||
|
return m.validate(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateAll checks the field values on Data with the rules defined in the
|
||||||
|
// proto definition for this message. If any rules are violated, the result is
|
||||||
|
// a list of violation errors wrapped in DataMultiError, or nil if none found.
|
||||||
|
func (m *Data) ValidateAll() error {
|
||||||
|
return m.validate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Data) validate(all bool) error {
|
||||||
|
if m == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var errors []error
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetDatabase()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, DataValidationError{
|
||||||
|
field: "Database",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, DataValidationError{
|
||||||
|
field: "Database",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetDatabase()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return DataValidationError{
|
||||||
|
field: "Database",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetRedis()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, DataValidationError{
|
||||||
|
field: "Redis",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, DataValidationError{
|
||||||
|
field: "Redis",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetRedis()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return DataValidationError{
|
||||||
|
field: "Redis",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(errors) > 0 {
|
||||||
|
return DataMultiError(errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// DataMultiError is an error wrapping multiple validation errors returned by
|
||||||
|
// Data.ValidateAll() if the designated constraints aren't met.
|
||||||
|
type DataMultiError []error
|
||||||
|
|
||||||
|
// Error returns a concatenation of all the error messages it wraps.
|
||||||
|
func (m DataMultiError) Error() string {
|
||||||
|
var msgs []string
|
||||||
|
for _, err := range m {
|
||||||
|
msgs = append(msgs, err.Error())
|
||||||
|
}
|
||||||
|
return strings.Join(msgs, "; ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// AllErrors returns a list of validation violation errors.
|
||||||
|
func (m DataMultiError) AllErrors() []error { return m }
|
||||||
|
|
||||||
|
// DataValidationError is the validation error returned by Data.Validate if the
|
||||||
|
// designated constraints aren't met.
|
||||||
|
type DataValidationError struct {
|
||||||
|
field string
|
||||||
|
reason string
|
||||||
|
cause error
|
||||||
|
key bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Field function returns field value.
|
||||||
|
func (e DataValidationError) Field() string { return e.field }
|
||||||
|
|
||||||
|
// Reason function returns reason value.
|
||||||
|
func (e DataValidationError) Reason() string { return e.reason }
|
||||||
|
|
||||||
|
// Cause function returns cause value.
|
||||||
|
func (e DataValidationError) Cause() error { return e.cause }
|
||||||
|
|
||||||
|
// Key function returns key value.
|
||||||
|
func (e DataValidationError) Key() bool { return e.key }
|
||||||
|
|
||||||
|
// ErrorName returns error name.
|
||||||
|
func (e DataValidationError) ErrorName() string { return "DataValidationError" }
|
||||||
|
|
||||||
|
// Error satisfies the builtin error interface
|
||||||
|
func (e DataValidationError) Error() string {
|
||||||
|
cause := ""
|
||||||
|
if e.cause != nil {
|
||||||
|
cause = fmt.Sprintf(" | caused by: %v", e.cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
key := ""
|
||||||
|
if e.key {
|
||||||
|
key = "key for "
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf(
|
||||||
|
"invalid %sData.%s: %s%s",
|
||||||
|
key,
|
||||||
|
e.field,
|
||||||
|
e.reason,
|
||||||
|
cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = DataValidationError{}
|
||||||
|
|
||||||
|
var _ interface {
|
||||||
|
Field() string
|
||||||
|
Reason() string
|
||||||
|
Key() bool
|
||||||
|
Cause() error
|
||||||
|
ErrorName() string
|
||||||
|
} = DataValidationError{}
|
||||||
|
|
||||||
|
// Validate checks the field values on Data_Database with the rules defined in
|
||||||
|
// the proto definition for this message. If any rules are violated, the first
|
||||||
|
// error encountered is returned, or nil if there are no violations.
|
||||||
|
func (m *Data_Database) Validate() error {
|
||||||
|
return m.validate(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateAll checks the field values on Data_Database with the rules defined
|
||||||
|
// in the proto definition for this message. If any rules are violated, the
|
||||||
|
// result is a list of violation errors wrapped in Data_DatabaseMultiError, or
|
||||||
|
// nil if none found.
|
||||||
|
func (m *Data_Database) ValidateAll() error {
|
||||||
|
return m.validate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Data_Database) validate(all bool) error {
|
||||||
|
if m == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var errors []error
|
||||||
|
|
||||||
|
// no validation rules for Driver
|
||||||
|
|
||||||
|
// no validation rules for Source
|
||||||
|
|
||||||
|
// no validation rules for Migrate
|
||||||
|
|
||||||
|
if len(errors) > 0 {
|
||||||
|
return Data_DatabaseMultiError(errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Data_DatabaseMultiError is an error wrapping multiple validation errors
|
||||||
|
// returned by Data_Database.ValidateAll() if the designated constraints
|
||||||
|
// aren't met.
|
||||||
|
type Data_DatabaseMultiError []error
|
||||||
|
|
||||||
|
// Error returns a concatenation of all the error messages it wraps.
|
||||||
|
func (m Data_DatabaseMultiError) Error() string {
|
||||||
|
var msgs []string
|
||||||
|
for _, err := range m {
|
||||||
|
msgs = append(msgs, err.Error())
|
||||||
|
}
|
||||||
|
return strings.Join(msgs, "; ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// AllErrors returns a list of validation violation errors.
|
||||||
|
func (m Data_DatabaseMultiError) AllErrors() []error { return m }
|
||||||
|
|
||||||
|
// Data_DatabaseValidationError is the validation error returned by
|
||||||
|
// Data_Database.Validate if the designated constraints aren't met.
|
||||||
|
type Data_DatabaseValidationError struct {
|
||||||
|
field string
|
||||||
|
reason string
|
||||||
|
cause error
|
||||||
|
key bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Field function returns field value.
|
||||||
|
func (e Data_DatabaseValidationError) Field() string { return e.field }
|
||||||
|
|
||||||
|
// Reason function returns reason value.
|
||||||
|
func (e Data_DatabaseValidationError) Reason() string { return e.reason }
|
||||||
|
|
||||||
|
// Cause function returns cause value.
|
||||||
|
func (e Data_DatabaseValidationError) Cause() error { return e.cause }
|
||||||
|
|
||||||
|
// Key function returns key value.
|
||||||
|
func (e Data_DatabaseValidationError) Key() bool { return e.key }
|
||||||
|
|
||||||
|
// ErrorName returns error name.
|
||||||
|
func (e Data_DatabaseValidationError) ErrorName() string { return "Data_DatabaseValidationError" }
|
||||||
|
|
||||||
|
// Error satisfies the builtin error interface
|
||||||
|
func (e Data_DatabaseValidationError) Error() string {
|
||||||
|
cause := ""
|
||||||
|
if e.cause != nil {
|
||||||
|
cause = fmt.Sprintf(" | caused by: %v", e.cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
key := ""
|
||||||
|
if e.key {
|
||||||
|
key = "key for "
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf(
|
||||||
|
"invalid %sData_Database.%s: %s%s",
|
||||||
|
key,
|
||||||
|
e.field,
|
||||||
|
e.reason,
|
||||||
|
cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = Data_DatabaseValidationError{}
|
||||||
|
|
||||||
|
var _ interface {
|
||||||
|
Field() string
|
||||||
|
Reason() string
|
||||||
|
Key() bool
|
||||||
|
Cause() error
|
||||||
|
ErrorName() string
|
||||||
|
} = Data_DatabaseValidationError{}
|
||||||
|
|
||||||
|
// Validate checks the field values on Data_Redis with the rules defined in the
|
||||||
|
// proto definition for this message. If any rules are violated, the first
|
||||||
|
// error encountered is returned, or nil if there are no violations.
|
||||||
|
func (m *Data_Redis) Validate() error {
|
||||||
|
return m.validate(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateAll checks the field values on Data_Redis with the rules defined in
|
||||||
|
// the proto definition for this message. If any rules are violated, the
|
||||||
|
// result is a list of violation errors wrapped in Data_RedisMultiError, or
|
||||||
|
// nil if none found.
|
||||||
|
func (m *Data_Redis) ValidateAll() error {
|
||||||
|
return m.validate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Data_Redis) validate(all bool) error {
|
||||||
|
if m == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var errors []error
|
||||||
|
|
||||||
|
// no validation rules for Network
|
||||||
|
|
||||||
|
// no validation rules for Addr
|
||||||
|
|
||||||
|
// no validation rules for Password
|
||||||
|
|
||||||
|
// no validation rules for Db
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetDialTimeout()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, Data_RedisValidationError{
|
||||||
|
field: "DialTimeout",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, Data_RedisValidationError{
|
||||||
|
field: "DialTimeout",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetDialTimeout()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return Data_RedisValidationError{
|
||||||
|
field: "DialTimeout",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetReadTimeout()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, Data_RedisValidationError{
|
||||||
|
field: "ReadTimeout",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, Data_RedisValidationError{
|
||||||
|
field: "ReadTimeout",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetReadTimeout()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return Data_RedisValidationError{
|
||||||
|
field: "ReadTimeout",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetWriteTimeout()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, Data_RedisValidationError{
|
||||||
|
field: "WriteTimeout",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, Data_RedisValidationError{
|
||||||
|
field: "WriteTimeout",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetWriteTimeout()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return Data_RedisValidationError{
|
||||||
|
field: "WriteTimeout",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(errors) > 0 {
|
||||||
|
return Data_RedisMultiError(errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Data_RedisMultiError is an error wrapping multiple validation errors
|
||||||
|
// returned by Data_Redis.ValidateAll() if the designated constraints aren't met.
|
||||||
|
type Data_RedisMultiError []error
|
||||||
|
|
||||||
|
// Error returns a concatenation of all the error messages it wraps.
|
||||||
|
func (m Data_RedisMultiError) Error() string {
|
||||||
|
var msgs []string
|
||||||
|
for _, err := range m {
|
||||||
|
msgs = append(msgs, err.Error())
|
||||||
|
}
|
||||||
|
return strings.Join(msgs, "; ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// AllErrors returns a list of validation violation errors.
|
||||||
|
func (m Data_RedisMultiError) AllErrors() []error { return m }
|
||||||
|
|
||||||
|
// Data_RedisValidationError is the validation error returned by
|
||||||
|
// Data_Redis.Validate if the designated constraints aren't met.
|
||||||
|
type Data_RedisValidationError struct {
|
||||||
|
field string
|
||||||
|
reason string
|
||||||
|
cause error
|
||||||
|
key bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Field function returns field value.
|
||||||
|
func (e Data_RedisValidationError) Field() string { return e.field }
|
||||||
|
|
||||||
|
// Reason function returns reason value.
|
||||||
|
func (e Data_RedisValidationError) Reason() string { return e.reason }
|
||||||
|
|
||||||
|
// Cause function returns cause value.
|
||||||
|
func (e Data_RedisValidationError) Cause() error { return e.cause }
|
||||||
|
|
||||||
|
// Key function returns key value.
|
||||||
|
func (e Data_RedisValidationError) Key() bool { return e.key }
|
||||||
|
|
||||||
|
// ErrorName returns error name.
|
||||||
|
func (e Data_RedisValidationError) ErrorName() string { return "Data_RedisValidationError" }
|
||||||
|
|
||||||
|
// Error satisfies the builtin error interface
|
||||||
|
func (e Data_RedisValidationError) Error() string {
|
||||||
|
cause := ""
|
||||||
|
if e.cause != nil {
|
||||||
|
cause = fmt.Sprintf(" | caused by: %v", e.cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
key := ""
|
||||||
|
if e.key {
|
||||||
|
key = "key for "
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf(
|
||||||
|
"invalid %sData_Redis.%s: %s%s",
|
||||||
|
key,
|
||||||
|
e.field,
|
||||||
|
e.reason,
|
||||||
|
cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = Data_RedisValidationError{}
|
||||||
|
|
||||||
|
var _ interface {
|
||||||
|
Field() string
|
||||||
|
Reason() string
|
||||||
|
Key() bool
|
||||||
|
Cause() error
|
||||||
|
ErrorName() string
|
||||||
|
} = Data_RedisValidationError{}
|
||||||
660
gen/api/go/conf/v1/logger.pb.go
Normal file
660
gen/api/go/conf/v1/logger.pb.go
Normal file
@@ -0,0 +1,660 @@
|
|||||||
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
|
// versions:
|
||||||
|
// protoc-gen-go v1.30.0
|
||||||
|
// protoc (unknown)
|
||||||
|
// source: conf/v1/logger.proto
|
||||||
|
|
||||||
|
package conf
|
||||||
|
|
||||||
|
import (
|
||||||
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||||
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||||
|
reflect "reflect"
|
||||||
|
sync "sync"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
// Verify that this generated code is sufficiently up-to-date.
|
||||||
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||||
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||||
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||||
|
)
|
||||||
|
|
||||||
|
// 日志
|
||||||
|
type Logger struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
|
||||||
|
Zap *Logger_Zap `protobuf:"bytes,2,opt,name=zap,proto3" json:"zap,omitempty"`
|
||||||
|
Logrus *Logger_Logrus `protobuf:"bytes,3,opt,name=logrus,proto3" json:"logrus,omitempty"`
|
||||||
|
Fluent *Logger_Fluent `protobuf:"bytes,4,opt,name=fluent,proto3" json:"fluent,omitempty"`
|
||||||
|
Aliyun *Logger_Aliyun `protobuf:"bytes,5,opt,name=aliyun,proto3" json:"aliyun,omitempty"`
|
||||||
|
Tencent *Logger_Tencent `protobuf:"bytes,6,opt,name=tencent,proto3" json:"tencent,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger) Reset() {
|
||||||
|
*x = Logger{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_logger_proto_msgTypes[0]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Logger) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Logger) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_logger_proto_msgTypes[0]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Logger.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Logger) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_logger_proto_rawDescGZIP(), []int{0}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger) GetType() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Type
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger) GetZap() *Logger_Zap {
|
||||||
|
if x != nil {
|
||||||
|
return x.Zap
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger) GetLogrus() *Logger_Logrus {
|
||||||
|
if x != nil {
|
||||||
|
return x.Logrus
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger) GetFluent() *Logger_Fluent {
|
||||||
|
if x != nil {
|
||||||
|
return x.Fluent
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger) GetAliyun() *Logger_Aliyun {
|
||||||
|
if x != nil {
|
||||||
|
return x.Aliyun
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger) GetTencent() *Logger_Tencent {
|
||||||
|
if x != nil {
|
||||||
|
return x.Tencent
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Zap
|
||||||
|
type Logger_Zap struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"` //
|
||||||
|
Level string `protobuf:"bytes,2,opt,name=level,proto3" json:"level,omitempty"` //
|
||||||
|
MaxSize int32 `protobuf:"varint,3,opt,name=max_size,json=maxSize,proto3" json:"max_size,omitempty"` //
|
||||||
|
MaxAge int32 `protobuf:"varint,4,opt,name=max_age,json=maxAge,proto3" json:"max_age,omitempty"` //
|
||||||
|
MaxBackups int32 `protobuf:"varint,5,opt,name=max_backups,json=maxBackups,proto3" json:"max_backups,omitempty"` //
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Zap) Reset() {
|
||||||
|
*x = Logger_Zap{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_logger_proto_msgTypes[1]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Zap) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Logger_Zap) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Logger_Zap) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_logger_proto_msgTypes[1]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Logger_Zap.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Logger_Zap) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_logger_proto_rawDescGZIP(), []int{0, 0}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Zap) GetFilename() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Filename
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Zap) GetLevel() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Level
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Zap) GetMaxSize() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.MaxSize
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Zap) GetMaxAge() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.MaxAge
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Zap) GetMaxBackups() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.MaxBackups
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// logrus
|
||||||
|
type Logger_Logrus struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Level string `protobuf:"bytes,1,opt,name=level,proto3" json:"level,omitempty"` // 日志等级
|
||||||
|
Formatter string `protobuf:"bytes,2,opt,name=formatter,proto3" json:"formatter,omitempty"` // 输出格式:text, json.
|
||||||
|
TimestampFormat string `protobuf:"bytes,3,opt,name=timestamp_format,json=timestampFormat,proto3" json:"timestamp_format,omitempty"` // 定义时间戳格式,例如:"2006-01-02 15:04:05"
|
||||||
|
DisableColors bool `protobuf:"varint,4,opt,name=disable_colors,json=disableColors,proto3" json:"disable_colors,omitempty"` // 不需要彩色日志
|
||||||
|
DisableTimestamp bool `protobuf:"varint,5,opt,name=disable_timestamp,json=disableTimestamp,proto3" json:"disable_timestamp,omitempty"` // 不需要时间戳
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Logrus) Reset() {
|
||||||
|
*x = Logger_Logrus{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_logger_proto_msgTypes[2]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Logrus) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Logger_Logrus) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Logger_Logrus) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_logger_proto_msgTypes[2]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Logger_Logrus.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Logger_Logrus) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_logger_proto_rawDescGZIP(), []int{0, 1}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Logrus) GetLevel() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Level
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Logrus) GetFormatter() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Formatter
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Logrus) GetTimestampFormat() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.TimestampFormat
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Logrus) GetDisableColors() bool {
|
||||||
|
if x != nil {
|
||||||
|
return x.DisableColors
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Logrus) GetDisableTimestamp() bool {
|
||||||
|
if x != nil {
|
||||||
|
return x.DisableTimestamp
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fluent
|
||||||
|
type Logger_Fluent struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` // 公网接入地址
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Fluent) Reset() {
|
||||||
|
*x = Logger_Fluent{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_logger_proto_msgTypes[3]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Fluent) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Logger_Fluent) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Logger_Fluent) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_logger_proto_msgTypes[3]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Logger_Fluent.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Logger_Fluent) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_logger_proto_rawDescGZIP(), []int{0, 2}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Fluent) GetEndpoint() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Endpoint
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
// 阿里云
|
||||||
|
type Logger_Aliyun struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` // 公网接入地址
|
||||||
|
Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"` //
|
||||||
|
AccessKey string `protobuf:"bytes,3,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"` // 访问密钥ID
|
||||||
|
AccessSecret string `protobuf:"bytes,4,opt,name=access_secret,json=accessSecret,proto3" json:"access_secret,omitempty"` // 访问密钥
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Aliyun) Reset() {
|
||||||
|
*x = Logger_Aliyun{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_logger_proto_msgTypes[4]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Aliyun) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Logger_Aliyun) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Logger_Aliyun) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_logger_proto_msgTypes[4]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Logger_Aliyun.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Logger_Aliyun) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_logger_proto_rawDescGZIP(), []int{0, 3}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Aliyun) GetEndpoint() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Endpoint
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Aliyun) GetProject() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Project
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Aliyun) GetAccessKey() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.AccessKey
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Aliyun) GetAccessSecret() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.AccessSecret
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
// 腾讯
|
||||||
|
type Logger_Tencent struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` // 公网接入地址
|
||||||
|
TopicId string `protobuf:"bytes,2,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"` //
|
||||||
|
AccessKey string `protobuf:"bytes,3,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"` // 访问密钥ID
|
||||||
|
AccessSecret string `protobuf:"bytes,4,opt,name=access_secret,json=accessSecret,proto3" json:"access_secret,omitempty"` // 访问密钥
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Tencent) Reset() {
|
||||||
|
*x = Logger_Tencent{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_logger_proto_msgTypes[5]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Tencent) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Logger_Tencent) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Logger_Tencent) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_logger_proto_msgTypes[5]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Logger_Tencent.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Logger_Tencent) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_logger_proto_rawDescGZIP(), []int{0, 4}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Tencent) GetEndpoint() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Endpoint
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Tencent) GetTopicId() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.TopicId
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Tencent) GetAccessKey() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.AccessKey
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Logger_Tencent) GetAccessSecret() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.AccessSecret
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
var File_conf_v1_logger_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
|
var file_conf_v1_logger_proto_rawDesc = []byte{
|
||||||
|
0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72,
|
||||||
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x22, 0xf6, 0x06, 0x0a,
|
||||||
|
0x06, 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
|
||||||
|
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x03, 0x7a,
|
||||||
|
0x61, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e,
|
||||||
|
0x4c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x5a, 0x61, 0x70, 0x52, 0x03, 0x7a, 0x61, 0x70, 0x12,
|
||||||
|
0x2b, 0x0a, 0x06, 0x6c, 0x6f, 0x67, 0x72, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||||
|
0x13, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x4c, 0x6f,
|
||||||
|
0x67, 0x72, 0x75, 0x73, 0x52, 0x06, 0x6c, 0x6f, 0x67, 0x72, 0x75, 0x73, 0x12, 0x2b, 0x0a, 0x06,
|
||||||
|
0x66, 0x6c, 0x75, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63,
|
||||||
|
0x6f, 0x6e, 0x66, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x46, 0x6c, 0x75, 0x65, 0x6e,
|
||||||
|
0x74, 0x52, 0x06, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x06, 0x61, 0x6c, 0x69,
|
||||||
|
0x79, 0x75, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
|
||||||
|
0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x41, 0x6c, 0x69, 0x79, 0x75, 0x6e, 0x52, 0x06,
|
||||||
|
0x61, 0x6c, 0x69, 0x79, 0x75, 0x6e, 0x12, 0x2e, 0x0a, 0x07, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x6e,
|
||||||
|
0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x4c,
|
||||||
|
0x6f, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x54, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x74,
|
||||||
|
0x65, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x1a, 0x8c, 0x01, 0x0a, 0x03, 0x5a, 0x61, 0x70, 0x12, 0x1a,
|
||||||
|
0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||||
|
0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65,
|
||||||
|
0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c,
|
||||||
|
0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01,
|
||||||
|
0x28, 0x05, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6d,
|
||||||
|
0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x61,
|
||||||
|
0x78, 0x41, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x61, 0x63, 0x6b,
|
||||||
|
0x75, 0x70, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x42, 0x61,
|
||||||
|
0x63, 0x6b, 0x75, 0x70, 0x73, 0x1a, 0xbb, 0x01, 0x0a, 0x06, 0x4c, 0x6f, 0x67, 0x72, 0x75, 0x73,
|
||||||
|
0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||||
|
0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74,
|
||||||
|
0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61,
|
||||||
|
0x74, 0x74, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
|
||||||
|
0x70, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f,
|
||||||
|
0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12,
|
||||||
|
0x25, 0x0a, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72,
|
||||||
|
0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
|
||||||
|
0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
|
||||||
|
0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28,
|
||||||
|
0x08, 0x52, 0x10, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
|
||||||
|
0x61, 0x6d, 0x70, 0x1a, 0x24, 0x0a, 0x06, 0x46, 0x6c, 0x75, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a,
|
||||||
|
0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||||
|
0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x82, 0x01, 0x0a, 0x06, 0x41, 0x6c,
|
||||||
|
0x69, 0x79, 0x75, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
|
||||||
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
|
||||||
|
0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||||
|
0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63,
|
||||||
|
0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
|
||||||
|
0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63,
|
||||||
|
0x65, 0x73, 0x73, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
|
||||||
|
0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x1a, 0x84,
|
||||||
|
0x01, 0x0a, 0x07, 0x54, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e,
|
||||||
|
0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e,
|
||||||
|
0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f,
|
||||||
|
0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49,
|
||||||
|
0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18,
|
||||||
|
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79,
|
||||||
|
0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65,
|
||||||
|
0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53,
|
||||||
|
0x65, 0x63, 0x72, 0x65, 0x74, 0x42, 0x23, 0x5a, 0x21, 0x6b, 0x72, 0x61, 0x74, 0x6f, 0x73, 0x2d,
|
||||||
|
0x62, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6f,
|
||||||
|
0x6e, 0x66, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6e, 0x66, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
|
||||||
|
0x6f, 0x33,
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
file_conf_v1_logger_proto_rawDescOnce sync.Once
|
||||||
|
file_conf_v1_logger_proto_rawDescData = file_conf_v1_logger_proto_rawDesc
|
||||||
|
)
|
||||||
|
|
||||||
|
func file_conf_v1_logger_proto_rawDescGZIP() []byte {
|
||||||
|
file_conf_v1_logger_proto_rawDescOnce.Do(func() {
|
||||||
|
file_conf_v1_logger_proto_rawDescData = protoimpl.X.CompressGZIP(file_conf_v1_logger_proto_rawDescData)
|
||||||
|
})
|
||||||
|
return file_conf_v1_logger_proto_rawDescData
|
||||||
|
}
|
||||||
|
|
||||||
|
var file_conf_v1_logger_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
|
||||||
|
var file_conf_v1_logger_proto_goTypes = []interface{}{
|
||||||
|
(*Logger)(nil), // 0: conf.Logger
|
||||||
|
(*Logger_Zap)(nil), // 1: conf.Logger.Zap
|
||||||
|
(*Logger_Logrus)(nil), // 2: conf.Logger.Logrus
|
||||||
|
(*Logger_Fluent)(nil), // 3: conf.Logger.Fluent
|
||||||
|
(*Logger_Aliyun)(nil), // 4: conf.Logger.Aliyun
|
||||||
|
(*Logger_Tencent)(nil), // 5: conf.Logger.Tencent
|
||||||
|
}
|
||||||
|
var file_conf_v1_logger_proto_depIdxs = []int32{
|
||||||
|
1, // 0: conf.Logger.zap:type_name -> conf.Logger.Zap
|
||||||
|
2, // 1: conf.Logger.logrus:type_name -> conf.Logger.Logrus
|
||||||
|
3, // 2: conf.Logger.fluent:type_name -> conf.Logger.Fluent
|
||||||
|
4, // 3: conf.Logger.aliyun:type_name -> conf.Logger.Aliyun
|
||||||
|
5, // 4: conf.Logger.tencent:type_name -> conf.Logger.Tencent
|
||||||
|
5, // [5:5] is the sub-list for method output_type
|
||||||
|
5, // [5:5] is the sub-list for method input_type
|
||||||
|
5, // [5:5] is the sub-list for extension type_name
|
||||||
|
5, // [5:5] is the sub-list for extension extendee
|
||||||
|
0, // [0:5] is the sub-list for field type_name
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() { file_conf_v1_logger_proto_init() }
|
||||||
|
func file_conf_v1_logger_proto_init() {
|
||||||
|
if File_conf_v1_logger_proto != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if !protoimpl.UnsafeEnabled {
|
||||||
|
file_conf_v1_logger_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Logger); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_logger_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Logger_Zap); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_logger_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Logger_Logrus); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_logger_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Logger_Fluent); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_logger_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Logger_Aliyun); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_logger_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Logger_Tencent); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
type x struct{}
|
||||||
|
out := protoimpl.TypeBuilder{
|
||||||
|
File: protoimpl.DescBuilder{
|
||||||
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
|
RawDescriptor: file_conf_v1_logger_proto_rawDesc,
|
||||||
|
NumEnums: 0,
|
||||||
|
NumMessages: 6,
|
||||||
|
NumExtensions: 0,
|
||||||
|
NumServices: 0,
|
||||||
|
},
|
||||||
|
GoTypes: file_conf_v1_logger_proto_goTypes,
|
||||||
|
DependencyIndexes: file_conf_v1_logger_proto_depIdxs,
|
||||||
|
MessageInfos: file_conf_v1_logger_proto_msgTypes,
|
||||||
|
}.Build()
|
||||||
|
File_conf_v1_logger_proto = out.File
|
||||||
|
file_conf_v1_logger_proto_rawDesc = nil
|
||||||
|
file_conf_v1_logger_proto_goTypes = nil
|
||||||
|
file_conf_v1_logger_proto_depIdxs = nil
|
||||||
|
}
|
||||||
818
gen/api/go/conf/v1/logger.pb.validate.go
Normal file
818
gen/api/go/conf/v1/logger.pb.validate.go
Normal file
@@ -0,0 +1,818 @@
|
|||||||
|
// Code generated by protoc-gen-validate. DO NOT EDIT.
|
||||||
|
// source: conf/v1/logger.proto
|
||||||
|
|
||||||
|
package conf
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
"net"
|
||||||
|
"net/mail"
|
||||||
|
"net/url"
|
||||||
|
"regexp"
|
||||||
|
"sort"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
"unicode/utf8"
|
||||||
|
|
||||||
|
"google.golang.org/protobuf/types/known/anypb"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ensure the imports are used
|
||||||
|
var (
|
||||||
|
_ = bytes.MinRead
|
||||||
|
_ = errors.New("")
|
||||||
|
_ = fmt.Print
|
||||||
|
_ = utf8.UTFMax
|
||||||
|
_ = (*regexp.Regexp)(nil)
|
||||||
|
_ = (*strings.Reader)(nil)
|
||||||
|
_ = net.IPv4len
|
||||||
|
_ = time.Duration(0)
|
||||||
|
_ = (*url.URL)(nil)
|
||||||
|
_ = (*mail.Address)(nil)
|
||||||
|
_ = anypb.Any{}
|
||||||
|
_ = sort.Sort
|
||||||
|
)
|
||||||
|
|
||||||
|
// Validate checks the field values on Logger with the rules defined in the
|
||||||
|
// proto definition for this message. If any rules are violated, the first
|
||||||
|
// error encountered is returned, or nil if there are no violations.
|
||||||
|
func (m *Logger) Validate() error {
|
||||||
|
return m.validate(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateAll checks the field values on Logger with the rules defined in the
|
||||||
|
// proto definition for this message. If any rules are violated, the result is
|
||||||
|
// a list of violation errors wrapped in LoggerMultiError, or nil if none found.
|
||||||
|
func (m *Logger) ValidateAll() error {
|
||||||
|
return m.validate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Logger) validate(all bool) error {
|
||||||
|
if m == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var errors []error
|
||||||
|
|
||||||
|
// no validation rules for Type
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetZap()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, LoggerValidationError{
|
||||||
|
field: "Zap",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, LoggerValidationError{
|
||||||
|
field: "Zap",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetZap()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return LoggerValidationError{
|
||||||
|
field: "Zap",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetLogrus()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, LoggerValidationError{
|
||||||
|
field: "Logrus",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, LoggerValidationError{
|
||||||
|
field: "Logrus",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetLogrus()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return LoggerValidationError{
|
||||||
|
field: "Logrus",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetFluent()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, LoggerValidationError{
|
||||||
|
field: "Fluent",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, LoggerValidationError{
|
||||||
|
field: "Fluent",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetFluent()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return LoggerValidationError{
|
||||||
|
field: "Fluent",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetAliyun()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, LoggerValidationError{
|
||||||
|
field: "Aliyun",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, LoggerValidationError{
|
||||||
|
field: "Aliyun",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetAliyun()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return LoggerValidationError{
|
||||||
|
field: "Aliyun",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetTencent()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, LoggerValidationError{
|
||||||
|
field: "Tencent",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, LoggerValidationError{
|
||||||
|
field: "Tencent",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetTencent()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return LoggerValidationError{
|
||||||
|
field: "Tencent",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(errors) > 0 {
|
||||||
|
return LoggerMultiError(errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// LoggerMultiError is an error wrapping multiple validation errors returned by
|
||||||
|
// Logger.ValidateAll() if the designated constraints aren't met.
|
||||||
|
type LoggerMultiError []error
|
||||||
|
|
||||||
|
// Error returns a concatenation of all the error messages it wraps.
|
||||||
|
func (m LoggerMultiError) Error() string {
|
||||||
|
var msgs []string
|
||||||
|
for _, err := range m {
|
||||||
|
msgs = append(msgs, err.Error())
|
||||||
|
}
|
||||||
|
return strings.Join(msgs, "; ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// AllErrors returns a list of validation violation errors.
|
||||||
|
func (m LoggerMultiError) AllErrors() []error { return m }
|
||||||
|
|
||||||
|
// LoggerValidationError is the validation error returned by Logger.Validate if
|
||||||
|
// the designated constraints aren't met.
|
||||||
|
type LoggerValidationError struct {
|
||||||
|
field string
|
||||||
|
reason string
|
||||||
|
cause error
|
||||||
|
key bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Field function returns field value.
|
||||||
|
func (e LoggerValidationError) Field() string { return e.field }
|
||||||
|
|
||||||
|
// Reason function returns reason value.
|
||||||
|
func (e LoggerValidationError) Reason() string { return e.reason }
|
||||||
|
|
||||||
|
// Cause function returns cause value.
|
||||||
|
func (e LoggerValidationError) Cause() error { return e.cause }
|
||||||
|
|
||||||
|
// Key function returns key value.
|
||||||
|
func (e LoggerValidationError) Key() bool { return e.key }
|
||||||
|
|
||||||
|
// ErrorName returns error name.
|
||||||
|
func (e LoggerValidationError) ErrorName() string { return "LoggerValidationError" }
|
||||||
|
|
||||||
|
// Error satisfies the builtin error interface
|
||||||
|
func (e LoggerValidationError) Error() string {
|
||||||
|
cause := ""
|
||||||
|
if e.cause != nil {
|
||||||
|
cause = fmt.Sprintf(" | caused by: %v", e.cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
key := ""
|
||||||
|
if e.key {
|
||||||
|
key = "key for "
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf(
|
||||||
|
"invalid %sLogger.%s: %s%s",
|
||||||
|
key,
|
||||||
|
e.field,
|
||||||
|
e.reason,
|
||||||
|
cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = LoggerValidationError{}
|
||||||
|
|
||||||
|
var _ interface {
|
||||||
|
Field() string
|
||||||
|
Reason() string
|
||||||
|
Key() bool
|
||||||
|
Cause() error
|
||||||
|
ErrorName() string
|
||||||
|
} = LoggerValidationError{}
|
||||||
|
|
||||||
|
// Validate checks the field values on Logger_Zap with the rules defined in the
|
||||||
|
// proto definition for this message. If any rules are violated, the first
|
||||||
|
// error encountered is returned, or nil if there are no violations.
|
||||||
|
func (m *Logger_Zap) Validate() error {
|
||||||
|
return m.validate(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateAll checks the field values on Logger_Zap with the rules defined in
|
||||||
|
// the proto definition for this message. If any rules are violated, the
|
||||||
|
// result is a list of violation errors wrapped in Logger_ZapMultiError, or
|
||||||
|
// nil if none found.
|
||||||
|
func (m *Logger_Zap) ValidateAll() error {
|
||||||
|
return m.validate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Logger_Zap) validate(all bool) error {
|
||||||
|
if m == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var errors []error
|
||||||
|
|
||||||
|
// no validation rules for Filename
|
||||||
|
|
||||||
|
// no validation rules for Level
|
||||||
|
|
||||||
|
// no validation rules for MaxSize
|
||||||
|
|
||||||
|
// no validation rules for MaxAge
|
||||||
|
|
||||||
|
// no validation rules for MaxBackups
|
||||||
|
|
||||||
|
if len(errors) > 0 {
|
||||||
|
return Logger_ZapMultiError(errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Logger_ZapMultiError is an error wrapping multiple validation errors
|
||||||
|
// returned by Logger_Zap.ValidateAll() if the designated constraints aren't met.
|
||||||
|
type Logger_ZapMultiError []error
|
||||||
|
|
||||||
|
// Error returns a concatenation of all the error messages it wraps.
|
||||||
|
func (m Logger_ZapMultiError) Error() string {
|
||||||
|
var msgs []string
|
||||||
|
for _, err := range m {
|
||||||
|
msgs = append(msgs, err.Error())
|
||||||
|
}
|
||||||
|
return strings.Join(msgs, "; ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// AllErrors returns a list of validation violation errors.
|
||||||
|
func (m Logger_ZapMultiError) AllErrors() []error { return m }
|
||||||
|
|
||||||
|
// Logger_ZapValidationError is the validation error returned by
|
||||||
|
// Logger_Zap.Validate if the designated constraints aren't met.
|
||||||
|
type Logger_ZapValidationError struct {
|
||||||
|
field string
|
||||||
|
reason string
|
||||||
|
cause error
|
||||||
|
key bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Field function returns field value.
|
||||||
|
func (e Logger_ZapValidationError) Field() string { return e.field }
|
||||||
|
|
||||||
|
// Reason function returns reason value.
|
||||||
|
func (e Logger_ZapValidationError) Reason() string { return e.reason }
|
||||||
|
|
||||||
|
// Cause function returns cause value.
|
||||||
|
func (e Logger_ZapValidationError) Cause() error { return e.cause }
|
||||||
|
|
||||||
|
// Key function returns key value.
|
||||||
|
func (e Logger_ZapValidationError) Key() bool { return e.key }
|
||||||
|
|
||||||
|
// ErrorName returns error name.
|
||||||
|
func (e Logger_ZapValidationError) ErrorName() string { return "Logger_ZapValidationError" }
|
||||||
|
|
||||||
|
// Error satisfies the builtin error interface
|
||||||
|
func (e Logger_ZapValidationError) Error() string {
|
||||||
|
cause := ""
|
||||||
|
if e.cause != nil {
|
||||||
|
cause = fmt.Sprintf(" | caused by: %v", e.cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
key := ""
|
||||||
|
if e.key {
|
||||||
|
key = "key for "
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf(
|
||||||
|
"invalid %sLogger_Zap.%s: %s%s",
|
||||||
|
key,
|
||||||
|
e.field,
|
||||||
|
e.reason,
|
||||||
|
cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = Logger_ZapValidationError{}
|
||||||
|
|
||||||
|
var _ interface {
|
||||||
|
Field() string
|
||||||
|
Reason() string
|
||||||
|
Key() bool
|
||||||
|
Cause() error
|
||||||
|
ErrorName() string
|
||||||
|
} = Logger_ZapValidationError{}
|
||||||
|
|
||||||
|
// Validate checks the field values on Logger_Logrus with the rules defined in
|
||||||
|
// the proto definition for this message. If any rules are violated, the first
|
||||||
|
// error encountered is returned, or nil if there are no violations.
|
||||||
|
func (m *Logger_Logrus) Validate() error {
|
||||||
|
return m.validate(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateAll checks the field values on Logger_Logrus with the rules defined
|
||||||
|
// in the proto definition for this message. If any rules are violated, the
|
||||||
|
// result is a list of violation errors wrapped in Logger_LogrusMultiError, or
|
||||||
|
// nil if none found.
|
||||||
|
func (m *Logger_Logrus) ValidateAll() error {
|
||||||
|
return m.validate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Logger_Logrus) validate(all bool) error {
|
||||||
|
if m == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var errors []error
|
||||||
|
|
||||||
|
// no validation rules for Level
|
||||||
|
|
||||||
|
// no validation rules for Formatter
|
||||||
|
|
||||||
|
// no validation rules for TimestampFormat
|
||||||
|
|
||||||
|
// no validation rules for DisableColors
|
||||||
|
|
||||||
|
// no validation rules for DisableTimestamp
|
||||||
|
|
||||||
|
if len(errors) > 0 {
|
||||||
|
return Logger_LogrusMultiError(errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Logger_LogrusMultiError is an error wrapping multiple validation errors
|
||||||
|
// returned by Logger_Logrus.ValidateAll() if the designated constraints
|
||||||
|
// aren't met.
|
||||||
|
type Logger_LogrusMultiError []error
|
||||||
|
|
||||||
|
// Error returns a concatenation of all the error messages it wraps.
|
||||||
|
func (m Logger_LogrusMultiError) Error() string {
|
||||||
|
var msgs []string
|
||||||
|
for _, err := range m {
|
||||||
|
msgs = append(msgs, err.Error())
|
||||||
|
}
|
||||||
|
return strings.Join(msgs, "; ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// AllErrors returns a list of validation violation errors.
|
||||||
|
func (m Logger_LogrusMultiError) AllErrors() []error { return m }
|
||||||
|
|
||||||
|
// Logger_LogrusValidationError is the validation error returned by
|
||||||
|
// Logger_Logrus.Validate if the designated constraints aren't met.
|
||||||
|
type Logger_LogrusValidationError struct {
|
||||||
|
field string
|
||||||
|
reason string
|
||||||
|
cause error
|
||||||
|
key bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Field function returns field value.
|
||||||
|
func (e Logger_LogrusValidationError) Field() string { return e.field }
|
||||||
|
|
||||||
|
// Reason function returns reason value.
|
||||||
|
func (e Logger_LogrusValidationError) Reason() string { return e.reason }
|
||||||
|
|
||||||
|
// Cause function returns cause value.
|
||||||
|
func (e Logger_LogrusValidationError) Cause() error { return e.cause }
|
||||||
|
|
||||||
|
// Key function returns key value.
|
||||||
|
func (e Logger_LogrusValidationError) Key() bool { return e.key }
|
||||||
|
|
||||||
|
// ErrorName returns error name.
|
||||||
|
func (e Logger_LogrusValidationError) ErrorName() string { return "Logger_LogrusValidationError" }
|
||||||
|
|
||||||
|
// Error satisfies the builtin error interface
|
||||||
|
func (e Logger_LogrusValidationError) Error() string {
|
||||||
|
cause := ""
|
||||||
|
if e.cause != nil {
|
||||||
|
cause = fmt.Sprintf(" | caused by: %v", e.cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
key := ""
|
||||||
|
if e.key {
|
||||||
|
key = "key for "
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf(
|
||||||
|
"invalid %sLogger_Logrus.%s: %s%s",
|
||||||
|
key,
|
||||||
|
e.field,
|
||||||
|
e.reason,
|
||||||
|
cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = Logger_LogrusValidationError{}
|
||||||
|
|
||||||
|
var _ interface {
|
||||||
|
Field() string
|
||||||
|
Reason() string
|
||||||
|
Key() bool
|
||||||
|
Cause() error
|
||||||
|
ErrorName() string
|
||||||
|
} = Logger_LogrusValidationError{}
|
||||||
|
|
||||||
|
// Validate checks the field values on Logger_Fluent with the rules defined in
|
||||||
|
// the proto definition for this message. If any rules are violated, the first
|
||||||
|
// error encountered is returned, or nil if there are no violations.
|
||||||
|
func (m *Logger_Fluent) Validate() error {
|
||||||
|
return m.validate(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateAll checks the field values on Logger_Fluent with the rules defined
|
||||||
|
// in the proto definition for this message. If any rules are violated, the
|
||||||
|
// result is a list of violation errors wrapped in Logger_FluentMultiError, or
|
||||||
|
// nil if none found.
|
||||||
|
func (m *Logger_Fluent) ValidateAll() error {
|
||||||
|
return m.validate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Logger_Fluent) validate(all bool) error {
|
||||||
|
if m == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var errors []error
|
||||||
|
|
||||||
|
// no validation rules for Endpoint
|
||||||
|
|
||||||
|
if len(errors) > 0 {
|
||||||
|
return Logger_FluentMultiError(errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Logger_FluentMultiError is an error wrapping multiple validation errors
|
||||||
|
// returned by Logger_Fluent.ValidateAll() if the designated constraints
|
||||||
|
// aren't met.
|
||||||
|
type Logger_FluentMultiError []error
|
||||||
|
|
||||||
|
// Error returns a concatenation of all the error messages it wraps.
|
||||||
|
func (m Logger_FluentMultiError) Error() string {
|
||||||
|
var msgs []string
|
||||||
|
for _, err := range m {
|
||||||
|
msgs = append(msgs, err.Error())
|
||||||
|
}
|
||||||
|
return strings.Join(msgs, "; ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// AllErrors returns a list of validation violation errors.
|
||||||
|
func (m Logger_FluentMultiError) AllErrors() []error { return m }
|
||||||
|
|
||||||
|
// Logger_FluentValidationError is the validation error returned by
|
||||||
|
// Logger_Fluent.Validate if the designated constraints aren't met.
|
||||||
|
type Logger_FluentValidationError struct {
|
||||||
|
field string
|
||||||
|
reason string
|
||||||
|
cause error
|
||||||
|
key bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Field function returns field value.
|
||||||
|
func (e Logger_FluentValidationError) Field() string { return e.field }
|
||||||
|
|
||||||
|
// Reason function returns reason value.
|
||||||
|
func (e Logger_FluentValidationError) Reason() string { return e.reason }
|
||||||
|
|
||||||
|
// Cause function returns cause value.
|
||||||
|
func (e Logger_FluentValidationError) Cause() error { return e.cause }
|
||||||
|
|
||||||
|
// Key function returns key value.
|
||||||
|
func (e Logger_FluentValidationError) Key() bool { return e.key }
|
||||||
|
|
||||||
|
// ErrorName returns error name.
|
||||||
|
func (e Logger_FluentValidationError) ErrorName() string { return "Logger_FluentValidationError" }
|
||||||
|
|
||||||
|
// Error satisfies the builtin error interface
|
||||||
|
func (e Logger_FluentValidationError) Error() string {
|
||||||
|
cause := ""
|
||||||
|
if e.cause != nil {
|
||||||
|
cause = fmt.Sprintf(" | caused by: %v", e.cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
key := ""
|
||||||
|
if e.key {
|
||||||
|
key = "key for "
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf(
|
||||||
|
"invalid %sLogger_Fluent.%s: %s%s",
|
||||||
|
key,
|
||||||
|
e.field,
|
||||||
|
e.reason,
|
||||||
|
cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = Logger_FluentValidationError{}
|
||||||
|
|
||||||
|
var _ interface {
|
||||||
|
Field() string
|
||||||
|
Reason() string
|
||||||
|
Key() bool
|
||||||
|
Cause() error
|
||||||
|
ErrorName() string
|
||||||
|
} = Logger_FluentValidationError{}
|
||||||
|
|
||||||
|
// Validate checks the field values on Logger_Aliyun with the rules defined in
|
||||||
|
// the proto definition for this message. If any rules are violated, the first
|
||||||
|
// error encountered is returned, or nil if there are no violations.
|
||||||
|
func (m *Logger_Aliyun) Validate() error {
|
||||||
|
return m.validate(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateAll checks the field values on Logger_Aliyun with the rules defined
|
||||||
|
// in the proto definition for this message. If any rules are violated, the
|
||||||
|
// result is a list of violation errors wrapped in Logger_AliyunMultiError, or
|
||||||
|
// nil if none found.
|
||||||
|
func (m *Logger_Aliyun) ValidateAll() error {
|
||||||
|
return m.validate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Logger_Aliyun) validate(all bool) error {
|
||||||
|
if m == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var errors []error
|
||||||
|
|
||||||
|
// no validation rules for Endpoint
|
||||||
|
|
||||||
|
// no validation rules for Project
|
||||||
|
|
||||||
|
// no validation rules for AccessKey
|
||||||
|
|
||||||
|
// no validation rules for AccessSecret
|
||||||
|
|
||||||
|
if len(errors) > 0 {
|
||||||
|
return Logger_AliyunMultiError(errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Logger_AliyunMultiError is an error wrapping multiple validation errors
|
||||||
|
// returned by Logger_Aliyun.ValidateAll() if the designated constraints
|
||||||
|
// aren't met.
|
||||||
|
type Logger_AliyunMultiError []error
|
||||||
|
|
||||||
|
// Error returns a concatenation of all the error messages it wraps.
|
||||||
|
func (m Logger_AliyunMultiError) Error() string {
|
||||||
|
var msgs []string
|
||||||
|
for _, err := range m {
|
||||||
|
msgs = append(msgs, err.Error())
|
||||||
|
}
|
||||||
|
return strings.Join(msgs, "; ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// AllErrors returns a list of validation violation errors.
|
||||||
|
func (m Logger_AliyunMultiError) AllErrors() []error { return m }
|
||||||
|
|
||||||
|
// Logger_AliyunValidationError is the validation error returned by
|
||||||
|
// Logger_Aliyun.Validate if the designated constraints aren't met.
|
||||||
|
type Logger_AliyunValidationError struct {
|
||||||
|
field string
|
||||||
|
reason string
|
||||||
|
cause error
|
||||||
|
key bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Field function returns field value.
|
||||||
|
func (e Logger_AliyunValidationError) Field() string { return e.field }
|
||||||
|
|
||||||
|
// Reason function returns reason value.
|
||||||
|
func (e Logger_AliyunValidationError) Reason() string { return e.reason }
|
||||||
|
|
||||||
|
// Cause function returns cause value.
|
||||||
|
func (e Logger_AliyunValidationError) Cause() error { return e.cause }
|
||||||
|
|
||||||
|
// Key function returns key value.
|
||||||
|
func (e Logger_AliyunValidationError) Key() bool { return e.key }
|
||||||
|
|
||||||
|
// ErrorName returns error name.
|
||||||
|
func (e Logger_AliyunValidationError) ErrorName() string { return "Logger_AliyunValidationError" }
|
||||||
|
|
||||||
|
// Error satisfies the builtin error interface
|
||||||
|
func (e Logger_AliyunValidationError) Error() string {
|
||||||
|
cause := ""
|
||||||
|
if e.cause != nil {
|
||||||
|
cause = fmt.Sprintf(" | caused by: %v", e.cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
key := ""
|
||||||
|
if e.key {
|
||||||
|
key = "key for "
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf(
|
||||||
|
"invalid %sLogger_Aliyun.%s: %s%s",
|
||||||
|
key,
|
||||||
|
e.field,
|
||||||
|
e.reason,
|
||||||
|
cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = Logger_AliyunValidationError{}
|
||||||
|
|
||||||
|
var _ interface {
|
||||||
|
Field() string
|
||||||
|
Reason() string
|
||||||
|
Key() bool
|
||||||
|
Cause() error
|
||||||
|
ErrorName() string
|
||||||
|
} = Logger_AliyunValidationError{}
|
||||||
|
|
||||||
|
// Validate checks the field values on Logger_Tencent with the rules defined in
|
||||||
|
// the proto definition for this message. If any rules are violated, the first
|
||||||
|
// error encountered is returned, or nil if there are no violations.
|
||||||
|
func (m *Logger_Tencent) Validate() error {
|
||||||
|
return m.validate(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateAll checks the field values on Logger_Tencent with the rules defined
|
||||||
|
// in the proto definition for this message. If any rules are violated, the
|
||||||
|
// result is a list of violation errors wrapped in Logger_TencentMultiError,
|
||||||
|
// or nil if none found.
|
||||||
|
func (m *Logger_Tencent) ValidateAll() error {
|
||||||
|
return m.validate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Logger_Tencent) validate(all bool) error {
|
||||||
|
if m == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var errors []error
|
||||||
|
|
||||||
|
// no validation rules for Endpoint
|
||||||
|
|
||||||
|
// no validation rules for TopicId
|
||||||
|
|
||||||
|
// no validation rules for AccessKey
|
||||||
|
|
||||||
|
// no validation rules for AccessSecret
|
||||||
|
|
||||||
|
if len(errors) > 0 {
|
||||||
|
return Logger_TencentMultiError(errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Logger_TencentMultiError is an error wrapping multiple validation errors
|
||||||
|
// returned by Logger_Tencent.ValidateAll() if the designated constraints
|
||||||
|
// aren't met.
|
||||||
|
type Logger_TencentMultiError []error
|
||||||
|
|
||||||
|
// Error returns a concatenation of all the error messages it wraps.
|
||||||
|
func (m Logger_TencentMultiError) Error() string {
|
||||||
|
var msgs []string
|
||||||
|
for _, err := range m {
|
||||||
|
msgs = append(msgs, err.Error())
|
||||||
|
}
|
||||||
|
return strings.Join(msgs, "; ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// AllErrors returns a list of validation violation errors.
|
||||||
|
func (m Logger_TencentMultiError) AllErrors() []error { return m }
|
||||||
|
|
||||||
|
// Logger_TencentValidationError is the validation error returned by
|
||||||
|
// Logger_Tencent.Validate if the designated constraints aren't met.
|
||||||
|
type Logger_TencentValidationError struct {
|
||||||
|
field string
|
||||||
|
reason string
|
||||||
|
cause error
|
||||||
|
key bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Field function returns field value.
|
||||||
|
func (e Logger_TencentValidationError) Field() string { return e.field }
|
||||||
|
|
||||||
|
// Reason function returns reason value.
|
||||||
|
func (e Logger_TencentValidationError) Reason() string { return e.reason }
|
||||||
|
|
||||||
|
// Cause function returns cause value.
|
||||||
|
func (e Logger_TencentValidationError) Cause() error { return e.cause }
|
||||||
|
|
||||||
|
// Key function returns key value.
|
||||||
|
func (e Logger_TencentValidationError) Key() bool { return e.key }
|
||||||
|
|
||||||
|
// ErrorName returns error name.
|
||||||
|
func (e Logger_TencentValidationError) ErrorName() string { return "Logger_TencentValidationError" }
|
||||||
|
|
||||||
|
// Error satisfies the builtin error interface
|
||||||
|
func (e Logger_TencentValidationError) Error() string {
|
||||||
|
cause := ""
|
||||||
|
if e.cause != nil {
|
||||||
|
cause = fmt.Sprintf(" | caused by: %v", e.cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
key := ""
|
||||||
|
if e.key {
|
||||||
|
key = "key for "
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf(
|
||||||
|
"invalid %sLogger_Tencent.%s: %s%s",
|
||||||
|
key,
|
||||||
|
e.field,
|
||||||
|
e.reason,
|
||||||
|
cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = Logger_TencentValidationError{}
|
||||||
|
|
||||||
|
var _ interface {
|
||||||
|
Field() string
|
||||||
|
Reason() string
|
||||||
|
Key() bool
|
||||||
|
Cause() error
|
||||||
|
ErrorName() string
|
||||||
|
} = Logger_TencentValidationError{}
|
||||||
455
gen/api/go/conf/v1/middleware.pb.go
Normal file
455
gen/api/go/conf/v1/middleware.pb.go
Normal file
@@ -0,0 +1,455 @@
|
|||||||
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
|
// versions:
|
||||||
|
// protoc-gen-go v1.30.0
|
||||||
|
// protoc (unknown)
|
||||||
|
// source: conf/v1/middleware.proto
|
||||||
|
|
||||||
|
package conf
|
||||||
|
|
||||||
|
import (
|
||||||
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||||
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||||
|
_ "google.golang.org/protobuf/types/known/durationpb"
|
||||||
|
reflect "reflect"
|
||||||
|
sync "sync"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
// Verify that this generated code is sufficiently up-to-date.
|
||||||
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||||
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||||
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||||
|
)
|
||||||
|
|
||||||
|
type Middleware struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
EnableLogging bool `protobuf:"varint,1,opt,name=enable_logging,json=enableLogging,proto3" json:"enable_logging,omitempty"` // 日志开关
|
||||||
|
EnableRecovery bool `protobuf:"varint,2,opt,name=enable_recovery,json=enableRecovery,proto3" json:"enable_recovery,omitempty"` // 异常恢复
|
||||||
|
EnableTracing bool `protobuf:"varint,3,opt,name=enable_tracing,json=enableTracing,proto3" json:"enable_tracing,omitempty"` // 链路追踪开关
|
||||||
|
EnableValidate bool `protobuf:"varint,4,opt,name=enable_validate,json=enableValidate,proto3" json:"enable_validate,omitempty"` // 参数校验开关
|
||||||
|
EnableCircuitBreaker bool `protobuf:"varint,5,opt,name=enable_circuit_breaker,json=enableCircuitBreaker,proto3" json:"enable_circuit_breaker,omitempty"` // 熔断器
|
||||||
|
Limiter *Middleware_RateLimiter `protobuf:"bytes,6,opt,name=limiter,proto3" json:"limiter,omitempty"`
|
||||||
|
Metrics *Middleware_Metrics `protobuf:"bytes,7,opt,name=metrics,proto3" json:"metrics,omitempty"`
|
||||||
|
Auth *Middleware_Auth `protobuf:"bytes,8,opt,name=auth,proto3" json:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Middleware) Reset() {
|
||||||
|
*x = Middleware{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_middleware_proto_msgTypes[0]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Middleware) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Middleware) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Middleware) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_middleware_proto_msgTypes[0]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Middleware.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Middleware) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_middleware_proto_rawDescGZIP(), []int{0}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Middleware) GetEnableLogging() bool {
|
||||||
|
if x != nil {
|
||||||
|
return x.EnableLogging
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Middleware) GetEnableRecovery() bool {
|
||||||
|
if x != nil {
|
||||||
|
return x.EnableRecovery
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Middleware) GetEnableTracing() bool {
|
||||||
|
if x != nil {
|
||||||
|
return x.EnableTracing
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Middleware) GetEnableValidate() bool {
|
||||||
|
if x != nil {
|
||||||
|
return x.EnableValidate
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Middleware) GetEnableCircuitBreaker() bool {
|
||||||
|
if x != nil {
|
||||||
|
return x.EnableCircuitBreaker
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Middleware) GetLimiter() *Middleware_RateLimiter {
|
||||||
|
if x != nil {
|
||||||
|
return x.Limiter
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Middleware) GetMetrics() *Middleware_Metrics {
|
||||||
|
if x != nil {
|
||||||
|
return x.Metrics
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Middleware) GetAuth() *Middleware_Auth {
|
||||||
|
if x != nil {
|
||||||
|
return x.Auth
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// JWT校验
|
||||||
|
type Middleware_Auth struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Method string `protobuf:"bytes,1,opt,name=method,proto3" json:"method,omitempty"` // JWT签名的算法,支持算法:HS256
|
||||||
|
Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` // JWT 秘钥
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Middleware_Auth) Reset() {
|
||||||
|
*x = Middleware_Auth{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_middleware_proto_msgTypes[1]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Middleware_Auth) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Middleware_Auth) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Middleware_Auth) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_middleware_proto_msgTypes[1]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Middleware_Auth.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Middleware_Auth) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_middleware_proto_rawDescGZIP(), []int{0, 0}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Middleware_Auth) GetMethod() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Method
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Middleware_Auth) GetKey() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Key
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
// 限流器
|
||||||
|
type Middleware_RateLimiter struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // 限流器名字,支持:bbr。
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Middleware_RateLimiter) Reset() {
|
||||||
|
*x = Middleware_RateLimiter{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_middleware_proto_msgTypes[2]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Middleware_RateLimiter) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Middleware_RateLimiter) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Middleware_RateLimiter) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_middleware_proto_msgTypes[2]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Middleware_RateLimiter.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Middleware_RateLimiter) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_middleware_proto_rawDescGZIP(), []int{0, 1}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Middleware_RateLimiter) GetName() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Name
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
// 性能指标
|
||||||
|
type Middleware_Metrics struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Histogram bool `protobuf:"varint,1,opt,name=histogram,proto3" json:"histogram,omitempty"` // 直方图
|
||||||
|
Counter bool `protobuf:"varint,2,opt,name=counter,proto3" json:"counter,omitempty"` // 计数器
|
||||||
|
Gauge bool `protobuf:"varint,3,opt,name=gauge,proto3" json:"gauge,omitempty"` // 仪表盘
|
||||||
|
Summary bool `protobuf:"varint,4,opt,name=summary,proto3" json:"summary,omitempty"` // 摘要
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Middleware_Metrics) Reset() {
|
||||||
|
*x = Middleware_Metrics{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_middleware_proto_msgTypes[3]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Middleware_Metrics) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Middleware_Metrics) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Middleware_Metrics) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_middleware_proto_msgTypes[3]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Middleware_Metrics.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Middleware_Metrics) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_middleware_proto_rawDescGZIP(), []int{0, 2}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Middleware_Metrics) GetHistogram() bool {
|
||||||
|
if x != nil {
|
||||||
|
return x.Histogram
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Middleware_Metrics) GetCounter() bool {
|
||||||
|
if x != nil {
|
||||||
|
return x.Counter
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Middleware_Metrics) GetGauge() bool {
|
||||||
|
if x != nil {
|
||||||
|
return x.Gauge
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Middleware_Metrics) GetSummary() bool {
|
||||||
|
if x != nil {
|
||||||
|
return x.Summary
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
var File_conf_v1_middleware_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
|
var file_conf_v1_middleware_proto_rawDesc = []byte{
|
||||||
|
0x0a, 0x18, 0x63, 0x6f, 0x6e, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65,
|
||||||
|
0x77, 0x61, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x63, 0x6f, 0x6e, 0x66,
|
||||||
|
0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
||||||
|
0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||||
|
0x22, 0xc1, 0x04, 0x0a, 0x0a, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x12,
|
||||||
|
0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e,
|
||||||
|
0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c,
|
||||||
|
0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
|
||||||
|
0x5f, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
|
||||||
|
0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x12,
|
||||||
|
0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e,
|
||||||
|
0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54,
|
||||||
|
0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
|
||||||
|
0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
|
||||||
|
0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12,
|
||||||
|
0x34, 0x0a, 0x16, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69,
|
||||||
|
0x74, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52,
|
||||||
|
0x14, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72,
|
||||||
|
0x65, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x07, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72,
|
||||||
|
0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x4d, 0x69,
|
||||||
|
0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d,
|
||||||
|
0x69, 0x74, 0x65, 0x72, 0x52, 0x07, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x12, 0x32, 0x0a,
|
||||||
|
0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18,
|
||||||
|
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65,
|
||||||
|
0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
|
||||||
|
0x73, 0x12, 0x29, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||||
|
0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72,
|
||||||
|
0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x52, 0x04, 0x61, 0x75, 0x74, 0x68, 0x1a, 0x30, 0x0a, 0x04,
|
||||||
|
0x41, 0x75, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01,
|
||||||
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x10, 0x0a, 0x03,
|
||||||
|
0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x1a, 0x21,
|
||||||
|
0x0a, 0x0b, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a,
|
||||||
|
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
|
||||||
|
0x65, 0x1a, 0x71, 0x0a, 0x07, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x1c, 0x0a, 0x09,
|
||||||
|
0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
|
||||||
|
0x09, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f,
|
||||||
|
0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x6f, 0x75,
|
||||||
|
0x6e, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x61, 0x75, 0x67, 0x65, 0x18, 0x03, 0x20,
|
||||||
|
0x01, 0x28, 0x08, 0x52, 0x05, 0x67, 0x61, 0x75, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75,
|
||||||
|
0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x6d,
|
||||||
|
0x6d, 0x61, 0x72, 0x79, 0x42, 0x23, 0x5a, 0x21, 0x6b, 0x72, 0x61, 0x74, 0x6f, 0x73, 0x2d, 0x62,
|
||||||
|
0x69, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6f, 0x6e,
|
||||||
|
0x66, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6e, 0x66, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||||
|
0x33,
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
file_conf_v1_middleware_proto_rawDescOnce sync.Once
|
||||||
|
file_conf_v1_middleware_proto_rawDescData = file_conf_v1_middleware_proto_rawDesc
|
||||||
|
)
|
||||||
|
|
||||||
|
func file_conf_v1_middleware_proto_rawDescGZIP() []byte {
|
||||||
|
file_conf_v1_middleware_proto_rawDescOnce.Do(func() {
|
||||||
|
file_conf_v1_middleware_proto_rawDescData = protoimpl.X.CompressGZIP(file_conf_v1_middleware_proto_rawDescData)
|
||||||
|
})
|
||||||
|
return file_conf_v1_middleware_proto_rawDescData
|
||||||
|
}
|
||||||
|
|
||||||
|
var file_conf_v1_middleware_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
|
||||||
|
var file_conf_v1_middleware_proto_goTypes = []interface{}{
|
||||||
|
(*Middleware)(nil), // 0: conf.Middleware
|
||||||
|
(*Middleware_Auth)(nil), // 1: conf.Middleware.Auth
|
||||||
|
(*Middleware_RateLimiter)(nil), // 2: conf.Middleware.RateLimiter
|
||||||
|
(*Middleware_Metrics)(nil), // 3: conf.Middleware.Metrics
|
||||||
|
}
|
||||||
|
var file_conf_v1_middleware_proto_depIdxs = []int32{
|
||||||
|
2, // 0: conf.Middleware.limiter:type_name -> conf.Middleware.RateLimiter
|
||||||
|
3, // 1: conf.Middleware.metrics:type_name -> conf.Middleware.Metrics
|
||||||
|
1, // 2: conf.Middleware.auth:type_name -> conf.Middleware.Auth
|
||||||
|
3, // [3:3] is the sub-list for method output_type
|
||||||
|
3, // [3:3] is the sub-list for method input_type
|
||||||
|
3, // [3:3] is the sub-list for extension type_name
|
||||||
|
3, // [3:3] is the sub-list for extension extendee
|
||||||
|
0, // [0:3] is the sub-list for field type_name
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() { file_conf_v1_middleware_proto_init() }
|
||||||
|
func file_conf_v1_middleware_proto_init() {
|
||||||
|
if File_conf_v1_middleware_proto != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if !protoimpl.UnsafeEnabled {
|
||||||
|
file_conf_v1_middleware_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Middleware); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_middleware_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Middleware_Auth); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_middleware_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Middleware_RateLimiter); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_middleware_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Middleware_Metrics); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
type x struct{}
|
||||||
|
out := protoimpl.TypeBuilder{
|
||||||
|
File: protoimpl.DescBuilder{
|
||||||
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
|
RawDescriptor: file_conf_v1_middleware_proto_rawDesc,
|
||||||
|
NumEnums: 0,
|
||||||
|
NumMessages: 4,
|
||||||
|
NumExtensions: 0,
|
||||||
|
NumServices: 0,
|
||||||
|
},
|
||||||
|
GoTypes: file_conf_v1_middleware_proto_goTypes,
|
||||||
|
DependencyIndexes: file_conf_v1_middleware_proto_depIdxs,
|
||||||
|
MessageInfos: file_conf_v1_middleware_proto_msgTypes,
|
||||||
|
}.Build()
|
||||||
|
File_conf_v1_middleware_proto = out.File
|
||||||
|
file_conf_v1_middleware_proto_rawDesc = nil
|
||||||
|
file_conf_v1_middleware_proto_goTypes = nil
|
||||||
|
file_conf_v1_middleware_proto_depIdxs = nil
|
||||||
|
}
|
||||||
550
gen/api/go/conf/v1/middleware.pb.validate.go
Normal file
550
gen/api/go/conf/v1/middleware.pb.validate.go
Normal file
@@ -0,0 +1,550 @@
|
|||||||
|
// Code generated by protoc-gen-validate. DO NOT EDIT.
|
||||||
|
// source: conf/v1/middleware.proto
|
||||||
|
|
||||||
|
package conf
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
"net"
|
||||||
|
"net/mail"
|
||||||
|
"net/url"
|
||||||
|
"regexp"
|
||||||
|
"sort"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
"unicode/utf8"
|
||||||
|
|
||||||
|
"google.golang.org/protobuf/types/known/anypb"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ensure the imports are used
|
||||||
|
var (
|
||||||
|
_ = bytes.MinRead
|
||||||
|
_ = errors.New("")
|
||||||
|
_ = fmt.Print
|
||||||
|
_ = utf8.UTFMax
|
||||||
|
_ = (*regexp.Regexp)(nil)
|
||||||
|
_ = (*strings.Reader)(nil)
|
||||||
|
_ = net.IPv4len
|
||||||
|
_ = time.Duration(0)
|
||||||
|
_ = (*url.URL)(nil)
|
||||||
|
_ = (*mail.Address)(nil)
|
||||||
|
_ = anypb.Any{}
|
||||||
|
_ = sort.Sort
|
||||||
|
)
|
||||||
|
|
||||||
|
// Validate checks the field values on Middleware with the rules defined in the
|
||||||
|
// proto definition for this message. If any rules are violated, the first
|
||||||
|
// error encountered is returned, or nil if there are no violations.
|
||||||
|
func (m *Middleware) Validate() error {
|
||||||
|
return m.validate(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateAll checks the field values on Middleware with the rules defined in
|
||||||
|
// the proto definition for this message. If any rules are violated, the
|
||||||
|
// result is a list of violation errors wrapped in MiddlewareMultiError, or
|
||||||
|
// nil if none found.
|
||||||
|
func (m *Middleware) ValidateAll() error {
|
||||||
|
return m.validate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Middleware) validate(all bool) error {
|
||||||
|
if m == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var errors []error
|
||||||
|
|
||||||
|
// no validation rules for EnableLogging
|
||||||
|
|
||||||
|
// no validation rules for EnableRecovery
|
||||||
|
|
||||||
|
// no validation rules for EnableTracing
|
||||||
|
|
||||||
|
// no validation rules for EnableValidate
|
||||||
|
|
||||||
|
// no validation rules for EnableCircuitBreaker
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetLimiter()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, MiddlewareValidationError{
|
||||||
|
field: "Limiter",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, MiddlewareValidationError{
|
||||||
|
field: "Limiter",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetLimiter()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return MiddlewareValidationError{
|
||||||
|
field: "Limiter",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetMetrics()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, MiddlewareValidationError{
|
||||||
|
field: "Metrics",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, MiddlewareValidationError{
|
||||||
|
field: "Metrics",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetMetrics()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return MiddlewareValidationError{
|
||||||
|
field: "Metrics",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetAuth()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, MiddlewareValidationError{
|
||||||
|
field: "Auth",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, MiddlewareValidationError{
|
||||||
|
field: "Auth",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetAuth()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return MiddlewareValidationError{
|
||||||
|
field: "Auth",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(errors) > 0 {
|
||||||
|
return MiddlewareMultiError(errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// MiddlewareMultiError is an error wrapping multiple validation errors
|
||||||
|
// returned by Middleware.ValidateAll() if the designated constraints aren't met.
|
||||||
|
type MiddlewareMultiError []error
|
||||||
|
|
||||||
|
// Error returns a concatenation of all the error messages it wraps.
|
||||||
|
func (m MiddlewareMultiError) Error() string {
|
||||||
|
var msgs []string
|
||||||
|
for _, err := range m {
|
||||||
|
msgs = append(msgs, err.Error())
|
||||||
|
}
|
||||||
|
return strings.Join(msgs, "; ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// AllErrors returns a list of validation violation errors.
|
||||||
|
func (m MiddlewareMultiError) AllErrors() []error { return m }
|
||||||
|
|
||||||
|
// MiddlewareValidationError is the validation error returned by
|
||||||
|
// Middleware.Validate if the designated constraints aren't met.
|
||||||
|
type MiddlewareValidationError struct {
|
||||||
|
field string
|
||||||
|
reason string
|
||||||
|
cause error
|
||||||
|
key bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Field function returns field value.
|
||||||
|
func (e MiddlewareValidationError) Field() string { return e.field }
|
||||||
|
|
||||||
|
// Reason function returns reason value.
|
||||||
|
func (e MiddlewareValidationError) Reason() string { return e.reason }
|
||||||
|
|
||||||
|
// Cause function returns cause value.
|
||||||
|
func (e MiddlewareValidationError) Cause() error { return e.cause }
|
||||||
|
|
||||||
|
// Key function returns key value.
|
||||||
|
func (e MiddlewareValidationError) Key() bool { return e.key }
|
||||||
|
|
||||||
|
// ErrorName returns error name.
|
||||||
|
func (e MiddlewareValidationError) ErrorName() string { return "MiddlewareValidationError" }
|
||||||
|
|
||||||
|
// Error satisfies the builtin error interface
|
||||||
|
func (e MiddlewareValidationError) Error() string {
|
||||||
|
cause := ""
|
||||||
|
if e.cause != nil {
|
||||||
|
cause = fmt.Sprintf(" | caused by: %v", e.cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
key := ""
|
||||||
|
if e.key {
|
||||||
|
key = "key for "
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf(
|
||||||
|
"invalid %sMiddleware.%s: %s%s",
|
||||||
|
key,
|
||||||
|
e.field,
|
||||||
|
e.reason,
|
||||||
|
cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = MiddlewareValidationError{}
|
||||||
|
|
||||||
|
var _ interface {
|
||||||
|
Field() string
|
||||||
|
Reason() string
|
||||||
|
Key() bool
|
||||||
|
Cause() error
|
||||||
|
ErrorName() string
|
||||||
|
} = MiddlewareValidationError{}
|
||||||
|
|
||||||
|
// Validate checks the field values on Middleware_Auth with the rules defined
|
||||||
|
// in the proto definition for this message. If any rules are violated, the
|
||||||
|
// first error encountered is returned, or nil if there are no violations.
|
||||||
|
func (m *Middleware_Auth) Validate() error {
|
||||||
|
return m.validate(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateAll checks the field values on Middleware_Auth with the rules
|
||||||
|
// defined in the proto definition for this message. If any rules are
|
||||||
|
// violated, the result is a list of violation errors wrapped in
|
||||||
|
// Middleware_AuthMultiError, or nil if none found.
|
||||||
|
func (m *Middleware_Auth) ValidateAll() error {
|
||||||
|
return m.validate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Middleware_Auth) validate(all bool) error {
|
||||||
|
if m == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var errors []error
|
||||||
|
|
||||||
|
// no validation rules for Method
|
||||||
|
|
||||||
|
// no validation rules for Key
|
||||||
|
|
||||||
|
if len(errors) > 0 {
|
||||||
|
return Middleware_AuthMultiError(errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Middleware_AuthMultiError is an error wrapping multiple validation errors
|
||||||
|
// returned by Middleware_Auth.ValidateAll() if the designated constraints
|
||||||
|
// aren't met.
|
||||||
|
type Middleware_AuthMultiError []error
|
||||||
|
|
||||||
|
// Error returns a concatenation of all the error messages it wraps.
|
||||||
|
func (m Middleware_AuthMultiError) Error() string {
|
||||||
|
var msgs []string
|
||||||
|
for _, err := range m {
|
||||||
|
msgs = append(msgs, err.Error())
|
||||||
|
}
|
||||||
|
return strings.Join(msgs, "; ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// AllErrors returns a list of validation violation errors.
|
||||||
|
func (m Middleware_AuthMultiError) AllErrors() []error { return m }
|
||||||
|
|
||||||
|
// Middleware_AuthValidationError is the validation error returned by
|
||||||
|
// Middleware_Auth.Validate if the designated constraints aren't met.
|
||||||
|
type Middleware_AuthValidationError struct {
|
||||||
|
field string
|
||||||
|
reason string
|
||||||
|
cause error
|
||||||
|
key bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Field function returns field value.
|
||||||
|
func (e Middleware_AuthValidationError) Field() string { return e.field }
|
||||||
|
|
||||||
|
// Reason function returns reason value.
|
||||||
|
func (e Middleware_AuthValidationError) Reason() string { return e.reason }
|
||||||
|
|
||||||
|
// Cause function returns cause value.
|
||||||
|
func (e Middleware_AuthValidationError) Cause() error { return e.cause }
|
||||||
|
|
||||||
|
// Key function returns key value.
|
||||||
|
func (e Middleware_AuthValidationError) Key() bool { return e.key }
|
||||||
|
|
||||||
|
// ErrorName returns error name.
|
||||||
|
func (e Middleware_AuthValidationError) ErrorName() string { return "Middleware_AuthValidationError" }
|
||||||
|
|
||||||
|
// Error satisfies the builtin error interface
|
||||||
|
func (e Middleware_AuthValidationError) Error() string {
|
||||||
|
cause := ""
|
||||||
|
if e.cause != nil {
|
||||||
|
cause = fmt.Sprintf(" | caused by: %v", e.cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
key := ""
|
||||||
|
if e.key {
|
||||||
|
key = "key for "
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf(
|
||||||
|
"invalid %sMiddleware_Auth.%s: %s%s",
|
||||||
|
key,
|
||||||
|
e.field,
|
||||||
|
e.reason,
|
||||||
|
cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = Middleware_AuthValidationError{}
|
||||||
|
|
||||||
|
var _ interface {
|
||||||
|
Field() string
|
||||||
|
Reason() string
|
||||||
|
Key() bool
|
||||||
|
Cause() error
|
||||||
|
ErrorName() string
|
||||||
|
} = Middleware_AuthValidationError{}
|
||||||
|
|
||||||
|
// Validate checks the field values on Middleware_RateLimiter with the rules
|
||||||
|
// defined in the proto definition for this message. If any rules are
|
||||||
|
// violated, the first error encountered is returned, or nil if there are no violations.
|
||||||
|
func (m *Middleware_RateLimiter) Validate() error {
|
||||||
|
return m.validate(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateAll checks the field values on Middleware_RateLimiter with the rules
|
||||||
|
// defined in the proto definition for this message. If any rules are
|
||||||
|
// violated, the result is a list of violation errors wrapped in
|
||||||
|
// Middleware_RateLimiterMultiError, or nil if none found.
|
||||||
|
func (m *Middleware_RateLimiter) ValidateAll() error {
|
||||||
|
return m.validate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Middleware_RateLimiter) validate(all bool) error {
|
||||||
|
if m == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var errors []error
|
||||||
|
|
||||||
|
// no validation rules for Name
|
||||||
|
|
||||||
|
if len(errors) > 0 {
|
||||||
|
return Middleware_RateLimiterMultiError(errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Middleware_RateLimiterMultiError is an error wrapping multiple validation
|
||||||
|
// errors returned by Middleware_RateLimiter.ValidateAll() if the designated
|
||||||
|
// constraints aren't met.
|
||||||
|
type Middleware_RateLimiterMultiError []error
|
||||||
|
|
||||||
|
// Error returns a concatenation of all the error messages it wraps.
|
||||||
|
func (m Middleware_RateLimiterMultiError) Error() string {
|
||||||
|
var msgs []string
|
||||||
|
for _, err := range m {
|
||||||
|
msgs = append(msgs, err.Error())
|
||||||
|
}
|
||||||
|
return strings.Join(msgs, "; ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// AllErrors returns a list of validation violation errors.
|
||||||
|
func (m Middleware_RateLimiterMultiError) AllErrors() []error { return m }
|
||||||
|
|
||||||
|
// Middleware_RateLimiterValidationError is the validation error returned by
|
||||||
|
// Middleware_RateLimiter.Validate if the designated constraints aren't met.
|
||||||
|
type Middleware_RateLimiterValidationError struct {
|
||||||
|
field string
|
||||||
|
reason string
|
||||||
|
cause error
|
||||||
|
key bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Field function returns field value.
|
||||||
|
func (e Middleware_RateLimiterValidationError) Field() string { return e.field }
|
||||||
|
|
||||||
|
// Reason function returns reason value.
|
||||||
|
func (e Middleware_RateLimiterValidationError) Reason() string { return e.reason }
|
||||||
|
|
||||||
|
// Cause function returns cause value.
|
||||||
|
func (e Middleware_RateLimiterValidationError) Cause() error { return e.cause }
|
||||||
|
|
||||||
|
// Key function returns key value.
|
||||||
|
func (e Middleware_RateLimiterValidationError) Key() bool { return e.key }
|
||||||
|
|
||||||
|
// ErrorName returns error name.
|
||||||
|
func (e Middleware_RateLimiterValidationError) ErrorName() string {
|
||||||
|
return "Middleware_RateLimiterValidationError"
|
||||||
|
}
|
||||||
|
|
||||||
|
// Error satisfies the builtin error interface
|
||||||
|
func (e Middleware_RateLimiterValidationError) Error() string {
|
||||||
|
cause := ""
|
||||||
|
if e.cause != nil {
|
||||||
|
cause = fmt.Sprintf(" | caused by: %v", e.cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
key := ""
|
||||||
|
if e.key {
|
||||||
|
key = "key for "
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf(
|
||||||
|
"invalid %sMiddleware_RateLimiter.%s: %s%s",
|
||||||
|
key,
|
||||||
|
e.field,
|
||||||
|
e.reason,
|
||||||
|
cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = Middleware_RateLimiterValidationError{}
|
||||||
|
|
||||||
|
var _ interface {
|
||||||
|
Field() string
|
||||||
|
Reason() string
|
||||||
|
Key() bool
|
||||||
|
Cause() error
|
||||||
|
ErrorName() string
|
||||||
|
} = Middleware_RateLimiterValidationError{}
|
||||||
|
|
||||||
|
// Validate checks the field values on Middleware_Metrics with the rules
|
||||||
|
// defined in the proto definition for this message. If any rules are
|
||||||
|
// violated, the first error encountered is returned, or nil if there are no violations.
|
||||||
|
func (m *Middleware_Metrics) Validate() error {
|
||||||
|
return m.validate(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateAll checks the field values on Middleware_Metrics with the rules
|
||||||
|
// defined in the proto definition for this message. If any rules are
|
||||||
|
// violated, the result is a list of violation errors wrapped in
|
||||||
|
// Middleware_MetricsMultiError, or nil if none found.
|
||||||
|
func (m *Middleware_Metrics) ValidateAll() error {
|
||||||
|
return m.validate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Middleware_Metrics) validate(all bool) error {
|
||||||
|
if m == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var errors []error
|
||||||
|
|
||||||
|
// no validation rules for Histogram
|
||||||
|
|
||||||
|
// no validation rules for Counter
|
||||||
|
|
||||||
|
// no validation rules for Gauge
|
||||||
|
|
||||||
|
// no validation rules for Summary
|
||||||
|
|
||||||
|
if len(errors) > 0 {
|
||||||
|
return Middleware_MetricsMultiError(errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Middleware_MetricsMultiError is an error wrapping multiple validation errors
|
||||||
|
// returned by Middleware_Metrics.ValidateAll() if the designated constraints
|
||||||
|
// aren't met.
|
||||||
|
type Middleware_MetricsMultiError []error
|
||||||
|
|
||||||
|
// Error returns a concatenation of all the error messages it wraps.
|
||||||
|
func (m Middleware_MetricsMultiError) Error() string {
|
||||||
|
var msgs []string
|
||||||
|
for _, err := range m {
|
||||||
|
msgs = append(msgs, err.Error())
|
||||||
|
}
|
||||||
|
return strings.Join(msgs, "; ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// AllErrors returns a list of validation violation errors.
|
||||||
|
func (m Middleware_MetricsMultiError) AllErrors() []error { return m }
|
||||||
|
|
||||||
|
// Middleware_MetricsValidationError is the validation error returned by
|
||||||
|
// Middleware_Metrics.Validate if the designated constraints aren't met.
|
||||||
|
type Middleware_MetricsValidationError struct {
|
||||||
|
field string
|
||||||
|
reason string
|
||||||
|
cause error
|
||||||
|
key bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Field function returns field value.
|
||||||
|
func (e Middleware_MetricsValidationError) Field() string { return e.field }
|
||||||
|
|
||||||
|
// Reason function returns reason value.
|
||||||
|
func (e Middleware_MetricsValidationError) Reason() string { return e.reason }
|
||||||
|
|
||||||
|
// Cause function returns cause value.
|
||||||
|
func (e Middleware_MetricsValidationError) Cause() error { return e.cause }
|
||||||
|
|
||||||
|
// Key function returns key value.
|
||||||
|
func (e Middleware_MetricsValidationError) Key() bool { return e.key }
|
||||||
|
|
||||||
|
// ErrorName returns error name.
|
||||||
|
func (e Middleware_MetricsValidationError) ErrorName() string {
|
||||||
|
return "Middleware_MetricsValidationError"
|
||||||
|
}
|
||||||
|
|
||||||
|
// Error satisfies the builtin error interface
|
||||||
|
func (e Middleware_MetricsValidationError) Error() string {
|
||||||
|
cause := ""
|
||||||
|
if e.cause != nil {
|
||||||
|
cause = fmt.Sprintf(" | caused by: %v", e.cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
key := ""
|
||||||
|
if e.key {
|
||||||
|
key = "key for "
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf(
|
||||||
|
"invalid %sMiddleware_Metrics.%s: %s%s",
|
||||||
|
key,
|
||||||
|
e.field,
|
||||||
|
e.reason,
|
||||||
|
cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = Middleware_MetricsValidationError{}
|
||||||
|
|
||||||
|
var _ interface {
|
||||||
|
Field() string
|
||||||
|
Reason() string
|
||||||
|
Key() bool
|
||||||
|
Cause() error
|
||||||
|
ErrorName() string
|
||||||
|
} = Middleware_MetricsValidationError{}
|
||||||
267
gen/api/go/conf/v1/oss.pb.go
Normal file
267
gen/api/go/conf/v1/oss.pb.go
Normal file
@@ -0,0 +1,267 @@
|
|||||||
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
|
// versions:
|
||||||
|
// protoc-gen-go v1.30.0
|
||||||
|
// protoc (unknown)
|
||||||
|
// source: conf/v1/oss.proto
|
||||||
|
|
||||||
|
package conf
|
||||||
|
|
||||||
|
import (
|
||||||
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||||
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||||
|
reflect "reflect"
|
||||||
|
sync "sync"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
// Verify that this generated code is sufficiently up-to-date.
|
||||||
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||||
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||||
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||||
|
)
|
||||||
|
|
||||||
|
type OSS struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Minio *OSS_MinIO `protobuf:"bytes,1,opt,name=minio,proto3" json:"minio,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *OSS) Reset() {
|
||||||
|
*x = OSS{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_oss_proto_msgTypes[0]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *OSS) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*OSS) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *OSS) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_oss_proto_msgTypes[0]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use OSS.ProtoReflect.Descriptor instead.
|
||||||
|
func (*OSS) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_oss_proto_rawDescGZIP(), []int{0}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *OSS) GetMinio() *OSS_MinIO {
|
||||||
|
if x != nil {
|
||||||
|
return x.Minio
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// MinIO
|
||||||
|
type OSS_MinIO struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` // 对端端口
|
||||||
|
AccessKey string `protobuf:"bytes,2,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"` // 访问密钥
|
||||||
|
SecretKey string `protobuf:"bytes,3,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"` // 密钥
|
||||||
|
Token string `protobuf:"bytes,4,opt,name=token,proto3" json:"token,omitempty"` // 令牌
|
||||||
|
UseSsl bool `protobuf:"varint,5,opt,name=use_ssl,json=useSsl,proto3" json:"use_ssl,omitempty"` // 使用SSL
|
||||||
|
UploadHost string `protobuf:"bytes,6,opt,name=upload_host,json=uploadHost,proto3" json:"upload_host,omitempty"` // 上传链接的主机名
|
||||||
|
DownloadHost string `protobuf:"bytes,7,opt,name=download_host,json=downloadHost,proto3" json:"download_host,omitempty"` // 下载链接的主机名
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *OSS_MinIO) Reset() {
|
||||||
|
*x = OSS_MinIO{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_oss_proto_msgTypes[1]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *OSS_MinIO) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*OSS_MinIO) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *OSS_MinIO) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_oss_proto_msgTypes[1]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use OSS_MinIO.ProtoReflect.Descriptor instead.
|
||||||
|
func (*OSS_MinIO) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_oss_proto_rawDescGZIP(), []int{0, 0}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *OSS_MinIO) GetEndpoint() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Endpoint
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *OSS_MinIO) GetAccessKey() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.AccessKey
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *OSS_MinIO) GetSecretKey() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.SecretKey
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *OSS_MinIO) GetToken() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Token
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *OSS_MinIO) GetUseSsl() bool {
|
||||||
|
if x != nil {
|
||||||
|
return x.UseSsl
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *OSS_MinIO) GetUploadHost() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.UploadHost
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *OSS_MinIO) GetDownloadHost() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.DownloadHost
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
var File_conf_v1_oss_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
|
var file_conf_v1_oss_proto_rawDesc = []byte{
|
||||||
|
0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x73, 0x73, 0x2e, 0x70, 0x72,
|
||||||
|
0x6f, 0x74, 0x6f, 0x12, 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x22, 0x85, 0x02, 0x0a, 0x03, 0x4f, 0x53,
|
||||||
|
0x53, 0x12, 0x25, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
|
||||||
|
0x32, 0x0f, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x4f, 0x53, 0x53, 0x2e, 0x4d, 0x69, 0x6e, 0x49,
|
||||||
|
0x4f, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x69, 0x6f, 0x1a, 0xd6, 0x01, 0x0a, 0x05, 0x4d, 0x69, 0x6e,
|
||||||
|
0x49, 0x4f, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01,
|
||||||
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1d,
|
||||||
|
0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01,
|
||||||
|
0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a,
|
||||||
|
0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||||
|
0x09, 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
|
||||||
|
0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b,
|
||||||
|
0x65, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x73, 0x6c, 0x18, 0x05, 0x20,
|
||||||
|
0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x73, 0x65, 0x53, 0x73, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x75,
|
||||||
|
0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
|
||||||
|
0x52, 0x0a, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d,
|
||||||
|
0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x07, 0x20,
|
||||||
|
0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x6f, 0x73,
|
||||||
|
0x74, 0x42, 0x23, 0x5a, 0x21, 0x6b, 0x72, 0x61, 0x74, 0x6f, 0x73, 0x2d, 0x62, 0x69, 0x2f, 0x67,
|
||||||
|
0x65, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x2f, 0x76,
|
||||||
|
0x31, 0x3b, 0x63, 0x6f, 0x6e, 0x66, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
file_conf_v1_oss_proto_rawDescOnce sync.Once
|
||||||
|
file_conf_v1_oss_proto_rawDescData = file_conf_v1_oss_proto_rawDesc
|
||||||
|
)
|
||||||
|
|
||||||
|
func file_conf_v1_oss_proto_rawDescGZIP() []byte {
|
||||||
|
file_conf_v1_oss_proto_rawDescOnce.Do(func() {
|
||||||
|
file_conf_v1_oss_proto_rawDescData = protoimpl.X.CompressGZIP(file_conf_v1_oss_proto_rawDescData)
|
||||||
|
})
|
||||||
|
return file_conf_v1_oss_proto_rawDescData
|
||||||
|
}
|
||||||
|
|
||||||
|
var file_conf_v1_oss_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
|
||||||
|
var file_conf_v1_oss_proto_goTypes = []interface{}{
|
||||||
|
(*OSS)(nil), // 0: conf.OSS
|
||||||
|
(*OSS_MinIO)(nil), // 1: conf.OSS.MinIO
|
||||||
|
}
|
||||||
|
var file_conf_v1_oss_proto_depIdxs = []int32{
|
||||||
|
1, // 0: conf.OSS.minio:type_name -> conf.OSS.MinIO
|
||||||
|
1, // [1:1] is the sub-list for method output_type
|
||||||
|
1, // [1:1] is the sub-list for method input_type
|
||||||
|
1, // [1:1] is the sub-list for extension type_name
|
||||||
|
1, // [1:1] is the sub-list for extension extendee
|
||||||
|
0, // [0:1] is the sub-list for field type_name
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() { file_conf_v1_oss_proto_init() }
|
||||||
|
func file_conf_v1_oss_proto_init() {
|
||||||
|
if File_conf_v1_oss_proto != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if !protoimpl.UnsafeEnabled {
|
||||||
|
file_conf_v1_oss_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*OSS); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_oss_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*OSS_MinIO); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
type x struct{}
|
||||||
|
out := protoimpl.TypeBuilder{
|
||||||
|
File: protoimpl.DescBuilder{
|
||||||
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
|
RawDescriptor: file_conf_v1_oss_proto_rawDesc,
|
||||||
|
NumEnums: 0,
|
||||||
|
NumMessages: 2,
|
||||||
|
NumExtensions: 0,
|
||||||
|
NumServices: 0,
|
||||||
|
},
|
||||||
|
GoTypes: file_conf_v1_oss_proto_goTypes,
|
||||||
|
DependencyIndexes: file_conf_v1_oss_proto_depIdxs,
|
||||||
|
MessageInfos: file_conf_v1_oss_proto_msgTypes,
|
||||||
|
}.Build()
|
||||||
|
File_conf_v1_oss_proto = out.File
|
||||||
|
file_conf_v1_oss_proto_rawDesc = nil
|
||||||
|
file_conf_v1_oss_proto_goTypes = nil
|
||||||
|
file_conf_v1_oss_proto_depIdxs = nil
|
||||||
|
}
|
||||||
276
gen/api/go/conf/v1/oss.pb.validate.go
Normal file
276
gen/api/go/conf/v1/oss.pb.validate.go
Normal file
@@ -0,0 +1,276 @@
|
|||||||
|
// Code generated by protoc-gen-validate. DO NOT EDIT.
|
||||||
|
// source: conf/v1/oss.proto
|
||||||
|
|
||||||
|
package conf
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
"net"
|
||||||
|
"net/mail"
|
||||||
|
"net/url"
|
||||||
|
"regexp"
|
||||||
|
"sort"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
"unicode/utf8"
|
||||||
|
|
||||||
|
"google.golang.org/protobuf/types/known/anypb"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ensure the imports are used
|
||||||
|
var (
|
||||||
|
_ = bytes.MinRead
|
||||||
|
_ = errors.New("")
|
||||||
|
_ = fmt.Print
|
||||||
|
_ = utf8.UTFMax
|
||||||
|
_ = (*regexp.Regexp)(nil)
|
||||||
|
_ = (*strings.Reader)(nil)
|
||||||
|
_ = net.IPv4len
|
||||||
|
_ = time.Duration(0)
|
||||||
|
_ = (*url.URL)(nil)
|
||||||
|
_ = (*mail.Address)(nil)
|
||||||
|
_ = anypb.Any{}
|
||||||
|
_ = sort.Sort
|
||||||
|
)
|
||||||
|
|
||||||
|
// Validate checks the field values on OSS with the rules defined in the proto
|
||||||
|
// definition for this message. If any rules are violated, the first error
|
||||||
|
// encountered is returned, or nil if there are no violations.
|
||||||
|
func (m *OSS) Validate() error {
|
||||||
|
return m.validate(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateAll checks the field values on OSS with the rules defined in the
|
||||||
|
// proto definition for this message. If any rules are violated, the result is
|
||||||
|
// a list of violation errors wrapped in OSSMultiError, or nil if none found.
|
||||||
|
func (m *OSS) ValidateAll() error {
|
||||||
|
return m.validate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *OSS) validate(all bool) error {
|
||||||
|
if m == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var errors []error
|
||||||
|
|
||||||
|
if all {
|
||||||
|
switch v := interface{}(m.GetMinio()).(type) {
|
||||||
|
case interface{ ValidateAll() error }:
|
||||||
|
if err := v.ValidateAll(); err != nil {
|
||||||
|
errors = append(errors, OSSValidationError{
|
||||||
|
field: "Minio",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
case interface{ Validate() error }:
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
errors = append(errors, OSSValidationError{
|
||||||
|
field: "Minio",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if v, ok := interface{}(m.GetMinio()).(interface{ Validate() error }); ok {
|
||||||
|
if err := v.Validate(); err != nil {
|
||||||
|
return OSSValidationError{
|
||||||
|
field: "Minio",
|
||||||
|
reason: "embedded message failed validation",
|
||||||
|
cause: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(errors) > 0 {
|
||||||
|
return OSSMultiError(errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// OSSMultiError is an error wrapping multiple validation errors returned by
|
||||||
|
// OSS.ValidateAll() if the designated constraints aren't met.
|
||||||
|
type OSSMultiError []error
|
||||||
|
|
||||||
|
// Error returns a concatenation of all the error messages it wraps.
|
||||||
|
func (m OSSMultiError) Error() string {
|
||||||
|
var msgs []string
|
||||||
|
for _, err := range m {
|
||||||
|
msgs = append(msgs, err.Error())
|
||||||
|
}
|
||||||
|
return strings.Join(msgs, "; ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// AllErrors returns a list of validation violation errors.
|
||||||
|
func (m OSSMultiError) AllErrors() []error { return m }
|
||||||
|
|
||||||
|
// OSSValidationError is the validation error returned by OSS.Validate if the
|
||||||
|
// designated constraints aren't met.
|
||||||
|
type OSSValidationError struct {
|
||||||
|
field string
|
||||||
|
reason string
|
||||||
|
cause error
|
||||||
|
key bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Field function returns field value.
|
||||||
|
func (e OSSValidationError) Field() string { return e.field }
|
||||||
|
|
||||||
|
// Reason function returns reason value.
|
||||||
|
func (e OSSValidationError) Reason() string { return e.reason }
|
||||||
|
|
||||||
|
// Cause function returns cause value.
|
||||||
|
func (e OSSValidationError) Cause() error { return e.cause }
|
||||||
|
|
||||||
|
// Key function returns key value.
|
||||||
|
func (e OSSValidationError) Key() bool { return e.key }
|
||||||
|
|
||||||
|
// ErrorName returns error name.
|
||||||
|
func (e OSSValidationError) ErrorName() string { return "OSSValidationError" }
|
||||||
|
|
||||||
|
// Error satisfies the builtin error interface
|
||||||
|
func (e OSSValidationError) Error() string {
|
||||||
|
cause := ""
|
||||||
|
if e.cause != nil {
|
||||||
|
cause = fmt.Sprintf(" | caused by: %v", e.cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
key := ""
|
||||||
|
if e.key {
|
||||||
|
key = "key for "
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf(
|
||||||
|
"invalid %sOSS.%s: %s%s",
|
||||||
|
key,
|
||||||
|
e.field,
|
||||||
|
e.reason,
|
||||||
|
cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = OSSValidationError{}
|
||||||
|
|
||||||
|
var _ interface {
|
||||||
|
Field() string
|
||||||
|
Reason() string
|
||||||
|
Key() bool
|
||||||
|
Cause() error
|
||||||
|
ErrorName() string
|
||||||
|
} = OSSValidationError{}
|
||||||
|
|
||||||
|
// Validate checks the field values on OSS_MinIO with the rules defined in the
|
||||||
|
// proto definition for this message. If any rules are violated, the first
|
||||||
|
// error encountered is returned, or nil if there are no violations.
|
||||||
|
func (m *OSS_MinIO) Validate() error {
|
||||||
|
return m.validate(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateAll checks the field values on OSS_MinIO with the rules defined in
|
||||||
|
// the proto definition for this message. If any rules are violated, the
|
||||||
|
// result is a list of violation errors wrapped in OSS_MinIOMultiError, or nil
|
||||||
|
// if none found.
|
||||||
|
func (m *OSS_MinIO) ValidateAll() error {
|
||||||
|
return m.validate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *OSS_MinIO) validate(all bool) error {
|
||||||
|
if m == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var errors []error
|
||||||
|
|
||||||
|
// no validation rules for Endpoint
|
||||||
|
|
||||||
|
// no validation rules for AccessKey
|
||||||
|
|
||||||
|
// no validation rules for SecretKey
|
||||||
|
|
||||||
|
// no validation rules for Token
|
||||||
|
|
||||||
|
// no validation rules for UseSsl
|
||||||
|
|
||||||
|
// no validation rules for UploadHost
|
||||||
|
|
||||||
|
// no validation rules for DownloadHost
|
||||||
|
|
||||||
|
if len(errors) > 0 {
|
||||||
|
return OSS_MinIOMultiError(errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// OSS_MinIOMultiError is an error wrapping multiple validation errors returned
|
||||||
|
// by OSS_MinIO.ValidateAll() if the designated constraints aren't met.
|
||||||
|
type OSS_MinIOMultiError []error
|
||||||
|
|
||||||
|
// Error returns a concatenation of all the error messages it wraps.
|
||||||
|
func (m OSS_MinIOMultiError) Error() string {
|
||||||
|
var msgs []string
|
||||||
|
for _, err := range m {
|
||||||
|
msgs = append(msgs, err.Error())
|
||||||
|
}
|
||||||
|
return strings.Join(msgs, "; ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// AllErrors returns a list of validation violation errors.
|
||||||
|
func (m OSS_MinIOMultiError) AllErrors() []error { return m }
|
||||||
|
|
||||||
|
// OSS_MinIOValidationError is the validation error returned by
|
||||||
|
// OSS_MinIO.Validate if the designated constraints aren't met.
|
||||||
|
type OSS_MinIOValidationError struct {
|
||||||
|
field string
|
||||||
|
reason string
|
||||||
|
cause error
|
||||||
|
key bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Field function returns field value.
|
||||||
|
func (e OSS_MinIOValidationError) Field() string { return e.field }
|
||||||
|
|
||||||
|
// Reason function returns reason value.
|
||||||
|
func (e OSS_MinIOValidationError) Reason() string { return e.reason }
|
||||||
|
|
||||||
|
// Cause function returns cause value.
|
||||||
|
func (e OSS_MinIOValidationError) Cause() error { return e.cause }
|
||||||
|
|
||||||
|
// Key function returns key value.
|
||||||
|
func (e OSS_MinIOValidationError) Key() bool { return e.key }
|
||||||
|
|
||||||
|
// ErrorName returns error name.
|
||||||
|
func (e OSS_MinIOValidationError) ErrorName() string { return "OSS_MinIOValidationError" }
|
||||||
|
|
||||||
|
// Error satisfies the builtin error interface
|
||||||
|
func (e OSS_MinIOValidationError) Error() string {
|
||||||
|
cause := ""
|
||||||
|
if e.cause != nil {
|
||||||
|
cause = fmt.Sprintf(" | caused by: %v", e.cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
key := ""
|
||||||
|
if e.key {
|
||||||
|
key = "key for "
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf(
|
||||||
|
"invalid %sOSS_MinIO.%s: %s%s",
|
||||||
|
key,
|
||||||
|
e.field,
|
||||||
|
e.reason,
|
||||||
|
cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = OSS_MinIOValidationError{}
|
||||||
|
|
||||||
|
var _ interface {
|
||||||
|
Field() string
|
||||||
|
Reason() string
|
||||||
|
Key() bool
|
||||||
|
Cause() error
|
||||||
|
ErrorName() string
|
||||||
|
} = OSS_MinIOValidationError{}
|
||||||
967
gen/api/go/conf/v1/registry.pb.go
Normal file
967
gen/api/go/conf/v1/registry.pb.go
Normal file
@@ -0,0 +1,967 @@
|
|||||||
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
|
// versions:
|
||||||
|
// protoc-gen-go v1.30.0
|
||||||
|
// protoc (unknown)
|
||||||
|
// source: conf/v1/registry.proto
|
||||||
|
|
||||||
|
package conf
|
||||||
|
|
||||||
|
import (
|
||||||
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||||
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||||
|
durationpb "google.golang.org/protobuf/types/known/durationpb"
|
||||||
|
reflect "reflect"
|
||||||
|
sync "sync"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
// Verify that this generated code is sufficiently up-to-date.
|
||||||
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||||
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||||
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||||
|
)
|
||||||
|
|
||||||
|
// 注册发现中心
|
||||||
|
type Registry struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
|
||||||
|
Consul *Registry_Consul `protobuf:"bytes,2,opt,name=consul,proto3" json:"consul,omitempty"` // Consul
|
||||||
|
Etcd *Registry_Etcd `protobuf:"bytes,3,opt,name=etcd,proto3" json:"etcd,omitempty"` // Etcd
|
||||||
|
Zookeeper *Registry_ZooKeeper `protobuf:"bytes,4,opt,name=zookeeper,proto3" json:"zookeeper,omitempty"` // ZooKeeper
|
||||||
|
Nacos *Registry_Nacos `protobuf:"bytes,5,opt,name=nacos,proto3" json:"nacos,omitempty"` // Nacos
|
||||||
|
Kubernetes *Registry_Kubernetes `protobuf:"bytes,6,opt,name=kubernetes,proto3" json:"kubernetes,omitempty"` // Kubernetes
|
||||||
|
Eureka *Registry_Eureka `protobuf:"bytes,7,opt,name=eureka,proto3" json:"eureka,omitempty"` // Eureka
|
||||||
|
Polaris *Registry_Polaris `protobuf:"bytes,8,opt,name=polaris,proto3" json:"polaris,omitempty"` // Polaris
|
||||||
|
Servicecomb *Registry_Servicecomb `protobuf:"bytes,9,opt,name=servicecomb,proto3" json:"servicecomb,omitempty"` // Servicecomb
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry) Reset() {
|
||||||
|
*x = Registry{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_registry_proto_msgTypes[0]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Registry) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Registry) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_registry_proto_msgTypes[0]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Registry.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Registry) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_registry_proto_rawDescGZIP(), []int{0}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry) GetType() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Type
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry) GetConsul() *Registry_Consul {
|
||||||
|
if x != nil {
|
||||||
|
return x.Consul
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry) GetEtcd() *Registry_Etcd {
|
||||||
|
if x != nil {
|
||||||
|
return x.Etcd
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry) GetZookeeper() *Registry_ZooKeeper {
|
||||||
|
if x != nil {
|
||||||
|
return x.Zookeeper
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry) GetNacos() *Registry_Nacos {
|
||||||
|
if x != nil {
|
||||||
|
return x.Nacos
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry) GetKubernetes() *Registry_Kubernetes {
|
||||||
|
if x != nil {
|
||||||
|
return x.Kubernetes
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry) GetEureka() *Registry_Eureka {
|
||||||
|
if x != nil {
|
||||||
|
return x.Eureka
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry) GetPolaris() *Registry_Polaris {
|
||||||
|
if x != nil {
|
||||||
|
return x.Polaris
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry) GetServicecomb() *Registry_Servicecomb {
|
||||||
|
if x != nil {
|
||||||
|
return x.Servicecomb
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Consul
|
||||||
|
type Registry_Consul struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Scheme string `protobuf:"bytes,1,opt,name=scheme,proto3" json:"scheme,omitempty"` // 网络样式
|
||||||
|
Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` // 服务端地址
|
||||||
|
HealthCheck bool `protobuf:"varint,3,opt,name=health_check,json=healthCheck,proto3" json:"health_check,omitempty"` // 健康检查
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Consul) Reset() {
|
||||||
|
*x = Registry_Consul{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_registry_proto_msgTypes[1]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Consul) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Registry_Consul) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Registry_Consul) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_registry_proto_msgTypes[1]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Registry_Consul.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Registry_Consul) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_registry_proto_rawDescGZIP(), []int{0, 0}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Consul) GetScheme() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Scheme
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Consul) GetAddress() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Address
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Consul) GetHealthCheck() bool {
|
||||||
|
if x != nil {
|
||||||
|
return x.HealthCheck
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// Etcd
|
||||||
|
type Registry_Etcd struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Endpoints []string `protobuf:"bytes,1,rep,name=endpoints,proto3" json:"endpoints,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Etcd) Reset() {
|
||||||
|
*x = Registry_Etcd{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_registry_proto_msgTypes[2]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Etcd) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Registry_Etcd) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Registry_Etcd) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_registry_proto_msgTypes[2]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Registry_Etcd.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Registry_Etcd) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_registry_proto_rawDescGZIP(), []int{0, 1}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Etcd) GetEndpoints() []string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Endpoints
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// ZooKeeper
|
||||||
|
type Registry_ZooKeeper struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Endpoints []string `protobuf:"bytes,1,rep,name=endpoints,proto3" json:"endpoints,omitempty"`
|
||||||
|
Timeout *durationpb.Duration `protobuf:"bytes,2,opt,name=timeout,proto3" json:"timeout,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_ZooKeeper) Reset() {
|
||||||
|
*x = Registry_ZooKeeper{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_registry_proto_msgTypes[3]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_ZooKeeper) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Registry_ZooKeeper) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Registry_ZooKeeper) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_registry_proto_msgTypes[3]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Registry_ZooKeeper.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Registry_ZooKeeper) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_registry_proto_rawDescGZIP(), []int{0, 2}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_ZooKeeper) GetEndpoints() []string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Endpoints
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_ZooKeeper) GetTimeout() *durationpb.Duration {
|
||||||
|
if x != nil {
|
||||||
|
return x.Timeout
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Nacos
|
||||||
|
type Registry_Nacos struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` // 服务端地址
|
||||||
|
Port uint64 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` // 服务端端口
|
||||||
|
NamespaceId string `protobuf:"bytes,3,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` //
|
||||||
|
LogLevel string `protobuf:"bytes,4,opt,name=log_level,json=logLevel,proto3" json:"log_level,omitempty"` // 日志等级
|
||||||
|
CacheDir string `protobuf:"bytes,5,opt,name=cache_dir,json=cacheDir,proto3" json:"cache_dir,omitempty"` // 缓存目录
|
||||||
|
LogDir string `protobuf:"bytes,6,opt,name=log_dir,json=logDir,proto3" json:"log_dir,omitempty"` // 日志目录
|
||||||
|
UpdateThreadNum int32 `protobuf:"varint,7,opt,name=update_thread_num,json=updateThreadNum,proto3" json:"update_thread_num,omitempty"` // 更新服务的线程数
|
||||||
|
Timeout *durationpb.Duration `protobuf:"bytes,8,opt,name=timeout,proto3" json:"timeout,omitempty"` // http请求超时时间,单位: 毫秒
|
||||||
|
BeatInterval *durationpb.Duration `protobuf:"bytes,9,opt,name=beat_interval,json=beatInterval,proto3" json:"beat_interval,omitempty"` // 心跳间隔时间,单位: 毫秒
|
||||||
|
NotLoadCacheAtStart bool `protobuf:"varint,10,opt,name=not_load_cache_at_start,json=notLoadCacheAtStart,proto3" json:"not_load_cache_at_start,omitempty"` // 在启动时不读取本地缓存数据,true: 不读取,false: 读取
|
||||||
|
UpdateCacheWhenEmpty bool `protobuf:"varint,11,opt,name=update_cache_when_empty,json=updateCacheWhenEmpty,proto3" json:"update_cache_when_empty,omitempty"` // 当服务列表为空时是否更新本地缓存,true: 更新,false: 不更新
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Nacos) Reset() {
|
||||||
|
*x = Registry_Nacos{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_registry_proto_msgTypes[4]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Nacos) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Registry_Nacos) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Registry_Nacos) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_registry_proto_msgTypes[4]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Registry_Nacos.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Registry_Nacos) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_registry_proto_rawDescGZIP(), []int{0, 3}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Nacos) GetAddress() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Address
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Nacos) GetPort() uint64 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Port
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Nacos) GetNamespaceId() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.NamespaceId
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Nacos) GetLogLevel() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.LogLevel
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Nacos) GetCacheDir() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.CacheDir
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Nacos) GetLogDir() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.LogDir
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Nacos) GetUpdateThreadNum() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.UpdateThreadNum
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Nacos) GetTimeout() *durationpb.Duration {
|
||||||
|
if x != nil {
|
||||||
|
return x.Timeout
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Nacos) GetBeatInterval() *durationpb.Duration {
|
||||||
|
if x != nil {
|
||||||
|
return x.BeatInterval
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Nacos) GetNotLoadCacheAtStart() bool {
|
||||||
|
if x != nil {
|
||||||
|
return x.NotLoadCacheAtStart
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Nacos) GetUpdateCacheWhenEmpty() bool {
|
||||||
|
if x != nil {
|
||||||
|
return x.UpdateCacheWhenEmpty
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// Kubernetes
|
||||||
|
type Registry_Kubernetes struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Kubernetes) Reset() {
|
||||||
|
*x = Registry_Kubernetes{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_registry_proto_msgTypes[5]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Kubernetes) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Registry_Kubernetes) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Registry_Kubernetes) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_registry_proto_msgTypes[5]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Registry_Kubernetes.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Registry_Kubernetes) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_registry_proto_rawDescGZIP(), []int{0, 4}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Eureka
|
||||||
|
type Registry_Eureka struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Endpoints []string `protobuf:"bytes,1,rep,name=endpoints,proto3" json:"endpoints,omitempty"`
|
||||||
|
HeartbeatInterval *durationpb.Duration `protobuf:"bytes,2,opt,name=heartbeat_interval,json=heartbeatInterval,proto3" json:"heartbeat_interval,omitempty"`
|
||||||
|
RefreshInterval *durationpb.Duration `protobuf:"bytes,3,opt,name=refresh_interval,json=refreshInterval,proto3" json:"refresh_interval,omitempty"`
|
||||||
|
Path string `protobuf:"bytes,4,opt,name=path,proto3" json:"path,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Eureka) Reset() {
|
||||||
|
*x = Registry_Eureka{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_registry_proto_msgTypes[6]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Eureka) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Registry_Eureka) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Registry_Eureka) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_registry_proto_msgTypes[6]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Registry_Eureka.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Registry_Eureka) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_registry_proto_rawDescGZIP(), []int{0, 5}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Eureka) GetEndpoints() []string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Endpoints
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Eureka) GetHeartbeatInterval() *durationpb.Duration {
|
||||||
|
if x != nil {
|
||||||
|
return x.HeartbeatInterval
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Eureka) GetRefreshInterval() *durationpb.Duration {
|
||||||
|
if x != nil {
|
||||||
|
return x.RefreshInterval
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Eureka) GetPath() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Path
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
// Polaris
|
||||||
|
type Registry_Polaris struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` // 服务端地址
|
||||||
|
Port int32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` // 服务端端口
|
||||||
|
InstanceCount int32 `protobuf:"varint,3,opt,name=instance_count,json=instanceCount,proto3" json:"instance_count,omitempty"`
|
||||||
|
Namespace string `protobuf:"bytes,4,opt,name=namespace,proto3" json:"namespace,omitempty"`
|
||||||
|
Service string `protobuf:"bytes,5,opt,name=service,proto3" json:"service,omitempty"`
|
||||||
|
Token string `protobuf:"bytes,6,opt,name=token,proto3" json:"token,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Polaris) Reset() {
|
||||||
|
*x = Registry_Polaris{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_registry_proto_msgTypes[7]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Polaris) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Registry_Polaris) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Registry_Polaris) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_registry_proto_msgTypes[7]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Registry_Polaris.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Registry_Polaris) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_registry_proto_rawDescGZIP(), []int{0, 6}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Polaris) GetAddress() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Address
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Polaris) GetPort() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Port
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Polaris) GetInstanceCount() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.InstanceCount
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Polaris) GetNamespace() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Namespace
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Polaris) GetService() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Service
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Polaris) GetToken() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Token
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
// Servicecomb
|
||||||
|
type Registry_Servicecomb struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Endpoints []string `protobuf:"bytes,1,rep,name=endpoints,proto3" json:"endpoints,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Servicecomb) Reset() {
|
||||||
|
*x = Registry_Servicecomb{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_registry_proto_msgTypes[8]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Servicecomb) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Registry_Servicecomb) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Registry_Servicecomb) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_registry_proto_msgTypes[8]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Registry_Servicecomb.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Registry_Servicecomb) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_registry_proto_rawDescGZIP(), []int{0, 7}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Registry_Servicecomb) GetEndpoints() []string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Endpoints
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var File_conf_v1_registry_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
|
var file_conf_v1_registry_proto_rawDesc = []byte{
|
||||||
|
0x0a, 0x16, 0x63, 0x6f, 0x6e, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74,
|
||||||
|
0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x1a, 0x1e,
|
||||||
|
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
|
||||||
|
0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c,
|
||||||
|
0x0c, 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74,
|
||||||
|
0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12,
|
||||||
|
0x2d, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||||
|
0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e,
|
||||||
|
0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x12, 0x27,
|
||||||
|
0x0a, 0x04, 0x65, 0x74, 0x63, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63,
|
||||||
|
0x6f, 0x6e, 0x66, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x45, 0x74, 0x63,
|
||||||
|
0x64, 0x52, 0x04, 0x65, 0x74, 0x63, 0x64, 0x12, 0x36, 0x0a, 0x09, 0x7a, 0x6f, 0x6f, 0x6b, 0x65,
|
||||||
|
0x65, 0x70, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e,
|
||||||
|
0x66, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x5a, 0x6f, 0x6f, 0x4b, 0x65,
|
||||||
|
0x65, 0x70, 0x65, 0x72, 0x52, 0x09, 0x7a, 0x6f, 0x6f, 0x6b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x12,
|
||||||
|
0x2a, 0x0a, 0x05, 0x6e, 0x61, 0x63, 0x6f, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14,
|
||||||
|
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e,
|
||||||
|
0x61, 0x63, 0x6f, 0x73, 0x52, 0x05, 0x6e, 0x61, 0x63, 0x6f, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x6b,
|
||||||
|
0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||||
|
0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e,
|
||||||
|
0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x52, 0x0a, 0x6b, 0x75, 0x62, 0x65,
|
||||||
|
0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x06, 0x65, 0x75, 0x72, 0x65, 0x6b, 0x61,
|
||||||
|
0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x52, 0x65,
|
||||||
|
0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x45, 0x75, 0x72, 0x65, 0x6b, 0x61, 0x52, 0x06, 0x65,
|
||||||
|
0x75, 0x72, 0x65, 0x6b, 0x61, 0x12, 0x30, 0x0a, 0x07, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73,
|
||||||
|
0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x52, 0x65,
|
||||||
|
0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x50, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x52, 0x07,
|
||||||
|
0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x12, 0x3c, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69,
|
||||||
|
0x63, 0x65, 0x63, 0x6f, 0x6d, 0x62, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63,
|
||||||
|
0x6f, 0x6e, 0x66, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x72,
|
||||||
|
0x76, 0x69, 0x63, 0x65, 0x63, 0x6f, 0x6d, 0x62, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
|
||||||
|
0x65, 0x63, 0x6f, 0x6d, 0x62, 0x1a, 0x5d, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x12,
|
||||||
|
0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||||
|
0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65,
|
||||||
|
0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
|
||||||
|
0x73, 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63,
|
||||||
|
0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43,
|
||||||
|
0x68, 0x65, 0x63, 0x6b, 0x1a, 0x24, 0x0a, 0x04, 0x45, 0x74, 0x63, 0x64, 0x12, 0x1c, 0x0a, 0x09,
|
||||||
|
0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52,
|
||||||
|
0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x5e, 0x0a, 0x09, 0x5a, 0x6f,
|
||||||
|
0x6f, 0x4b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f,
|
||||||
|
0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x70,
|
||||||
|
0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
|
||||||
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
||||||
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
|
||||||
|
0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x1a, 0xb9, 0x03, 0x0a, 0x05, 0x4e,
|
||||||
|
0x61, 0x63, 0x6f, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18,
|
||||||
|
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12,
|
||||||
|
0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x6f,
|
||||||
|
0x72, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f,
|
||||||
|
0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70,
|
||||||
|
0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x65, 0x76,
|
||||||
|
0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x4c, 0x65, 0x76,
|
||||||
|
0x65, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x18,
|
||||||
|
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x72, 0x12,
|
||||||
|
0x17, 0x0a, 0x07, 0x6c, 0x6f, 0x67, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
|
||||||
|
0x52, 0x06, 0x6c, 0x6f, 0x67, 0x44, 0x69, 0x72, 0x12, 0x2a, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61,
|
||||||
|
0x74, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x07, 0x20,
|
||||||
|
0x01, 0x28, 0x05, 0x52, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x68, 0x72, 0x65, 0x61,
|
||||||
|
0x64, 0x4e, 0x75, 0x6d, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18,
|
||||||
|
0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
|
||||||
|
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
||||||
|
0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x3e, 0x0a, 0x0d, 0x62, 0x65, 0x61,
|
||||||
|
0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b,
|
||||||
|
0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
|
||||||
|
0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x62, 0x65, 0x61,
|
||||||
|
0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x34, 0x0a, 0x17, 0x6e, 0x6f, 0x74,
|
||||||
|
0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x61, 0x74, 0x5f, 0x73,
|
||||||
|
0x74, 0x61, 0x72, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x6e, 0x6f, 0x74, 0x4c,
|
||||||
|
0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x41, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12,
|
||||||
|
0x35, 0x0a, 0x17, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f,
|
||||||
|
0x77, 0x68, 0x65, 0x6e, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08,
|
||||||
|
0x52, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x57, 0x68, 0x65,
|
||||||
|
0x6e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0c, 0x0a, 0x0a, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e,
|
||||||
|
0x65, 0x74, 0x65, 0x73, 0x1a, 0xca, 0x01, 0x0a, 0x06, 0x45, 0x75, 0x72, 0x65, 0x6b, 0x61, 0x12,
|
||||||
|
0x1c, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
|
||||||
|
0x28, 0x09, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x48, 0x0a,
|
||||||
|
0x12, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72,
|
||||||
|
0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
|
||||||
|
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61,
|
||||||
|
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x49,
|
||||||
|
0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x44, 0x0a, 0x10, 0x72, 0x65, 0x66, 0x72, 0x65,
|
||||||
|
0x73, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||||
|
0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||||
|
0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x72, 0x65,
|
||||||
|
0x66, 0x72, 0x65, 0x73, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x12, 0x0a,
|
||||||
|
0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74,
|
||||||
|
0x68, 0x1a, 0xac, 0x01, 0x0a, 0x07, 0x50, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x12, 0x18, 0x0a,
|
||||||
|
0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
|
||||||
|
0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18,
|
||||||
|
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x69,
|
||||||
|
0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20,
|
||||||
|
0x01, 0x28, 0x05, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x75,
|
||||||
|
0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
|
||||||
|
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65,
|
||||||
|
0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
|
||||||
|
0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f,
|
||||||
|
0x6b, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
|
||||||
|
0x1a, 0x2b, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x63, 0x6f, 0x6d, 0x62, 0x12,
|
||||||
|
0x1c, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
|
||||||
|
0x28, 0x09, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x23, 0x5a,
|
||||||
|
0x21, 0x6b, 0x72, 0x61, 0x74, 0x6f, 0x73, 0x2d, 0x62, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61,
|
||||||
|
0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f,
|
||||||
|
0x6e, 0x66, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
file_conf_v1_registry_proto_rawDescOnce sync.Once
|
||||||
|
file_conf_v1_registry_proto_rawDescData = file_conf_v1_registry_proto_rawDesc
|
||||||
|
)
|
||||||
|
|
||||||
|
func file_conf_v1_registry_proto_rawDescGZIP() []byte {
|
||||||
|
file_conf_v1_registry_proto_rawDescOnce.Do(func() {
|
||||||
|
file_conf_v1_registry_proto_rawDescData = protoimpl.X.CompressGZIP(file_conf_v1_registry_proto_rawDescData)
|
||||||
|
})
|
||||||
|
return file_conf_v1_registry_proto_rawDescData
|
||||||
|
}
|
||||||
|
|
||||||
|
var file_conf_v1_registry_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
|
||||||
|
var file_conf_v1_registry_proto_goTypes = []interface{}{
|
||||||
|
(*Registry)(nil), // 0: conf.Registry
|
||||||
|
(*Registry_Consul)(nil), // 1: conf.Registry.Consul
|
||||||
|
(*Registry_Etcd)(nil), // 2: conf.Registry.Etcd
|
||||||
|
(*Registry_ZooKeeper)(nil), // 3: conf.Registry.ZooKeeper
|
||||||
|
(*Registry_Nacos)(nil), // 4: conf.Registry.Nacos
|
||||||
|
(*Registry_Kubernetes)(nil), // 5: conf.Registry.Kubernetes
|
||||||
|
(*Registry_Eureka)(nil), // 6: conf.Registry.Eureka
|
||||||
|
(*Registry_Polaris)(nil), // 7: conf.Registry.Polaris
|
||||||
|
(*Registry_Servicecomb)(nil), // 8: conf.Registry.Servicecomb
|
||||||
|
(*durationpb.Duration)(nil), // 9: google.protobuf.Duration
|
||||||
|
}
|
||||||
|
var file_conf_v1_registry_proto_depIdxs = []int32{
|
||||||
|
1, // 0: conf.Registry.consul:type_name -> conf.Registry.Consul
|
||||||
|
2, // 1: conf.Registry.etcd:type_name -> conf.Registry.Etcd
|
||||||
|
3, // 2: conf.Registry.zookeeper:type_name -> conf.Registry.ZooKeeper
|
||||||
|
4, // 3: conf.Registry.nacos:type_name -> conf.Registry.Nacos
|
||||||
|
5, // 4: conf.Registry.kubernetes:type_name -> conf.Registry.Kubernetes
|
||||||
|
6, // 5: conf.Registry.eureka:type_name -> conf.Registry.Eureka
|
||||||
|
7, // 6: conf.Registry.polaris:type_name -> conf.Registry.Polaris
|
||||||
|
8, // 7: conf.Registry.servicecomb:type_name -> conf.Registry.Servicecomb
|
||||||
|
9, // 8: conf.Registry.ZooKeeper.timeout:type_name -> google.protobuf.Duration
|
||||||
|
9, // 9: conf.Registry.Nacos.timeout:type_name -> google.protobuf.Duration
|
||||||
|
9, // 10: conf.Registry.Nacos.beat_interval:type_name -> google.protobuf.Duration
|
||||||
|
9, // 11: conf.Registry.Eureka.heartbeat_interval:type_name -> google.protobuf.Duration
|
||||||
|
9, // 12: conf.Registry.Eureka.refresh_interval:type_name -> google.protobuf.Duration
|
||||||
|
13, // [13:13] is the sub-list for method output_type
|
||||||
|
13, // [13:13] is the sub-list for method input_type
|
||||||
|
13, // [13:13] is the sub-list for extension type_name
|
||||||
|
13, // [13:13] is the sub-list for extension extendee
|
||||||
|
0, // [0:13] is the sub-list for field type_name
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() { file_conf_v1_registry_proto_init() }
|
||||||
|
func file_conf_v1_registry_proto_init() {
|
||||||
|
if File_conf_v1_registry_proto != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if !protoimpl.UnsafeEnabled {
|
||||||
|
file_conf_v1_registry_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Registry); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_registry_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Registry_Consul); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_registry_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Registry_Etcd); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_registry_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Registry_ZooKeeper); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_registry_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Registry_Nacos); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_registry_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Registry_Kubernetes); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_registry_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Registry_Eureka); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_registry_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Registry_Polaris); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_registry_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Registry_Servicecomb); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
type x struct{}
|
||||||
|
out := protoimpl.TypeBuilder{
|
||||||
|
File: protoimpl.DescBuilder{
|
||||||
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
|
RawDescriptor: file_conf_v1_registry_proto_rawDesc,
|
||||||
|
NumEnums: 0,
|
||||||
|
NumMessages: 9,
|
||||||
|
NumExtensions: 0,
|
||||||
|
NumServices: 0,
|
||||||
|
},
|
||||||
|
GoTypes: file_conf_v1_registry_proto_goTypes,
|
||||||
|
DependencyIndexes: file_conf_v1_registry_proto_depIdxs,
|
||||||
|
MessageInfos: file_conf_v1_registry_proto_msgTypes,
|
||||||
|
}.Build()
|
||||||
|
File_conf_v1_registry_proto = out.File
|
||||||
|
file_conf_v1_registry_proto_rawDesc = nil
|
||||||
|
file_conf_v1_registry_proto_goTypes = nil
|
||||||
|
file_conf_v1_registry_proto_depIdxs = nil
|
||||||
|
}
|
||||||
1358
gen/api/go/conf/v1/registry.pb.validate.go
Normal file
1358
gen/api/go/conf/v1/registry.pb.validate.go
Normal file
File diff suppressed because it is too large
Load Diff
783
gen/api/go/conf/v1/server.pb.go
Normal file
783
gen/api/go/conf/v1/server.pb.go
Normal file
@@ -0,0 +1,783 @@
|
|||||||
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
|
// versions:
|
||||||
|
// protoc-gen-go v1.30.0
|
||||||
|
// protoc (unknown)
|
||||||
|
// source: conf/v1/server.proto
|
||||||
|
|
||||||
|
package conf
|
||||||
|
|
||||||
|
import (
|
||||||
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||||
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||||
|
durationpb "google.golang.org/protobuf/types/known/durationpb"
|
||||||
|
reflect "reflect"
|
||||||
|
sync "sync"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
// Verify that this generated code is sufficiently up-to-date.
|
||||||
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||||
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||||
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||||
|
)
|
||||||
|
|
||||||
|
// 服务器
|
||||||
|
type Server struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Rest *Server_REST `protobuf:"bytes,1,opt,name=rest,proto3" json:"rest,omitempty"` // REST服务
|
||||||
|
Grpc *Server_GRPC `protobuf:"bytes,2,opt,name=grpc,proto3" json:"grpc,omitempty"` // gRPC服务
|
||||||
|
Websocket *Server_Websocket `protobuf:"bytes,3,opt,name=websocket,proto3" json:"websocket,omitempty"` // Websocket服务
|
||||||
|
Mqtt *Server_Mqtt `protobuf:"bytes,4,opt,name=mqtt,proto3" json:"mqtt,omitempty"` // MQTT服务
|
||||||
|
Kafka *Server_Kafka `protobuf:"bytes,5,opt,name=kafka,proto3" json:"kafka,omitempty"` // Kafka服务
|
||||||
|
Rabbitmq *Server_RabbitMQ `protobuf:"bytes,6,opt,name=rabbitmq,proto3" json:"rabbitmq,omitempty"` // RabbitMQ服务
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server) Reset() {
|
||||||
|
*x = Server{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_server_proto_msgTypes[0]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Server) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Server) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_server_proto_msgTypes[0]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Server.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Server) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_server_proto_rawDescGZIP(), []int{0}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server) GetRest() *Server_REST {
|
||||||
|
if x != nil {
|
||||||
|
return x.Rest
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server) GetGrpc() *Server_GRPC {
|
||||||
|
if x != nil {
|
||||||
|
return x.Grpc
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server) GetWebsocket() *Server_Websocket {
|
||||||
|
if x != nil {
|
||||||
|
return x.Websocket
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server) GetMqtt() *Server_Mqtt {
|
||||||
|
if x != nil {
|
||||||
|
return x.Mqtt
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server) GetKafka() *Server_Kafka {
|
||||||
|
if x != nil {
|
||||||
|
return x.Kafka
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server) GetRabbitmq() *Server_RabbitMQ {
|
||||||
|
if x != nil {
|
||||||
|
return x.Rabbitmq
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// REST
|
||||||
|
type Server_REST struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Network string `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"` // 网络
|
||||||
|
Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"` // 服务监听地址
|
||||||
|
Timeout *durationpb.Duration `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"` // 超时时间
|
||||||
|
Cors *Server_REST_CORS `protobuf:"bytes,4,opt,name=cors,proto3" json:"cors,omitempty"` // 服务监听地址
|
||||||
|
Middleware *Middleware `protobuf:"bytes,5,opt,name=middleware,proto3" json:"middleware,omitempty"` // 中间件
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_REST) Reset() {
|
||||||
|
*x = Server_REST{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_server_proto_msgTypes[1]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_REST) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Server_REST) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Server_REST) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_server_proto_msgTypes[1]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Server_REST.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Server_REST) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_server_proto_rawDescGZIP(), []int{0, 0}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_REST) GetNetwork() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Network
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_REST) GetAddr() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Addr
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_REST) GetTimeout() *durationpb.Duration {
|
||||||
|
if x != nil {
|
||||||
|
return x.Timeout
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_REST) GetCors() *Server_REST_CORS {
|
||||||
|
if x != nil {
|
||||||
|
return x.Cors
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_REST) GetMiddleware() *Middleware {
|
||||||
|
if x != nil {
|
||||||
|
return x.Middleware
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// gPRC
|
||||||
|
type Server_GRPC struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Network string `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"` // 网络
|
||||||
|
Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"` // 服务监听地址
|
||||||
|
Timeout *durationpb.Duration `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"` // 超时时间
|
||||||
|
Middleware *Middleware `protobuf:"bytes,4,opt,name=middleware,proto3" json:"middleware,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_GRPC) Reset() {
|
||||||
|
*x = Server_GRPC{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_server_proto_msgTypes[2]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_GRPC) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Server_GRPC) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Server_GRPC) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_server_proto_msgTypes[2]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Server_GRPC.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Server_GRPC) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_server_proto_rawDescGZIP(), []int{0, 1}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_GRPC) GetNetwork() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Network
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_GRPC) GetAddr() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Addr
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_GRPC) GetTimeout() *durationpb.Duration {
|
||||||
|
if x != nil {
|
||||||
|
return x.Timeout
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_GRPC) GetMiddleware() *Middleware {
|
||||||
|
if x != nil {
|
||||||
|
return x.Middleware
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Websocket
|
||||||
|
type Server_Websocket struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Network string `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"` // 网络样式:http、https
|
||||||
|
Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"` // 服务监听地址
|
||||||
|
Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` // 路径
|
||||||
|
Timeout *durationpb.Duration `protobuf:"bytes,4,opt,name=timeout,proto3" json:"timeout,omitempty"` // 超时时间
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_Websocket) Reset() {
|
||||||
|
*x = Server_Websocket{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_server_proto_msgTypes[3]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_Websocket) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Server_Websocket) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Server_Websocket) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_server_proto_msgTypes[3]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Server_Websocket.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Server_Websocket) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_server_proto_rawDescGZIP(), []int{0, 2}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_Websocket) GetNetwork() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Network
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_Websocket) GetAddr() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Addr
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_Websocket) GetPath() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Path
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_Websocket) GetTimeout() *durationpb.Duration {
|
||||||
|
if x != nil {
|
||||||
|
return x.Timeout
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// MQTT
|
||||||
|
type Server_Mqtt struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` // 对端网络地址
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_Mqtt) Reset() {
|
||||||
|
*x = Server_Mqtt{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_server_proto_msgTypes[4]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_Mqtt) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Server_Mqtt) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Server_Mqtt) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_server_proto_msgTypes[4]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Server_Mqtt.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Server_Mqtt) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_server_proto_rawDescGZIP(), []int{0, 3}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_Mqtt) GetAddr() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Addr
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
// Kafka
|
||||||
|
type Server_Kafka struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Addrs []string `protobuf:"bytes,1,rep,name=addrs,proto3" json:"addrs,omitempty"` // 对端网络地址
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_Kafka) Reset() {
|
||||||
|
*x = Server_Kafka{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_server_proto_msgTypes[5]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_Kafka) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Server_Kafka) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Server_Kafka) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_server_proto_msgTypes[5]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Server_Kafka.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Server_Kafka) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_server_proto_rawDescGZIP(), []int{0, 4}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_Kafka) GetAddrs() []string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Addrs
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// RabbitMQ
|
||||||
|
type Server_RabbitMQ struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Addrs []string `protobuf:"bytes,1,rep,name=addrs,proto3" json:"addrs,omitempty"` // 对端网络地址
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_RabbitMQ) Reset() {
|
||||||
|
*x = Server_RabbitMQ{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_server_proto_msgTypes[6]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_RabbitMQ) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Server_RabbitMQ) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Server_RabbitMQ) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_server_proto_msgTypes[6]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Server_RabbitMQ.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Server_RabbitMQ) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_server_proto_rawDescGZIP(), []int{0, 5}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_RabbitMQ) GetAddrs() []string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Addrs
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
type Server_REST_CORS struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Headers []string `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"` //
|
||||||
|
Methods []string `protobuf:"bytes,2,rep,name=methods,proto3" json:"methods,omitempty"` //
|
||||||
|
Origins []string `protobuf:"bytes,3,rep,name=origins,proto3" json:"origins,omitempty"` //
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_REST_CORS) Reset() {
|
||||||
|
*x = Server_REST_CORS{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_server_proto_msgTypes[7]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_REST_CORS) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Server_REST_CORS) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Server_REST_CORS) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_server_proto_msgTypes[7]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Server_REST_CORS.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Server_REST_CORS) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_server_proto_rawDescGZIP(), []int{0, 0, 0}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_REST_CORS) GetHeaders() []string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Headers
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_REST_CORS) GetMethods() []string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Methods
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Server_REST_CORS) GetOrigins() []string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Origins
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var File_conf_v1_server_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
|
var file_conf_v1_server_proto_rawDesc = []byte{
|
||||||
|
0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
|
||||||
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x1a, 0x1e, 0x67, 0x6f,
|
||||||
|
0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75,
|
||||||
|
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x63, 0x6f,
|
||||||
|
0x6e, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65,
|
||||||
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb0, 0x07, 0x0a, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65,
|
||||||
|
0x72, 0x12, 0x25, 0x0a, 0x04, 0x72, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||||
|
0x11, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x52, 0x45,
|
||||||
|
0x53, 0x54, 0x52, 0x04, 0x72, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x04, 0x67, 0x72, 0x70, 0x63,
|
||||||
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65,
|
||||||
|
0x72, 0x76, 0x65, 0x72, 0x2e, 0x47, 0x52, 0x50, 0x43, 0x52, 0x04, 0x67, 0x72, 0x70, 0x63, 0x12,
|
||||||
|
0x34, 0x0a, 0x09, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01,
|
||||||
|
0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
|
||||||
|
0x2e, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x09, 0x77, 0x65, 0x62, 0x73,
|
||||||
|
0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x04, 0x6d, 0x71, 0x74, 0x74, 0x18, 0x04, 0x20,
|
||||||
|
0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65,
|
||||||
|
0x72, 0x2e, 0x4d, 0x71, 0x74, 0x74, 0x52, 0x04, 0x6d, 0x71, 0x74, 0x74, 0x12, 0x28, 0x0a, 0x05,
|
||||||
|
0x6b, 0x61, 0x66, 0x6b, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f,
|
||||||
|
0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4b, 0x61, 0x66, 0x6b, 0x61, 0x52,
|
||||||
|
0x05, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x12, 0x31, 0x0a, 0x08, 0x72, 0x61, 0x62, 0x62, 0x69, 0x74,
|
||||||
|
0x6d, 0x71, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e,
|
||||||
|
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x52, 0x61, 0x62, 0x62, 0x69, 0x74, 0x4d, 0x51, 0x52,
|
||||||
|
0x08, 0x72, 0x61, 0x62, 0x62, 0x69, 0x74, 0x6d, 0x71, 0x1a, 0x9d, 0x02, 0x0a, 0x04, 0x52, 0x45,
|
||||||
|
0x53, 0x54, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20,
|
||||||
|
0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x12, 0x0a, 0x04,
|
||||||
|
0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72,
|
||||||
|
0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||||
|
0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||||
|
0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69,
|
||||||
|
0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x2a, 0x0a, 0x04, 0x63, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20,
|
||||||
|
0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65,
|
||||||
|
0x72, 0x2e, 0x52, 0x45, 0x53, 0x54, 0x2e, 0x43, 0x4f, 0x52, 0x53, 0x52, 0x04, 0x63, 0x6f, 0x72,
|
||||||
|
0x73, 0x12, 0x30, 0x0a, 0x0a, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x18,
|
||||||
|
0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x4d, 0x69, 0x64,
|
||||||
|
0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x52, 0x0a, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77,
|
||||||
|
0x61, 0x72, 0x65, 0x1a, 0x54, 0x0a, 0x04, 0x43, 0x4f, 0x52, 0x53, 0x12, 0x18, 0x0a, 0x07, 0x68,
|
||||||
|
0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x68, 0x65,
|
||||||
|
0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73,
|
||||||
|
0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x12,
|
||||||
|
0x18, 0x0a, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09,
|
||||||
|
0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x1a, 0x9b, 0x01, 0x0a, 0x04, 0x47, 0x52,
|
||||||
|
0x50, 0x43, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20,
|
||||||
|
0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x12, 0x0a, 0x04,
|
||||||
|
0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72,
|
||||||
|
0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||||
|
0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||||
|
0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69,
|
||||||
|
0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x30, 0x0a, 0x0a, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77,
|
||||||
|
0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
|
||||||
|
0x2e, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x52, 0x0a, 0x6d, 0x69, 0x64,
|
||||||
|
0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x1a, 0x82, 0x01, 0x0a, 0x09, 0x57, 0x65, 0x62, 0x73,
|
||||||
|
0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
|
||||||
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12,
|
||||||
|
0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61,
|
||||||
|
0x64, 0x64, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||||
|
0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f,
|
||||||
|
0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
||||||
|
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74,
|
||||||
|
0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x1a, 0x1a, 0x0a, 0x04,
|
||||||
|
0x4d, 0x71, 0x74, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01,
|
||||||
|
0x28, 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x1a, 0x1d, 0x0a, 0x05, 0x4b, 0x61, 0x66, 0x6b,
|
||||||
|
0x61, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x64, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
|
||||||
|
0x52, 0x05, 0x61, 0x64, 0x64, 0x72, 0x73, 0x1a, 0x20, 0x0a, 0x08, 0x52, 0x61, 0x62, 0x62, 0x69,
|
||||||
|
0x74, 0x4d, 0x51, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x64, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03,
|
||||||
|
0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x64, 0x72, 0x73, 0x42, 0x23, 0x5a, 0x21, 0x6b, 0x72, 0x61,
|
||||||
|
0x74, 0x6f, 0x73, 0x2d, 0x62, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67,
|
||||||
|
0x6f, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6e, 0x66, 0x62, 0x06,
|
||||||
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
file_conf_v1_server_proto_rawDescOnce sync.Once
|
||||||
|
file_conf_v1_server_proto_rawDescData = file_conf_v1_server_proto_rawDesc
|
||||||
|
)
|
||||||
|
|
||||||
|
func file_conf_v1_server_proto_rawDescGZIP() []byte {
|
||||||
|
file_conf_v1_server_proto_rawDescOnce.Do(func() {
|
||||||
|
file_conf_v1_server_proto_rawDescData = protoimpl.X.CompressGZIP(file_conf_v1_server_proto_rawDescData)
|
||||||
|
})
|
||||||
|
return file_conf_v1_server_proto_rawDescData
|
||||||
|
}
|
||||||
|
|
||||||
|
var file_conf_v1_server_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
|
||||||
|
var file_conf_v1_server_proto_goTypes = []interface{}{
|
||||||
|
(*Server)(nil), // 0: conf.Server
|
||||||
|
(*Server_REST)(nil), // 1: conf.Server.REST
|
||||||
|
(*Server_GRPC)(nil), // 2: conf.Server.GRPC
|
||||||
|
(*Server_Websocket)(nil), // 3: conf.Server.Websocket
|
||||||
|
(*Server_Mqtt)(nil), // 4: conf.Server.Mqtt
|
||||||
|
(*Server_Kafka)(nil), // 5: conf.Server.Kafka
|
||||||
|
(*Server_RabbitMQ)(nil), // 6: conf.Server.RabbitMQ
|
||||||
|
(*Server_REST_CORS)(nil), // 7: conf.Server.REST.CORS
|
||||||
|
(*durationpb.Duration)(nil), // 8: google.protobuf.Duration
|
||||||
|
(*Middleware)(nil), // 9: conf.Middleware
|
||||||
|
}
|
||||||
|
var file_conf_v1_server_proto_depIdxs = []int32{
|
||||||
|
1, // 0: conf.Server.rest:type_name -> conf.Server.REST
|
||||||
|
2, // 1: conf.Server.grpc:type_name -> conf.Server.GRPC
|
||||||
|
3, // 2: conf.Server.websocket:type_name -> conf.Server.Websocket
|
||||||
|
4, // 3: conf.Server.mqtt:type_name -> conf.Server.Mqtt
|
||||||
|
5, // 4: conf.Server.kafka:type_name -> conf.Server.Kafka
|
||||||
|
6, // 5: conf.Server.rabbitmq:type_name -> conf.Server.RabbitMQ
|
||||||
|
8, // 6: conf.Server.REST.timeout:type_name -> google.protobuf.Duration
|
||||||
|
7, // 7: conf.Server.REST.cors:type_name -> conf.Server.REST.CORS
|
||||||
|
9, // 8: conf.Server.REST.middleware:type_name -> conf.Middleware
|
||||||
|
8, // 9: conf.Server.GRPC.timeout:type_name -> google.protobuf.Duration
|
||||||
|
9, // 10: conf.Server.GRPC.middleware:type_name -> conf.Middleware
|
||||||
|
8, // 11: conf.Server.Websocket.timeout:type_name -> google.protobuf.Duration
|
||||||
|
12, // [12:12] is the sub-list for method output_type
|
||||||
|
12, // [12:12] is the sub-list for method input_type
|
||||||
|
12, // [12:12] is the sub-list for extension type_name
|
||||||
|
12, // [12:12] is the sub-list for extension extendee
|
||||||
|
0, // [0:12] is the sub-list for field type_name
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() { file_conf_v1_server_proto_init() }
|
||||||
|
func file_conf_v1_server_proto_init() {
|
||||||
|
if File_conf_v1_server_proto != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
file_conf_v1_middleware_proto_init()
|
||||||
|
if !protoimpl.UnsafeEnabled {
|
||||||
|
file_conf_v1_server_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Server); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_server_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Server_REST); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_server_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Server_GRPC); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_server_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Server_Websocket); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_server_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Server_Mqtt); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_server_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Server_Kafka); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_server_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Server_RabbitMQ); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_conf_v1_server_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Server_REST_CORS); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
type x struct{}
|
||||||
|
out := protoimpl.TypeBuilder{
|
||||||
|
File: protoimpl.DescBuilder{
|
||||||
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
|
RawDescriptor: file_conf_v1_server_proto_rawDesc,
|
||||||
|
NumEnums: 0,
|
||||||
|
NumMessages: 8,
|
||||||
|
NumExtensions: 0,
|
||||||
|
NumServices: 0,
|
||||||
|
},
|
||||||
|
GoTypes: file_conf_v1_server_proto_goTypes,
|
||||||
|
DependencyIndexes: file_conf_v1_server_proto_depIdxs,
|
||||||
|
MessageInfos: file_conf_v1_server_proto_msgTypes,
|
||||||
|
}.Build()
|
||||||
|
File_conf_v1_server_proto = out.File
|
||||||
|
file_conf_v1_server_proto_rawDesc = nil
|
||||||
|
file_conf_v1_server_proto_goTypes = nil
|
||||||
|
file_conf_v1_server_proto_depIdxs = nil
|
||||||
|
}
|
||||||
1194
gen/api/go/conf/v1/server.pb.validate.go
Normal file
1194
gen/api/go/conf/v1/server.pb.validate.go
Normal file
File diff suppressed because it is too large
Load Diff
173
gen/api/go/conf/v1/tracer.pb.go
Normal file
173
gen/api/go/conf/v1/tracer.pb.go
Normal file
@@ -0,0 +1,173 @@
|
|||||||
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
|
// versions:
|
||||||
|
// protoc-gen-go v1.30.0
|
||||||
|
// protoc (unknown)
|
||||||
|
// source: conf/v1/tracer.proto
|
||||||
|
|
||||||
|
package conf
|
||||||
|
|
||||||
|
import (
|
||||||
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||||
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||||
|
reflect "reflect"
|
||||||
|
sync "sync"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
// Verify that this generated code is sufficiently up-to-date.
|
||||||
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||||
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||||
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||||
|
)
|
||||||
|
|
||||||
|
// 链路追踪
|
||||||
|
type Tracer struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Batcher string `protobuf:"bytes,1,opt,name=batcher,proto3" json:"batcher,omitempty"` // jaeger或者zipkin
|
||||||
|
Endpoint string `protobuf:"bytes,2,opt,name=endpoint,proto3" json:"endpoint,omitempty"` // 端口
|
||||||
|
Sampler float64 `protobuf:"fixed64,3,opt,name=sampler,proto3" json:"sampler,omitempty"` // 采样率,默认:1.0
|
||||||
|
Env string `protobuf:"bytes,4,opt,name=env,proto3" json:"env,omitempty"` // 运行环境:dev、debug、product
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Tracer) Reset() {
|
||||||
|
*x = Tracer{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_conf_v1_tracer_proto_msgTypes[0]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Tracer) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Tracer) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Tracer) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_conf_v1_tracer_proto_msgTypes[0]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Tracer.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Tracer) Descriptor() ([]byte, []int) {
|
||||||
|
return file_conf_v1_tracer_proto_rawDescGZIP(), []int{0}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Tracer) GetBatcher() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Batcher
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Tracer) GetEndpoint() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Endpoint
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Tracer) GetSampler() float64 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Sampler
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Tracer) GetEnv() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Env
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
var File_conf_v1_tracer_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
|
var file_conf_v1_tracer_proto_rawDesc = []byte{
|
||||||
|
0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72,
|
||||||
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x22, 0x6a, 0x0a, 0x06,
|
||||||
|
0x54, 0x72, 0x61, 0x63, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65,
|
||||||
|
0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72,
|
||||||
|
0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01,
|
||||||
|
0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07,
|
||||||
|
0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x73,
|
||||||
|
0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x04, 0x20,
|
||||||
|
0x01, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x42, 0x23, 0x5a, 0x21, 0x6b, 0x72, 0x61, 0x74,
|
||||||
|
0x6f, 0x73, 0x2d, 0x62, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f,
|
||||||
|
0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6e, 0x66, 0x62, 0x06, 0x70,
|
||||||
|
0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
file_conf_v1_tracer_proto_rawDescOnce sync.Once
|
||||||
|
file_conf_v1_tracer_proto_rawDescData = file_conf_v1_tracer_proto_rawDesc
|
||||||
|
)
|
||||||
|
|
||||||
|
func file_conf_v1_tracer_proto_rawDescGZIP() []byte {
|
||||||
|
file_conf_v1_tracer_proto_rawDescOnce.Do(func() {
|
||||||
|
file_conf_v1_tracer_proto_rawDescData = protoimpl.X.CompressGZIP(file_conf_v1_tracer_proto_rawDescData)
|
||||||
|
})
|
||||||
|
return file_conf_v1_tracer_proto_rawDescData
|
||||||
|
}
|
||||||
|
|
||||||
|
var file_conf_v1_tracer_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
|
||||||
|
var file_conf_v1_tracer_proto_goTypes = []interface{}{
|
||||||
|
(*Tracer)(nil), // 0: conf.Tracer
|
||||||
|
}
|
||||||
|
var file_conf_v1_tracer_proto_depIdxs = []int32{
|
||||||
|
0, // [0:0] is the sub-list for method output_type
|
||||||
|
0, // [0:0] is the sub-list for method input_type
|
||||||
|
0, // [0:0] is the sub-list for extension type_name
|
||||||
|
0, // [0:0] is the sub-list for extension extendee
|
||||||
|
0, // [0:0] is the sub-list for field type_name
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() { file_conf_v1_tracer_proto_init() }
|
||||||
|
func file_conf_v1_tracer_proto_init() {
|
||||||
|
if File_conf_v1_tracer_proto != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if !protoimpl.UnsafeEnabled {
|
||||||
|
file_conf_v1_tracer_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Tracer); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
type x struct{}
|
||||||
|
out := protoimpl.TypeBuilder{
|
||||||
|
File: protoimpl.DescBuilder{
|
||||||
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
|
RawDescriptor: file_conf_v1_tracer_proto_rawDesc,
|
||||||
|
NumEnums: 0,
|
||||||
|
NumMessages: 1,
|
||||||
|
NumExtensions: 0,
|
||||||
|
NumServices: 0,
|
||||||
|
},
|
||||||
|
GoTypes: file_conf_v1_tracer_proto_goTypes,
|
||||||
|
DependencyIndexes: file_conf_v1_tracer_proto_depIdxs,
|
||||||
|
MessageInfos: file_conf_v1_tracer_proto_msgTypes,
|
||||||
|
}.Build()
|
||||||
|
File_conf_v1_tracer_proto = out.File
|
||||||
|
file_conf_v1_tracer_proto_rawDesc = nil
|
||||||
|
file_conf_v1_tracer_proto_goTypes = nil
|
||||||
|
file_conf_v1_tracer_proto_depIdxs = nil
|
||||||
|
}
|
||||||
142
gen/api/go/conf/v1/tracer.pb.validate.go
Normal file
142
gen/api/go/conf/v1/tracer.pb.validate.go
Normal file
@@ -0,0 +1,142 @@
|
|||||||
|
// Code generated by protoc-gen-validate. DO NOT EDIT.
|
||||||
|
// source: conf/v1/tracer.proto
|
||||||
|
|
||||||
|
package conf
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
"net"
|
||||||
|
"net/mail"
|
||||||
|
"net/url"
|
||||||
|
"regexp"
|
||||||
|
"sort"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
"unicode/utf8"
|
||||||
|
|
||||||
|
"google.golang.org/protobuf/types/known/anypb"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ensure the imports are used
|
||||||
|
var (
|
||||||
|
_ = bytes.MinRead
|
||||||
|
_ = errors.New("")
|
||||||
|
_ = fmt.Print
|
||||||
|
_ = utf8.UTFMax
|
||||||
|
_ = (*regexp.Regexp)(nil)
|
||||||
|
_ = (*strings.Reader)(nil)
|
||||||
|
_ = net.IPv4len
|
||||||
|
_ = time.Duration(0)
|
||||||
|
_ = (*url.URL)(nil)
|
||||||
|
_ = (*mail.Address)(nil)
|
||||||
|
_ = anypb.Any{}
|
||||||
|
_ = sort.Sort
|
||||||
|
)
|
||||||
|
|
||||||
|
// Validate checks the field values on Tracer with the rules defined in the
|
||||||
|
// proto definition for this message. If any rules are violated, the first
|
||||||
|
// error encountered is returned, or nil if there are no violations.
|
||||||
|
func (m *Tracer) Validate() error {
|
||||||
|
return m.validate(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ValidateAll checks the field values on Tracer with the rules defined in the
|
||||||
|
// proto definition for this message. If any rules are violated, the result is
|
||||||
|
// a list of violation errors wrapped in TracerMultiError, or nil if none found.
|
||||||
|
func (m *Tracer) ValidateAll() error {
|
||||||
|
return m.validate(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Tracer) validate(all bool) error {
|
||||||
|
if m == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var errors []error
|
||||||
|
|
||||||
|
// no validation rules for Batcher
|
||||||
|
|
||||||
|
// no validation rules for Endpoint
|
||||||
|
|
||||||
|
// no validation rules for Sampler
|
||||||
|
|
||||||
|
// no validation rules for Env
|
||||||
|
|
||||||
|
if len(errors) > 0 {
|
||||||
|
return TracerMultiError(errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// TracerMultiError is an error wrapping multiple validation errors returned by
|
||||||
|
// Tracer.ValidateAll() if the designated constraints aren't met.
|
||||||
|
type TracerMultiError []error
|
||||||
|
|
||||||
|
// Error returns a concatenation of all the error messages it wraps.
|
||||||
|
func (m TracerMultiError) Error() string {
|
||||||
|
var msgs []string
|
||||||
|
for _, err := range m {
|
||||||
|
msgs = append(msgs, err.Error())
|
||||||
|
}
|
||||||
|
return strings.Join(msgs, "; ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// AllErrors returns a list of validation violation errors.
|
||||||
|
func (m TracerMultiError) AllErrors() []error { return m }
|
||||||
|
|
||||||
|
// TracerValidationError is the validation error returned by Tracer.Validate if
|
||||||
|
// the designated constraints aren't met.
|
||||||
|
type TracerValidationError struct {
|
||||||
|
field string
|
||||||
|
reason string
|
||||||
|
cause error
|
||||||
|
key bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Field function returns field value.
|
||||||
|
func (e TracerValidationError) Field() string { return e.field }
|
||||||
|
|
||||||
|
// Reason function returns reason value.
|
||||||
|
func (e TracerValidationError) Reason() string { return e.reason }
|
||||||
|
|
||||||
|
// Cause function returns cause value.
|
||||||
|
func (e TracerValidationError) Cause() error { return e.cause }
|
||||||
|
|
||||||
|
// Key function returns key value.
|
||||||
|
func (e TracerValidationError) Key() bool { return e.key }
|
||||||
|
|
||||||
|
// ErrorName returns error name.
|
||||||
|
func (e TracerValidationError) ErrorName() string { return "TracerValidationError" }
|
||||||
|
|
||||||
|
// Error satisfies the builtin error interface
|
||||||
|
func (e TracerValidationError) Error() string {
|
||||||
|
cause := ""
|
||||||
|
if e.cause != nil {
|
||||||
|
cause = fmt.Sprintf(" | caused by: %v", e.cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
key := ""
|
||||||
|
if e.key {
|
||||||
|
key = "key for "
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf(
|
||||||
|
"invalid %sTracer.%s: %s%s",
|
||||||
|
key,
|
||||||
|
e.field,
|
||||||
|
e.reason,
|
||||||
|
cause)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ error = TracerValidationError{}
|
||||||
|
|
||||||
|
var _ interface {
|
||||||
|
Field() string
|
||||||
|
Reason() string
|
||||||
|
Key() bool
|
||||||
|
Cause() error
|
||||||
|
ErrorName() string
|
||||||
|
} = TracerValidationError{}
|
||||||
179
go.mod
Normal file
179
go.mod
Normal file
@@ -0,0 +1,179 @@
|
|||||||
|
module github.com/tx7do/kratos-bootstrap
|
||||||
|
|
||||||
|
go 1.20
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/go-chassis/sc-client v0.7.0
|
||||||
|
github.com/go-kratos/aegis v0.2.0
|
||||||
|
github.com/go-kratos/kratos/contrib/config/apollo/v2 v2.0.0-20230519061918-96480c11ee42
|
||||||
|
github.com/go-kratos/kratos/contrib/config/consul/v2 v2.0.0-20230519061918-96480c11ee42
|
||||||
|
github.com/go-kratos/kratos/contrib/config/etcd/v2 v2.0.0-20230519061918-96480c11ee42
|
||||||
|
github.com/go-kratos/kratos/contrib/config/kubernetes/v2 v2.0.0-20230519061918-96480c11ee42
|
||||||
|
github.com/go-kratos/kratos/contrib/config/nacos/v2 v2.0.0-20230519061918-96480c11ee42
|
||||||
|
github.com/go-kratos/kratos/contrib/config/polaris/v2 v2.0.0-20230519061918-96480c11ee42
|
||||||
|
github.com/go-kratos/kratos/contrib/log/aliyun/v2 v2.0.0-20230519061918-96480c11ee42
|
||||||
|
github.com/go-kratos/kratos/contrib/log/fluent/v2 v2.0.0-20230519061918-96480c11ee42
|
||||||
|
github.com/go-kratos/kratos/contrib/log/logrus/v2 v2.0.0-20230519061918-96480c11ee42
|
||||||
|
github.com/go-kratos/kratos/contrib/log/tencent/v2 v2.0.0-20230519061918-96480c11ee42
|
||||||
|
github.com/go-kratos/kratos/contrib/log/zap/v2 v2.0.0-20230516054017-1d50f502622a
|
||||||
|
github.com/go-kratos/kratos/contrib/registry/consul/v2 v2.0.0-20230519061918-96480c11ee42
|
||||||
|
github.com/go-kratos/kratos/contrib/registry/etcd/v2 v2.0.0-20230519061918-96480c11ee42
|
||||||
|
github.com/go-kratos/kratos/contrib/registry/eureka/v2 v2.0.0-20230519061918-96480c11ee42
|
||||||
|
github.com/go-kratos/kratos/contrib/registry/kubernetes/v2 v2.0.0-20230519061918-96480c11ee42
|
||||||
|
github.com/go-kratos/kratos/contrib/registry/nacos/v2 v2.0.0-20230519061918-96480c11ee42
|
||||||
|
github.com/go-kratos/kratos/contrib/registry/polaris/v2 v2.0.0-20230519061918-96480c11ee42
|
||||||
|
github.com/go-kratos/kratos/contrib/registry/servicecomb/v2 v2.0.0-20230519061918-96480c11ee42
|
||||||
|
github.com/go-kratos/kratos/contrib/registry/zookeeper/v2 v2.0.0-20230519061918-96480c11ee42
|
||||||
|
github.com/go-kratos/kratos/v2 v2.6.2
|
||||||
|
github.com/go-zookeeper/zk v1.0.3
|
||||||
|
github.com/google/subcommands v1.2.0
|
||||||
|
github.com/gorilla/handlers v1.5.1
|
||||||
|
github.com/hashicorp/consul/api v1.20.0
|
||||||
|
github.com/minio/minio-go/v7 v7.0.53
|
||||||
|
github.com/nacos-group/nacos-sdk-go v1.1.4
|
||||||
|
github.com/olekukonko/tablewriter v0.0.5
|
||||||
|
github.com/polarismesh/polaris-go v1.4.3
|
||||||
|
github.com/sirupsen/logrus v1.9.2
|
||||||
|
github.com/spf13/cobra v1.7.0
|
||||||
|
github.com/stretchr/testify v1.8.3
|
||||||
|
go.etcd.io/etcd/client/v3 v3.5.9
|
||||||
|
go.opentelemetry.io/otel v1.15.1
|
||||||
|
go.opentelemetry.io/otel/exporters/jaeger v1.15.1
|
||||||
|
go.opentelemetry.io/otel/exporters/zipkin v1.15.1
|
||||||
|
go.opentelemetry.io/otel/sdk v1.15.1
|
||||||
|
go.uber.org/zap v1.24.0
|
||||||
|
golang.org/x/tools v0.7.0
|
||||||
|
google.golang.org/grpc v1.54.0
|
||||||
|
google.golang.org/protobuf v1.30.0
|
||||||
|
k8s.io/client-go v0.27.2
|
||||||
|
)
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/aliyun/alibaba-cloud-sdk-go v1.61.18 // indirect
|
||||||
|
github.com/aliyun/aliyun-log-go-sdk v0.1.44 // indirect
|
||||||
|
github.com/apolloconfig/agollo/v4 v4.3.0 // indirect
|
||||||
|
github.com/armon/go-metrics v0.3.10 // indirect
|
||||||
|
github.com/beorn7/perks v1.0.1 // indirect
|
||||||
|
github.com/buger/jsonparser v1.1.1 // indirect
|
||||||
|
github.com/cenkalti/backoff v2.2.1+incompatible // indirect
|
||||||
|
github.com/cenkalti/backoff/v4 v4.1.1 // indirect
|
||||||
|
github.com/cespare/xxhash/v2 v2.2.0 // indirect
|
||||||
|
github.com/coreos/go-semver v0.3.0 // indirect
|
||||||
|
github.com/coreos/go-systemd/v22 v22.3.2 // indirect
|
||||||
|
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||||
|
github.com/deckarep/golang-set v1.7.1 // indirect
|
||||||
|
github.com/dlclark/regexp2 v1.7.0 // indirect
|
||||||
|
github.com/emicklei/go-restful/v3 v3.9.0 // indirect
|
||||||
|
github.com/fatih/color v1.13.0 // indirect
|
||||||
|
github.com/felixge/httpsnoop v1.0.1 // indirect
|
||||||
|
github.com/fluent/fluent-logger-golang v1.9.0 // indirect
|
||||||
|
github.com/fsnotify/fsnotify v1.5.4 // indirect
|
||||||
|
github.com/go-chassis/cari v0.6.0 // indirect
|
||||||
|
github.com/go-chassis/foundation v0.4.0 // indirect
|
||||||
|
github.com/go-chassis/openlog v1.1.3 // indirect
|
||||||
|
github.com/go-errors/errors v1.0.1 // indirect
|
||||||
|
github.com/go-kit/kit v0.10.0 // indirect
|
||||||
|
github.com/go-logfmt/logfmt v0.5.1 // indirect
|
||||||
|
github.com/go-logr/logr v1.2.4 // indirect
|
||||||
|
github.com/go-logr/stdr v1.2.2 // indirect
|
||||||
|
github.com/go-ole/go-ole v1.2.6 // indirect
|
||||||
|
github.com/go-openapi/jsonpointer v0.19.6 // indirect
|
||||||
|
github.com/go-openapi/jsonreference v0.20.1 // indirect
|
||||||
|
github.com/go-openapi/swag v0.22.3 // indirect
|
||||||
|
github.com/go-playground/form/v4 v4.2.0 // indirect
|
||||||
|
github.com/gofrs/uuid v4.2.0+incompatible // indirect
|
||||||
|
github.com/gogo/protobuf v1.3.2 // indirect
|
||||||
|
github.com/golang/protobuf v1.5.3 // indirect
|
||||||
|
github.com/google/gnostic v0.5.7-v3refs // indirect
|
||||||
|
github.com/google/go-cmp v0.5.9 // indirect
|
||||||
|
github.com/google/gofuzz v1.1.0 // indirect
|
||||||
|
github.com/google/uuid v1.3.0 // indirect
|
||||||
|
github.com/gorilla/mux v1.8.0 // indirect
|
||||||
|
github.com/gorilla/websocket v1.4.3-0.20210424162022-e8629af678b7 // indirect
|
||||||
|
github.com/hashicorp/errwrap v1.1.0 // 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-multierror v1.1.1 // indirect
|
||||||
|
github.com/hashicorp/go-rootcerts v1.0.2 // indirect
|
||||||
|
github.com/hashicorp/golang-lru v0.5.4 // indirect
|
||||||
|
github.com/hashicorp/hcl v1.0.0 // indirect
|
||||||
|
github.com/hashicorp/serf v0.10.1 // indirect
|
||||||
|
github.com/imdario/mergo v0.3.12 // indirect
|
||||||
|
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||||
|
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.16.0 // indirect
|
||||||
|
github.com/klauspost/cpuid/v2 v2.2.4 // indirect
|
||||||
|
github.com/lufia/plan9stats v0.0.0-20230110061619-bbe2e5e100de // indirect
|
||||||
|
github.com/magiconair/properties v1.8.6 // indirect
|
||||||
|
github.com/mailru/easyjson v0.7.7 // indirect
|
||||||
|
github.com/mattn/go-colorable v0.1.12 // indirect
|
||||||
|
github.com/mattn/go-isatty v0.0.14 // indirect
|
||||||
|
github.com/mattn/go-runewidth v0.0.9 // indirect
|
||||||
|
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
|
||||||
|
github.com/minio/md5-simd v1.1.2 // indirect
|
||||||
|
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
||||||
|
github.com/mitchellh/mapstructure v1.4.3 // indirect
|
||||||
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
||||||
|
github.com/modern-go/reflect2 v1.0.2 // indirect
|
||||||
|
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
|
||||||
|
github.com/natefinch/lumberjack v2.0.0+incompatible // indirect
|
||||||
|
github.com/openzipkin/zipkin-go v0.4.1 // indirect
|
||||||
|
github.com/patrickmn/go-cache v2.1.0+incompatible // indirect
|
||||||
|
github.com/pelletier/go-toml v1.9.4 // indirect
|
||||||
|
github.com/pelletier/go-toml/v2 v2.0.0-beta.8 // indirect
|
||||||
|
github.com/philhofer/fwd v1.1.1 // indirect
|
||||||
|
github.com/pierrec/lz4 v2.6.1+incompatible // indirect
|
||||||
|
github.com/pkg/errors v0.9.1 // indirect
|
||||||
|
github.com/pmezard/go-difflib v1.0.0 // indirect
|
||||||
|
github.com/polarismesh/specification v1.2.1 // indirect
|
||||||
|
github.com/power-devops/perfstat v0.0.0-20221212215047-62379fc7944b // indirect
|
||||||
|
github.com/prometheus/client_golang v1.12.2 // indirect
|
||||||
|
github.com/prometheus/client_model v0.2.0 // indirect
|
||||||
|
github.com/prometheus/common v0.35.0 // indirect
|
||||||
|
github.com/prometheus/procfs v0.7.3 // indirect
|
||||||
|
github.com/shirou/gopsutil/v3 v3.23.2 // indirect
|
||||||
|
github.com/spaolacci/murmur3 v1.1.0 // indirect
|
||||||
|
github.com/spf13/afero v1.9.2 // indirect
|
||||||
|
github.com/spf13/cast v1.4.1 // indirect
|
||||||
|
github.com/spf13/jwalterweatherman v1.1.0 // indirect
|
||||||
|
github.com/spf13/pflag v1.0.5 // indirect
|
||||||
|
github.com/spf13/viper v1.11.0 // indirect
|
||||||
|
github.com/subosito/gotenv v1.2.0 // indirect
|
||||||
|
github.com/tencentcloud/tencentcloud-cls-sdk-go v1.0.2 // indirect
|
||||||
|
github.com/tinylib/msgp v1.1.6 // indirect
|
||||||
|
github.com/tklauser/go-sysconf v0.3.11 // indirect
|
||||||
|
github.com/tklauser/numcpus v0.6.0 // indirect
|
||||||
|
github.com/yusufpapurcu/wmi v1.2.2 // indirect
|
||||||
|
go.etcd.io/etcd/api/v3 v3.5.9 // indirect
|
||||||
|
go.etcd.io/etcd/client/pkg/v3 v3.5.9 // indirect
|
||||||
|
go.opentelemetry.io/otel/trace v1.15.1 // indirect
|
||||||
|
go.uber.org/atomic v1.9.0 // indirect
|
||||||
|
go.uber.org/multierr v1.8.0 // indirect
|
||||||
|
golang.org/x/mod v0.9.0 // indirect
|
||||||
|
golang.org/x/net v0.8.0 // indirect
|
||||||
|
golang.org/x/oauth2 v0.4.0 // indirect
|
||||||
|
golang.org/x/sync v0.1.0 // indirect
|
||||||
|
golang.org/x/sys v0.7.0 // indirect
|
||||||
|
golang.org/x/term v0.6.0 // indirect
|
||||||
|
golang.org/x/text v0.8.0 // indirect
|
||||||
|
golang.org/x/time v0.1.0 // indirect
|
||||||
|
google.golang.org/appengine v1.6.7 // indirect
|
||||||
|
google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f // indirect
|
||||||
|
gopkg.in/inf.v0 v0.9.1 // indirect
|
||||||
|
gopkg.in/ini.v1 v1.67.0 // indirect
|
||||||
|
gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect
|
||||||
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||||
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
|
k8s.io/api v0.27.2 // indirect
|
||||||
|
k8s.io/apimachinery v0.27.2 // indirect
|
||||||
|
k8s.io/klog/v2 v2.90.1 // indirect
|
||||||
|
k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f // indirect
|
||||||
|
k8s.io/utils v0.0.0-20230209194617-a36077c30491 // indirect
|
||||||
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
||||||
|
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
|
||||||
|
sigs.k8s.io/yaml v1.3.0 // indirect
|
||||||
|
)
|
||||||
104
grpc.go
Normal file
104
grpc.go
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
package bootstrap
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"google.golang.org/grpc"
|
||||||
|
|
||||||
|
"github.com/go-kratos/aegis/ratelimit"
|
||||||
|
"github.com/go-kratos/aegis/ratelimit/bbr"
|
||||||
|
"github.com/go-kratos/kratos/v2/log"
|
||||||
|
"github.com/go-kratos/kratos/v2/middleware"
|
||||||
|
midRateLimit "github.com/go-kratos/kratos/v2/middleware/ratelimit"
|
||||||
|
"github.com/go-kratos/kratos/v2/middleware/recovery"
|
||||||
|
"github.com/go-kratos/kratos/v2/middleware/tracing"
|
||||||
|
"github.com/go-kratos/kratos/v2/middleware/validate"
|
||||||
|
"github.com/go-kratos/kratos/v2/registry"
|
||||||
|
kratosGrpc "github.com/go-kratos/kratos/v2/transport/grpc"
|
||||||
|
|
||||||
|
"github.com/tx7do/kratos-bootstrap/gen/api/go/conf/v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
const defaultTimeout = 5 * time.Second
|
||||||
|
|
||||||
|
// CreateGrpcClient 创建GRPC客户端
|
||||||
|
func CreateGrpcClient(ctx context.Context, r registry.Discovery, serviceName string, cfg *conf.Bootstrap, m ...middleware.Middleware) grpc.ClientConnInterface {
|
||||||
|
endpoint := "discovery:///" + serviceName
|
||||||
|
|
||||||
|
var ms []middleware.Middleware
|
||||||
|
timeout := defaultTimeout
|
||||||
|
if cfg.Client != nil && cfg.Client.Grpc != nil {
|
||||||
|
if cfg.Client.Grpc.Timeout != nil {
|
||||||
|
timeout = cfg.Client.Grpc.Timeout.AsDuration()
|
||||||
|
}
|
||||||
|
|
||||||
|
if cfg.Client.Grpc.Middleware != nil {
|
||||||
|
if cfg.Client.Grpc.Middleware.GetEnableRecovery() {
|
||||||
|
ms = append(ms, recovery.Recovery())
|
||||||
|
}
|
||||||
|
if cfg.Client.Grpc.Middleware.GetEnableTracing() {
|
||||||
|
ms = append(ms, tracing.Client())
|
||||||
|
}
|
||||||
|
if cfg.Client.Grpc.Middleware.GetEnableValidate() {
|
||||||
|
ms = append(ms, validate.Validator())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ms = append(ms, m...)
|
||||||
|
|
||||||
|
conn, err := kratosGrpc.DialInsecure(
|
||||||
|
ctx,
|
||||||
|
kratosGrpc.WithEndpoint(endpoint),
|
||||||
|
kratosGrpc.WithDiscovery(r),
|
||||||
|
kratosGrpc.WithTimeout(timeout),
|
||||||
|
kratosGrpc.WithMiddleware(ms...),
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalf("dial grpc client [%s] failed: %s", serviceName, err.Error())
|
||||||
|
}
|
||||||
|
|
||||||
|
return conn
|
||||||
|
}
|
||||||
|
|
||||||
|
// CreateGrpcServer 创建GRPC服务端
|
||||||
|
func CreateGrpcServer(cfg *conf.Bootstrap, m ...middleware.Middleware) *kratosGrpc.Server {
|
||||||
|
var opts []kratosGrpc.ServerOption
|
||||||
|
|
||||||
|
var ms []middleware.Middleware
|
||||||
|
if cfg.Server != nil && cfg.Server.Grpc != nil && cfg.Server.Grpc.Middleware != nil {
|
||||||
|
if cfg.Server.Grpc.Middleware.GetEnableRecovery() {
|
||||||
|
ms = append(ms, recovery.Recovery())
|
||||||
|
}
|
||||||
|
if cfg.Server.Grpc.Middleware.GetEnableTracing() {
|
||||||
|
ms = append(ms, tracing.Server())
|
||||||
|
}
|
||||||
|
if cfg.Server.Grpc.Middleware.GetEnableValidate() {
|
||||||
|
ms = append(ms, validate.Validator())
|
||||||
|
}
|
||||||
|
if cfg.Server.Grpc.Middleware.GetEnableCircuitBreaker() {
|
||||||
|
}
|
||||||
|
if cfg.Server.Grpc.Middleware.Limiter != nil {
|
||||||
|
var limiter ratelimit.Limiter
|
||||||
|
switch cfg.Server.Grpc.Middleware.Limiter.GetName() {
|
||||||
|
case "bbr":
|
||||||
|
limiter = bbr.NewLimiter()
|
||||||
|
}
|
||||||
|
ms = append(ms, midRateLimit.Server(midRateLimit.WithLimiter(limiter)))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ms = append(ms, m...)
|
||||||
|
opts = append(opts, kratosGrpc.Middleware(ms...))
|
||||||
|
|
||||||
|
if cfg.Server.Grpc.Network != "" {
|
||||||
|
opts = append(opts, kratosGrpc.Network(cfg.Server.Grpc.Network))
|
||||||
|
}
|
||||||
|
if cfg.Server.Grpc.Addr != "" {
|
||||||
|
opts = append(opts, kratosGrpc.Address(cfg.Server.Grpc.Addr))
|
||||||
|
}
|
||||||
|
if cfg.Server.Grpc.Timeout != nil {
|
||||||
|
opts = append(opts, kratosGrpc.Timeout(cfg.Server.Grpc.Timeout.AsDuration()))
|
||||||
|
}
|
||||||
|
|
||||||
|
return kratosGrpc.NewServer(opts...)
|
||||||
|
}
|
||||||
178
logger.go
Normal file
178
logger.go
Normal file
@@ -0,0 +1,178 @@
|
|||||||
|
package bootstrap
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"github.com/sirupsen/logrus"
|
||||||
|
|
||||||
|
aliyunLogger "github.com/go-kratos/kratos/contrib/log/aliyun/v2"
|
||||||
|
fluentLogger "github.com/go-kratos/kratos/contrib/log/fluent/v2"
|
||||||
|
logrusLogger "github.com/go-kratos/kratos/contrib/log/logrus/v2"
|
||||||
|
tencentLogger "github.com/go-kratos/kratos/contrib/log/tencent/v2"
|
||||||
|
zapLogger "github.com/go-kratos/kratos/contrib/log/zap/v2"
|
||||||
|
"go.uber.org/zap"
|
||||||
|
"go.uber.org/zap/zapcore"
|
||||||
|
|
||||||
|
"github.com/go-kratos/kratos/v2/log"
|
||||||
|
"github.com/go-kratos/kratos/v2/middleware/tracing"
|
||||||
|
|
||||||
|
"github.com/tx7do/kratos-bootstrap/gen/api/go/conf/v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
type LoggerType string
|
||||||
|
|
||||||
|
const (
|
||||||
|
LoggerTypeStd LoggerType = "std"
|
||||||
|
LoggerTypeFluent LoggerType = "fluent"
|
||||||
|
LoggerTypeLogrus LoggerType = "logrus"
|
||||||
|
LoggerTypeZap LoggerType = "zap"
|
||||||
|
LoggerTypeAliyun LoggerType = "aliyun"
|
||||||
|
LoggerTypeTencent LoggerType = "tencent"
|
||||||
|
)
|
||||||
|
|
||||||
|
// NewLoggerProvider 创建一个新的日志记录器提供者
|
||||||
|
func NewLoggerProvider(cfg *conf.Logger, serviceInfo *ServiceInfo) log.Logger {
|
||||||
|
l := NewLogger(cfg)
|
||||||
|
|
||||||
|
return log.With(
|
||||||
|
l,
|
||||||
|
"service.id", serviceInfo.Id,
|
||||||
|
"service.name", serviceInfo.Name,
|
||||||
|
"service.version", serviceInfo.Version,
|
||||||
|
"ts", log.DefaultTimestamp,
|
||||||
|
"caller", log.DefaultCaller,
|
||||||
|
"trace_id", tracing.TraceID(),
|
||||||
|
"span_id", tracing.SpanID(),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewLogger 创建一个新的日志记录器
|
||||||
|
func NewLogger(cfg *conf.Logger) log.Logger {
|
||||||
|
if cfg == nil {
|
||||||
|
return NewStdLogger()
|
||||||
|
}
|
||||||
|
|
||||||
|
switch LoggerType(cfg.Type) {
|
||||||
|
default:
|
||||||
|
fallthrough
|
||||||
|
case LoggerTypeStd:
|
||||||
|
return NewStdLogger()
|
||||||
|
case LoggerTypeFluent:
|
||||||
|
return NewFluentLogger(cfg)
|
||||||
|
case LoggerTypeZap:
|
||||||
|
return NewZapLogger(cfg)
|
||||||
|
case LoggerTypeLogrus:
|
||||||
|
return NewLogrusLogger(cfg)
|
||||||
|
case LoggerTypeAliyun:
|
||||||
|
return NewAliyunLogger(cfg)
|
||||||
|
case LoggerTypeTencent:
|
||||||
|
return NewTencentLogger(cfg)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewStdLogger 创建一个新的日志记录器 - Kratos内置,控制台输出
|
||||||
|
func NewStdLogger() log.Logger {
|
||||||
|
l := log.NewStdLogger(os.Stdout)
|
||||||
|
return l
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewZapLogger 创建一个新的日志记录器 - Zap
|
||||||
|
func NewZapLogger(cfg *conf.Logger) log.Logger {
|
||||||
|
encoderConfig := zap.NewProductionEncoderConfig()
|
||||||
|
encoderConfig.EncodeTime = zapcore.ISO8601TimeEncoder
|
||||||
|
encoderConfig.TimeKey = "time"
|
||||||
|
encoderConfig.EncodeLevel = zapcore.CapitalLevelEncoder
|
||||||
|
encoderConfig.EncodeDuration = zapcore.SecondsDurationEncoder
|
||||||
|
encoderConfig.EncodeCaller = zapcore.ShortCallerEncoder
|
||||||
|
jsonEncoder := zapcore.NewJSONEncoder(encoderConfig)
|
||||||
|
|
||||||
|
lumberJackLogger := &lumberjack.Logger{
|
||||||
|
Filename: cfg.Zap.Filename,
|
||||||
|
MaxSize: int(cfg.Zap.MaxSize),
|
||||||
|
MaxBackups: int(cfg.Zap.MaxBackups),
|
||||||
|
MaxAge: int(cfg.Zap.MaxAge),
|
||||||
|
}
|
||||||
|
writeSyncer := zapcore.AddSync(lumberJackLogger)
|
||||||
|
|
||||||
|
var lvl = new(zapcore.Level)
|
||||||
|
if err := lvl.UnmarshalText([]byte(cfg.Zap.Level)); err != nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
core := zapcore.NewCore(jsonEncoder, writeSyncer, lvl)
|
||||||
|
logger := zap.New(core).WithOptions()
|
||||||
|
|
||||||
|
wrapped := zapLogger.NewLogger(logger)
|
||||||
|
|
||||||
|
return wrapped
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewLogrusLogger 创建一个新的日志记录器 - Logrus
|
||||||
|
func NewLogrusLogger(cfg *conf.Logger) log.Logger {
|
||||||
|
loggerLevel, err := logrus.ParseLevel(cfg.Logrus.Level)
|
||||||
|
if err != nil {
|
||||||
|
loggerLevel = logrus.InfoLevel
|
||||||
|
}
|
||||||
|
|
||||||
|
var loggerFormatter logrus.Formatter
|
||||||
|
switch cfg.Logrus.Formatter {
|
||||||
|
default:
|
||||||
|
fallthrough
|
||||||
|
case "text":
|
||||||
|
loggerFormatter = &logrus.TextFormatter{
|
||||||
|
DisableColors: cfg.Logrus.DisableColors,
|
||||||
|
DisableTimestamp: cfg.Logrus.DisableTimestamp,
|
||||||
|
TimestampFormat: cfg.Logrus.TimestampFormat,
|
||||||
|
}
|
||||||
|
break
|
||||||
|
case "json":
|
||||||
|
loggerFormatter = &logrus.JSONFormatter{
|
||||||
|
DisableTimestamp: cfg.Logrus.DisableTimestamp,
|
||||||
|
TimestampFormat: cfg.Logrus.TimestampFormat,
|
||||||
|
}
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
logger := logrus.New()
|
||||||
|
logger.Level = loggerLevel
|
||||||
|
logger.Formatter = loggerFormatter
|
||||||
|
|
||||||
|
wrapped := logrusLogger.NewLogger(logger)
|
||||||
|
return wrapped
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewFluentLogger 创建一个新的日志记录器 - Fluent
|
||||||
|
func NewFluentLogger(cfg *conf.Logger) log.Logger {
|
||||||
|
wrapped, err := fluentLogger.NewLogger(cfg.Fluent.Endpoint)
|
||||||
|
if err != nil {
|
||||||
|
panic("create fluent logger failed")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return wrapped
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewAliyunLogger 创建一个新的日志记录器 - Aliyun
|
||||||
|
func NewAliyunLogger(cfg *conf.Logger) log.Logger {
|
||||||
|
wrapped := aliyunLogger.NewAliyunLog(
|
||||||
|
aliyunLogger.WithProject(cfg.Aliyun.Project),
|
||||||
|
aliyunLogger.WithEndpoint(cfg.Aliyun.Endpoint),
|
||||||
|
aliyunLogger.WithAccessKey(cfg.Aliyun.AccessKey),
|
||||||
|
aliyunLogger.WithAccessSecret(cfg.Aliyun.AccessSecret),
|
||||||
|
)
|
||||||
|
return wrapped
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewTencentLogger 创建一个新的日志记录器 - Tencent
|
||||||
|
func NewTencentLogger(cfg *conf.Logger) log.Logger {
|
||||||
|
wrapped, err := tencentLogger.NewLogger(
|
||||||
|
tencentLogger.WithTopicID(cfg.Tencent.TopicId),
|
||||||
|
tencentLogger.WithEndpoint(cfg.Tencent.Endpoint),
|
||||||
|
tencentLogger.WithAccessKey(cfg.Tencent.AccessKey),
|
||||||
|
tencentLogger.WithAccessSecret(cfg.Tencent.AccessSecret),
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return wrapped
|
||||||
|
}
|
||||||
23
oss.go
Normal file
23
oss.go
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
package bootstrap
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/go-kratos/kratos/v2/log"
|
||||||
|
"github.com/minio/minio-go/v7/pkg/credentials"
|
||||||
|
|
||||||
|
"github.com/tx7do/kratos-bootstrap/gen/api/go/conf/v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
func NewMinIoClient(conf *conf.OSS) *minio.Client {
|
||||||
|
impl, err := minio.New(conf.Minio.Endpoint,
|
||||||
|
&minio.Options{
|
||||||
|
Creds: credentials.NewStaticV4(conf.Minio.AccessKey, conf.Minio.SecretKey, conf.Minio.Token),
|
||||||
|
Secure: conf.Minio.UseSsl,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("failed opening connection to minio", err)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
return impl
|
||||||
|
}
|
||||||
26
redis.go
Normal file
26
redis.go
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
package bootstrap
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/go-kratos/kratos/v2/log"
|
||||||
|
|
||||||
|
"github.com/tx7do/kratos-bootstrap/gen/api/go/conf/v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
// NewRedisClient 创建Redis客户端
|
||||||
|
func NewRedisClient(conf *conf.Data) *redis.Client {
|
||||||
|
rdb := redis.NewClient(&redis.Options{
|
||||||
|
Addr: conf.Redis.Addr,
|
||||||
|
Password: conf.Redis.Password,
|
||||||
|
DB: int(conf.Redis.Db),
|
||||||
|
DialTimeout: conf.Redis.DialTimeout.AsDuration(),
|
||||||
|
WriteTimeout: conf.Redis.WriteTimeout.AsDuration(),
|
||||||
|
ReadTimeout: conf.Redis.ReadTimeout.AsDuration(),
|
||||||
|
})
|
||||||
|
if rdb == nil {
|
||||||
|
log.Fatalf("failed opening connection to redis")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
rdb.AddHook(redisotel.NewTracingHook())
|
||||||
|
|
||||||
|
return rdb
|
||||||
|
}
|
||||||
289
registry.go
Normal file
289
registry.go
Normal file
@@ -0,0 +1,289 @@
|
|||||||
|
package bootstrap
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/go-kratos/kratos/v2/log"
|
||||||
|
"github.com/go-kratos/kratos/v2/registry"
|
||||||
|
"path/filepath"
|
||||||
|
|
||||||
|
// etcd
|
||||||
|
etcdKratos "github.com/go-kratos/kratos/contrib/registry/etcd/v2"
|
||||||
|
etcdClient "go.etcd.io/etcd/client/v3"
|
||||||
|
|
||||||
|
// consul
|
||||||
|
consulKratos "github.com/go-kratos/kratos/contrib/registry/consul/v2"
|
||||||
|
consulClient "github.com/hashicorp/consul/api"
|
||||||
|
|
||||||
|
// eureka
|
||||||
|
eurekaKratos "github.com/go-kratos/kratos/contrib/registry/eureka/v2"
|
||||||
|
|
||||||
|
// nacos
|
||||||
|
nacosKratos "github.com/go-kratos/kratos/contrib/registry/nacos/v2"
|
||||||
|
nacosClients "github.com/nacos-group/nacos-sdk-go/clients"
|
||||||
|
nacosConstant "github.com/nacos-group/nacos-sdk-go/common/constant"
|
||||||
|
nacosVo "github.com/nacos-group/nacos-sdk-go/vo"
|
||||||
|
|
||||||
|
// zookeeper
|
||||||
|
zookeeperKratos "github.com/go-kratos/kratos/contrib/registry/zookeeper/v2"
|
||||||
|
"github.com/go-zookeeper/zk"
|
||||||
|
|
||||||
|
// kubernetes
|
||||||
|
k8sRegistry "github.com/go-kratos/kratos/contrib/registry/kubernetes/v2"
|
||||||
|
k8s "k8s.io/client-go/kubernetes"
|
||||||
|
k8sRest "k8s.io/client-go/rest"
|
||||||
|
k8sTools "k8s.io/client-go/tools/clientcmd"
|
||||||
|
k8sUtil "k8s.io/client-go/util/homedir"
|
||||||
|
|
||||||
|
// polaris
|
||||||
|
polarisKratos "github.com/go-kratos/kratos/contrib/registry/polaris/v2"
|
||||||
|
polarisApi "github.com/polarismesh/polaris-go/api"
|
||||||
|
polarisModel "github.com/polarismesh/polaris-go/pkg/model"
|
||||||
|
|
||||||
|
// servicecomb
|
||||||
|
servicecombClient "github.com/go-chassis/sc-client"
|
||||||
|
servicecombKratos "github.com/go-kratos/kratos/contrib/registry/servicecomb/v2"
|
||||||
|
|
||||||
|
"github.com/tx7do/kratos-bootstrap/gen/api/go/conf/v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
type RegistryType string
|
||||||
|
|
||||||
|
const (
|
||||||
|
RegistryTypeConsul RegistryType = "consul"
|
||||||
|
LoggerTypeEtcd RegistryType = "etcd"
|
||||||
|
LoggerTypeZooKeeper RegistryType = "zookeeper"
|
||||||
|
LoggerTypeNacos RegistryType = "nacos"
|
||||||
|
LoggerTypeKubernetes RegistryType = "kubernetes"
|
||||||
|
LoggerTypeEureka RegistryType = "eureka"
|
||||||
|
LoggerTypePolaris RegistryType = "polaris"
|
||||||
|
LoggerTypeServicecomb RegistryType = "servicecomb"
|
||||||
|
)
|
||||||
|
|
||||||
|
// NewRegistry 创建一个注册客户端
|
||||||
|
func NewRegistry(cfg *conf.Registry) registry.Registrar {
|
||||||
|
if cfg == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
switch RegistryType(cfg.Type) {
|
||||||
|
case RegistryTypeConsul:
|
||||||
|
return NewConsulRegistry(cfg)
|
||||||
|
case LoggerTypeEtcd:
|
||||||
|
return NewEtcdRegistry(cfg)
|
||||||
|
case LoggerTypeZooKeeper:
|
||||||
|
return NewZooKeeperRegistry(cfg)
|
||||||
|
case LoggerTypeNacos:
|
||||||
|
return NewNacosRegistry(cfg)
|
||||||
|
case LoggerTypeKubernetes:
|
||||||
|
return NewKubernetesRegistry(cfg)
|
||||||
|
case LoggerTypeEureka:
|
||||||
|
return NewEurekaRegistry(cfg)
|
||||||
|
case LoggerTypePolaris:
|
||||||
|
return NewPolarisRegistry(cfg)
|
||||||
|
case LoggerTypeServicecomb:
|
||||||
|
return NewServicecombRegistry(cfg)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewDiscovery 创建一个发现客户端
|
||||||
|
func NewDiscovery(cfg *conf.Registry) registry.Discovery {
|
||||||
|
if cfg == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
switch RegistryType(cfg.Type) {
|
||||||
|
case RegistryTypeConsul:
|
||||||
|
return NewConsulRegistry(cfg)
|
||||||
|
case LoggerTypeEtcd:
|
||||||
|
return NewEtcdRegistry(cfg)
|
||||||
|
case LoggerTypeZooKeeper:
|
||||||
|
return NewZooKeeperRegistry(cfg)
|
||||||
|
case LoggerTypeNacos:
|
||||||
|
return NewNacosRegistry(cfg)
|
||||||
|
case LoggerTypeKubernetes:
|
||||||
|
return NewKubernetesRegistry(cfg)
|
||||||
|
case LoggerTypeEureka:
|
||||||
|
return NewEurekaRegistry(cfg)
|
||||||
|
case LoggerTypePolaris:
|
||||||
|
return NewPolarisRegistry(cfg)
|
||||||
|
case LoggerTypeServicecomb:
|
||||||
|
return NewServicecombRegistry(cfg)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewConsulRegistry 创建一个注册发现客户端 - Consul
|
||||||
|
func NewConsulRegistry(c *conf.Registry) *consulKratos.Registry {
|
||||||
|
cfg := consulClient.DefaultConfig()
|
||||||
|
cfg.Address = c.Consul.Address
|
||||||
|
cfg.Scheme = c.Consul.Scheme
|
||||||
|
|
||||||
|
var cli *consulClient.Client
|
||||||
|
var err error
|
||||||
|
if cli, err = consulClient.NewClient(cfg); err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
reg := consulKratos.New(cli, consulKratos.WithHealthCheck(c.Consul.HealthCheck))
|
||||||
|
|
||||||
|
return reg
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewEtcdRegistry 创建一个注册发现客户端 - Etcd
|
||||||
|
func NewEtcdRegistry(c *conf.Registry) *etcdKratos.Registry {
|
||||||
|
cfg := etcdClient.Config{
|
||||||
|
Endpoints: c.Etcd.Endpoints,
|
||||||
|
}
|
||||||
|
|
||||||
|
var err error
|
||||||
|
var cli *etcdClient.Client
|
||||||
|
if cli, err = etcdClient.New(cfg); err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
reg := etcdKratos.New(cli)
|
||||||
|
|
||||||
|
return reg
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewZooKeeperRegistry 创建一个注册发现客户端 - ZooKeeper
|
||||||
|
func NewZooKeeperRegistry(c *conf.Registry) *zookeeperKratos.Registry {
|
||||||
|
conn, _, err := zk.Connect(c.Zookeeper.Endpoints, c.Zookeeper.Timeout.AsDuration())
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
reg := zookeeperKratos.New(conn)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return reg
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewNacosRegistry 创建一个注册发现客户端 - Nacos
|
||||||
|
func NewNacosRegistry(c *conf.Registry) *nacosKratos.Registry {
|
||||||
|
srvConf := []nacosConstant.ServerConfig{
|
||||||
|
*nacosConstant.NewServerConfig(c.Nacos.Address, c.Nacos.Port),
|
||||||
|
}
|
||||||
|
|
||||||
|
cliConf := nacosConstant.ClientConfig{
|
||||||
|
NamespaceId: c.Nacos.NamespaceId,
|
||||||
|
TimeoutMs: uint64(c.Nacos.Timeout.AsDuration().Milliseconds()), // http请求超时时间,单位毫秒
|
||||||
|
BeatInterval: c.Nacos.BeatInterval.AsDuration().Milliseconds(), // 心跳间隔时间,单位毫秒
|
||||||
|
UpdateThreadNum: int(c.Nacos.UpdateThreadNum), // 更新服务的线程数
|
||||||
|
LogLevel: c.Nacos.LogLevel,
|
||||||
|
CacheDir: c.Nacos.CacheDir, // 缓存目录
|
||||||
|
LogDir: c.Nacos.LogDir, // 日志目录
|
||||||
|
NotLoadCacheAtStart: c.Nacos.NotLoadCacheAtStart, // 在启动时不读取本地缓存数据,true--不读取,false--读取
|
||||||
|
UpdateCacheWhenEmpty: c.Nacos.UpdateCacheWhenEmpty, // 当服务列表为空时是否更新本地缓存,true--更新,false--不更新
|
||||||
|
}
|
||||||
|
|
||||||
|
cli, err := nacosClients.NewNamingClient(
|
||||||
|
nacosVo.NacosClientParam{
|
||||||
|
ClientConfig: &cliConf,
|
||||||
|
ServerConfigs: srvConf,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
reg := nacosKratos.New(cli)
|
||||||
|
|
||||||
|
return reg
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewKubernetesRegistry 创建一个注册发现客户端 - Kubernetes
|
||||||
|
func NewKubernetesRegistry(_ *conf.Registry) *k8sRegistry.Registry {
|
||||||
|
restConfig, err := k8sRest.InClusterConfig()
|
||||||
|
if err != nil {
|
||||||
|
home := k8sUtil.HomeDir()
|
||||||
|
kubeConfig := filepath.Join(home, ".kube", "config")
|
||||||
|
restConfig, err = k8sTools.BuildConfigFromFlags("", kubeConfig)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
clientSet, err := k8s.NewForConfig(restConfig)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
reg := k8sRegistry.NewRegistry(clientSet)
|
||||||
|
|
||||||
|
return reg
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewEurekaRegistry 创建一个注册发现客户端 - Eureka
|
||||||
|
func NewEurekaRegistry(c *conf.Registry) *eurekaKratos.Registry {
|
||||||
|
var opts []eurekaKratos.Option
|
||||||
|
opts = append(opts, eurekaKratos.WithHeartbeat(c.Eureka.HeartbeatInterval.AsDuration()))
|
||||||
|
opts = append(opts, eurekaKratos.WithRefresh(c.Eureka.RefreshInterval.AsDuration()))
|
||||||
|
opts = append(opts, eurekaKratos.WithEurekaPath(c.Eureka.Path))
|
||||||
|
|
||||||
|
var err error
|
||||||
|
var reg *eurekaKratos.Registry
|
||||||
|
if reg, err = eurekaKratos.New(c.Eureka.Endpoints, opts...); err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return reg
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewPolarisRegistry 创建一个注册发现客户端 - Polaris
|
||||||
|
func NewPolarisRegistry(c *conf.Registry) *polarisKratos.Registry {
|
||||||
|
var err error
|
||||||
|
|
||||||
|
var consumer polarisApi.ConsumerAPI
|
||||||
|
if consumer, err = polarisApi.NewConsumerAPI(); err != nil {
|
||||||
|
log.Fatalf("fail to create consumerAPI, err is %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
var provider polarisApi.ProviderAPI
|
||||||
|
provider = polarisApi.NewProviderAPIByContext(consumer.SDKContext())
|
||||||
|
|
||||||
|
log.Infof("start to register instances, count %d", c.Polaris.InstanceCount)
|
||||||
|
|
||||||
|
var resp *polarisModel.InstanceRegisterResponse
|
||||||
|
for i := 0; i < (int)(c.Polaris.InstanceCount); i++ {
|
||||||
|
registerRequest := &polarisApi.InstanceRegisterRequest{}
|
||||||
|
registerRequest.Service = c.Polaris.Service
|
||||||
|
registerRequest.Namespace = c.Polaris.Namespace
|
||||||
|
registerRequest.Host = c.Polaris.Address
|
||||||
|
registerRequest.Port = (int)(c.Polaris.Port) + i
|
||||||
|
registerRequest.ServiceToken = c.Polaris.Token
|
||||||
|
registerRequest.SetHealthy(true)
|
||||||
|
if resp, err = provider.RegisterInstance(registerRequest); err != nil {
|
||||||
|
log.Fatalf("fail to register instance %d, err is %v", i, err)
|
||||||
|
} else {
|
||||||
|
log.Infof("register instance %d response: instanceId %s", i, resp.InstanceID)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
reg := polarisKratos.NewRegistry(provider, consumer)
|
||||||
|
|
||||||
|
return reg
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewServicecombRegistry 创建一个注册发现客户端 - Servicecomb
|
||||||
|
func NewServicecombRegistry(c *conf.Registry) *servicecombKratos.Registry {
|
||||||
|
cfg := servicecombClient.Options{
|
||||||
|
Endpoints: c.Servicecomb.Endpoints,
|
||||||
|
}
|
||||||
|
|
||||||
|
var cli *servicecombClient.Client
|
||||||
|
var err error
|
||||||
|
if cli, err = servicecombClient.NewClient(cfg); err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
reg := servicecombKratos.NewRegistry(cli)
|
||||||
|
|
||||||
|
return reg
|
||||||
|
}
|
||||||
77
registry_test.go
Normal file
77
registry_test.go
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
package bootstrap
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/tx7do/kratos-bootstrap/gen/api/go/conf/v1"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestNewConsulRegistry(t *testing.T) {
|
||||||
|
var cfg conf.Registry
|
||||||
|
cfg.Consul.Scheme = "http"
|
||||||
|
cfg.Consul.Address = "localhost:8500"
|
||||||
|
cfg.Consul.HealthCheck = false
|
||||||
|
|
||||||
|
reg := NewConsulRegistry(&cfg)
|
||||||
|
assert.Nil(t, reg)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestNewEtcdRegistry(t *testing.T) {
|
||||||
|
var cfg conf.Registry
|
||||||
|
cfg.Etcd.Endpoints = []string{"127.0.0.1:2379"}
|
||||||
|
|
||||||
|
reg := NewEtcdRegistry(&cfg)
|
||||||
|
assert.Nil(t, reg)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestNewNacosRegistry(t *testing.T) {
|
||||||
|
var cfg conf.Registry
|
||||||
|
cfg.Nacos.Address = "127.0.0.1"
|
||||||
|
cfg.Nacos.Port = 8848
|
||||||
|
|
||||||
|
reg := NewNacosRegistry(&cfg)
|
||||||
|
assert.Nil(t, reg)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestNewZooKeeperRegistry(t *testing.T) {
|
||||||
|
var cfg conf.Registry
|
||||||
|
cfg.Zookeeper.Endpoints = []string{"127.0.0.1:2181"}
|
||||||
|
|
||||||
|
reg := NewZooKeeperRegistry(&cfg)
|
||||||
|
assert.Nil(t, reg)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestNewKubernetesRegistry(t *testing.T) {
|
||||||
|
var cfg conf.Registry
|
||||||
|
reg := NewKubernetesRegistry(&cfg)
|
||||||
|
assert.Nil(t, reg)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestNewEurekaRegistry(t *testing.T) {
|
||||||
|
var cfg conf.Registry
|
||||||
|
cfg.Eureka.Endpoints = []string{"https://127.0.0.1:18761"}
|
||||||
|
|
||||||
|
reg := NewEurekaRegistry(&cfg)
|
||||||
|
assert.Nil(t, reg)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestNewPolarisRegistry(t *testing.T) {
|
||||||
|
var cfg conf.Registry
|
||||||
|
cfg.Polaris.Address = "127.0.0.1"
|
||||||
|
cfg.Polaris.Port = 8091
|
||||||
|
cfg.Polaris.InstanceCount = 5
|
||||||
|
cfg.Polaris.Namespace = "default"
|
||||||
|
cfg.Polaris.Service = "DiscoverEchoServer"
|
||||||
|
cfg.Polaris.Token = ""
|
||||||
|
|
||||||
|
reg := NewPolarisRegistry(&cfg)
|
||||||
|
assert.Nil(t, reg)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestNewServicecombRegistry(t *testing.T) {
|
||||||
|
var cfg conf.Registry
|
||||||
|
cfg.Servicecomb.Endpoints = []string{"127.0.0.1:30100"}
|
||||||
|
|
||||||
|
reg := NewServicecombRegistry(&cfg)
|
||||||
|
assert.Nil(t, reg)
|
||||||
|
}
|
||||||
64
rest.go
Normal file
64
rest.go
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
package bootstrap
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/go-kratos/aegis/ratelimit"
|
||||||
|
"github.com/go-kratos/aegis/ratelimit/bbr"
|
||||||
|
"github.com/go-kratos/kratos/v2/middleware"
|
||||||
|
midRateLimit "github.com/go-kratos/kratos/v2/middleware/ratelimit"
|
||||||
|
"github.com/go-kratos/kratos/v2/middleware/recovery"
|
||||||
|
"github.com/go-kratos/kratos/v2/middleware/tracing"
|
||||||
|
"github.com/go-kratos/kratos/v2/middleware/validate"
|
||||||
|
kratosRest "github.com/go-kratos/kratos/v2/transport/http"
|
||||||
|
|
||||||
|
"github.com/gorilla/handlers"
|
||||||
|
|
||||||
|
"github.com/tx7do/kratos-bootstrap/gen/api/go/conf/v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
// CreateRestServer 创建REST服务端
|
||||||
|
func CreateRestServer(cfg *conf.Bootstrap, m ...middleware.Middleware) *kratosRest.Server {
|
||||||
|
var opts = []kratosRest.ServerOption{
|
||||||
|
kratosRest.Filter(handlers.CORS(
|
||||||
|
handlers.AllowedHeaders(cfg.Server.Rest.Cors.Headers),
|
||||||
|
handlers.AllowedMethods(cfg.Server.Rest.Cors.Methods),
|
||||||
|
handlers.AllowedOrigins(cfg.Server.Rest.Cors.Origins),
|
||||||
|
)),
|
||||||
|
}
|
||||||
|
|
||||||
|
var ms []middleware.Middleware
|
||||||
|
if cfg.Server != nil && cfg.Server.Rest != nil && cfg.Server.Rest.Middleware != nil {
|
||||||
|
if cfg.Server.Rest.Middleware.GetEnableRecovery() {
|
||||||
|
ms = append(ms, recovery.Recovery())
|
||||||
|
}
|
||||||
|
if cfg.Server.Rest.Middleware.GetEnableTracing() {
|
||||||
|
ms = append(ms, tracing.Server())
|
||||||
|
}
|
||||||
|
if cfg.Server.Rest.Middleware.GetEnableValidate() {
|
||||||
|
ms = append(ms, validate.Validator())
|
||||||
|
}
|
||||||
|
if cfg.Server.Rest.Middleware.GetEnableCircuitBreaker() {
|
||||||
|
}
|
||||||
|
if cfg.Server.Rest.Middleware.Limiter != nil {
|
||||||
|
var limiter ratelimit.Limiter
|
||||||
|
switch cfg.Server.Rest.Middleware.Limiter.GetName() {
|
||||||
|
case "bbr":
|
||||||
|
limiter = bbr.NewLimiter()
|
||||||
|
}
|
||||||
|
ms = append(ms, midRateLimit.Server(midRateLimit.WithLimiter(limiter)))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ms = append(ms, m...)
|
||||||
|
opts = append(opts, kratosRest.Middleware(ms...))
|
||||||
|
|
||||||
|
if cfg.Server.Rest.Network != "" {
|
||||||
|
opts = append(opts, kratosRest.Network(cfg.Server.Rest.Network))
|
||||||
|
}
|
||||||
|
if cfg.Server.Rest.Addr != "" {
|
||||||
|
opts = append(opts, kratosRest.Address(cfg.Server.Rest.Addr))
|
||||||
|
}
|
||||||
|
if cfg.Server.Rest.Timeout != nil {
|
||||||
|
opts = append(opts, kratosRest.Timeout(cfg.Server.Rest.Timeout.AsDuration()))
|
||||||
|
}
|
||||||
|
|
||||||
|
return kratosRest.NewServer(opts...)
|
||||||
|
}
|
||||||
30
service_info.go
Normal file
30
service_info.go
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
package bootstrap
|
||||||
|
|
||||||
|
import "os"
|
||||||
|
|
||||||
|
type ServiceInfo struct {
|
||||||
|
Name string
|
||||||
|
Version string
|
||||||
|
Id string
|
||||||
|
Metadata map[string]string
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewServiceInfo(name, version, id string) *ServiceInfo {
|
||||||
|
if id == "" {
|
||||||
|
id, _ = os.Hostname()
|
||||||
|
}
|
||||||
|
return &ServiceInfo{
|
||||||
|
Name: name,
|
||||||
|
Version: version,
|
||||||
|
Id: id,
|
||||||
|
Metadata: map[string]string{},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *ServiceInfo) GetInstanceId() string {
|
||||||
|
return s.Id + "." + s.Name
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *ServiceInfo) SetMataData(k, v string) {
|
||||||
|
s.Metadata[k] = v
|
||||||
|
}
|
||||||
84
tracer.go
Normal file
84
tracer.go
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
package bootstrap
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
|
"go.opentelemetry.io/otel/exporters/jaeger"
|
||||||
|
"go.opentelemetry.io/otel/exporters/zipkin"
|
||||||
|
|
||||||
|
"github.com/tx7do/kratos-bootstrap/gen/api/go/conf/v1"
|
||||||
|
"go.opentelemetry.io/otel"
|
||||||
|
"go.opentelemetry.io/otel/attribute"
|
||||||
|
"go.opentelemetry.io/otel/sdk/resource"
|
||||||
|
traceSdk "go.opentelemetry.io/otel/sdk/trace"
|
||||||
|
semConv "go.opentelemetry.io/otel/semconv/v1.4.0"
|
||||||
|
)
|
||||||
|
|
||||||
|
// NewJaegerExporter 创建一个jaeger导出器
|
||||||
|
func NewJaegerExporter(endpoint string) (traceSdk.SpanExporter, error) {
|
||||||
|
return jaeger.New(jaeger.WithCollectorEndpoint(jaeger.WithEndpoint(endpoint)))
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewZipkinExporter 创建一个zipkin导出器
|
||||||
|
func NewZipkinExporter(endpoint string) (traceSdk.SpanExporter, error) {
|
||||||
|
return zipkin.New(endpoint)
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewTracerExporter 创建一个导出器,支持:jaeger和zipkin
|
||||||
|
func NewTracerExporter(exporterName, endpoint string) (traceSdk.SpanExporter, error) {
|
||||||
|
if exporterName == "" {
|
||||||
|
exporterName = "jaeger"
|
||||||
|
}
|
||||||
|
|
||||||
|
switch exporterName {
|
||||||
|
case "jaeger":
|
||||||
|
return NewJaegerExporter(endpoint)
|
||||||
|
case "zipkin":
|
||||||
|
return NewZipkinExporter(endpoint)
|
||||||
|
default:
|
||||||
|
return nil, errors.New("exporter type not support")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewTracerProvider 创建一个链路追踪器
|
||||||
|
func NewTracerProvider(cfg *conf.Tracer, serviceInfo *ServiceInfo) error {
|
||||||
|
if cfg == nil {
|
||||||
|
return errors.New("tracer config is nil")
|
||||||
|
}
|
||||||
|
|
||||||
|
if cfg.Sampler == 0 {
|
||||||
|
cfg.Sampler = 1.0
|
||||||
|
}
|
||||||
|
|
||||||
|
if cfg.Env == "" {
|
||||||
|
cfg.Env = "dev"
|
||||||
|
}
|
||||||
|
|
||||||
|
opts := []traceSdk.TracerProviderOption{
|
||||||
|
traceSdk.WithSampler(traceSdk.ParentBased(traceSdk.TraceIDRatioBased(cfg.Sampler))),
|
||||||
|
traceSdk.WithResource(resource.NewSchemaless(
|
||||||
|
semConv.ServiceNameKey.String(serviceInfo.Name),
|
||||||
|
semConv.ServiceVersionKey.String(serviceInfo.Version),
|
||||||
|
semConv.ServiceInstanceIDKey.String(serviceInfo.Id),
|
||||||
|
attribute.String("env", cfg.Env),
|
||||||
|
)),
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(cfg.Endpoint) > 0 {
|
||||||
|
exp, err := NewTracerExporter(cfg.Batcher, cfg.Endpoint)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
opts = append(opts, traceSdk.WithBatcher(exp))
|
||||||
|
}
|
||||||
|
|
||||||
|
tp := traceSdk.NewTracerProvider(opts...)
|
||||||
|
if tp == nil {
|
||||||
|
return errors.New("create tracer provider failed")
|
||||||
|
}
|
||||||
|
|
||||||
|
otel.SetTracerProvider(tp)
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user