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