Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
22382d11e0 | ||
|
|
f428916cd1 | ||
|
|
3fc082fef5 | ||
|
|
094a996690 | ||
|
|
ce00339301 | ||
|
|
52d7c62d98 | ||
|
|
0c75b390be | ||
|
|
34547d6ff9 |
26
.gitignore
vendored
26
.gitignore
vendored
@@ -1,6 +1,4 @@
|
|||||||
# If you prefer the allow list template instead of the deny list, see community template:
|
# Reference https://github.com/github/gitignore/blob/master/Go.gitignore
|
||||||
# https://github.com/github/gitignore/blob/main/community/Golang/Go.AllowList.gitignore
|
|
||||||
#
|
|
||||||
# Binaries for programs and plugins
|
# Binaries for programs and plugins
|
||||||
*.exe
|
*.exe
|
||||||
*.exe~
|
*.exe~
|
||||||
@@ -15,7 +13,23 @@
|
|||||||
*.out
|
*.out
|
||||||
|
|
||||||
# Dependency directories (remove the comment below to include it)
|
# Dependency directories (remove the comment below to include it)
|
||||||
# vendor/
|
vendor/
|
||||||
|
|
||||||
# Go workspace file
|
# Compiled Object files, Static and Dynamic libs (Shared Objects)
|
||||||
go.work
|
*.o
|
||||||
|
*.a
|
||||||
|
|
||||||
|
# OS General
|
||||||
|
Thumbs.db
|
||||||
|
.DS_Store
|
||||||
|
|
||||||
|
# project
|
||||||
|
*.cert
|
||||||
|
*.key
|
||||||
|
*.log
|
||||||
|
bin/
|
||||||
|
|
||||||
|
# Develop tools
|
||||||
|
.vscode/
|
||||||
|
.idea/
|
||||||
|
*.swp
|
||||||
|
|||||||
@@ -25,33 +25,100 @@ message Data {
|
|||||||
string addr = 2; // 服务端地址
|
string addr = 2; // 服务端地址
|
||||||
string password = 3; // 密码
|
string password = 3; // 密码
|
||||||
int32 db = 4; // 数据库索引
|
int32 db = 4; // 数据库索引
|
||||||
|
|
||||||
google.protobuf.Duration dial_timeout = 5; // 连接超时时间
|
google.protobuf.Duration dial_timeout = 5; // 连接超时时间
|
||||||
google.protobuf.Duration read_timeout = 6; // 读取超时时间
|
google.protobuf.Duration read_timeout = 6; // 读取超时时间
|
||||||
google.protobuf.Duration write_timeout = 7; // 写入超时时间
|
google.protobuf.Duration write_timeout = 7; // 写入超时时间
|
||||||
|
|
||||||
|
bool enable_tracing = 8; // 打开链路追踪
|
||||||
|
bool enable_metrics = 9; // 打开性能度量
|
||||||
|
}
|
||||||
|
|
||||||
|
// MongoDB
|
||||||
|
message MongoDB {
|
||||||
|
string address = 1;
|
||||||
|
string username = 2;
|
||||||
|
string password = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ClickHouse
|
||||||
|
message ClickHouse {
|
||||||
|
string address = 1;
|
||||||
|
string database = 2;
|
||||||
|
string username = 3;
|
||||||
|
string password = 4;
|
||||||
|
bool debug = 5;
|
||||||
|
string compression_method = 6;
|
||||||
|
google.protobuf.Duration dial_timeout = 7;
|
||||||
|
int32 max_execution_time = 8;
|
||||||
|
int32 max_open_conns = 9;
|
||||||
|
int32 max_idle_conns = 10;
|
||||||
|
google.protobuf.Duration conn_max_life_time = 11;
|
||||||
|
int32 block_buffer_size = 12;
|
||||||
|
int32 max_compression_buffer = 13;
|
||||||
|
string conn_open_strategy = 14;
|
||||||
|
int32 max_idle_connections = 15; // 连接池最大空闲连接数
|
||||||
|
int32 max_open_connections = 16; // 连接池最大打开连接数
|
||||||
|
google.protobuf.Duration connection_max_lifetime = 17; // 连接可重用的最大时间长度
|
||||||
|
string protocol = 18;
|
||||||
|
}
|
||||||
|
|
||||||
|
// InfluxDB
|
||||||
|
message InfluxDB {
|
||||||
|
string address = 1;
|
||||||
|
string token = 2;
|
||||||
|
string organization = 3;
|
||||||
|
string bucket = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Kafka
|
// Kafka
|
||||||
message Kafka {
|
message Kafka {
|
||||||
repeated string addrs = 1; // 对端网络地址
|
repeated string addrs = 1; // 对端网络地址
|
||||||
string codec = 2; // 编解码器
|
string codec = 2; // 编解码器
|
||||||
|
bool async = 3; // 异步发送
|
||||||
|
bool allow_auto_topic_creation = 4; // 允许发送的时候自动创建主题
|
||||||
|
int32 batch_size = 5; // 批量发送量
|
||||||
|
google.protobuf.Duration batch_timeout = 6; // 批量发送超时时间
|
||||||
|
google.protobuf.Duration read_timeout = 7; // 读取超时时间
|
||||||
|
google.protobuf.Duration write_timeout = 8; // 发送超时时间
|
||||||
|
int64 batch_bytes = 9;// 批量发送字节数
|
||||||
}
|
}
|
||||||
|
|
||||||
// MongoDB
|
message Doris {
|
||||||
message MongoDB {
|
string address = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ClickHouse
|
message ElasticSearch {
|
||||||
message ClickHouse {
|
repeated string addresses = 1;
|
||||||
|
string username = 2;
|
||||||
|
string password = 3;
|
||||||
|
bool enable_sniffer = 4;
|
||||||
|
bool enable_gzip = 5;
|
||||||
|
google.protobuf.Duration health_check_interval = 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
// InfluxDB
|
message Cassandra {
|
||||||
message InfluxDB {
|
string address = 1;
|
||||||
|
string username = 2;
|
||||||
|
string password = 3;
|
||||||
|
string keyspace = 5;
|
||||||
|
google.protobuf.Duration connect_timeout = 6;
|
||||||
|
google.protobuf.Duration timeout = 7;
|
||||||
|
uint32 consistency = 8;
|
||||||
|
bool disable_initial_host_lookup = 9;
|
||||||
|
bool ignore_peer_addr = 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
Database database = 1; // 数据库
|
Database database = 1; // 数据库DSN
|
||||||
Redis redis = 2; // Redis
|
|
||||||
Kafka kafka = 3; // Kafka服务
|
Redis redis = 10; // Redis
|
||||||
MongoDB mongodb = 4; // MongoDB服务
|
MongoDB mongodb = 11; // MongoDB数据库
|
||||||
ClickHouse clickhouse = 5; // ClickHouse服务
|
ElasticSearch elastic_search = 12; // ElasticSearch数据库
|
||||||
InfluxDB influxdb = 6; // InfluxDB服务
|
Cassandra cassandra = 13; // Cassandra数据库
|
||||||
|
|
||||||
|
ClickHouse clickhouse = 20; // ClickHouse数据库
|
||||||
|
InfluxDB influxdb = 21; // InfluxDB数据库
|
||||||
|
Doris doris = 22; // Doris数据库
|
||||||
|
|
||||||
|
Kafka kafka = 30; // Kafka服务
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ message Server {
|
|||||||
CORS cors = 4; // 服务监听地址
|
CORS cors = 4; // 服务监听地址
|
||||||
Middleware middleware = 5; // 中间件
|
Middleware middleware = 5; // 中间件
|
||||||
bool enable_swagger = 6; // 启用SwaggerUI
|
bool enable_swagger = 6; // 启用SwaggerUI
|
||||||
|
bool enable_pprof = 7; // 启用pprof
|
||||||
}
|
}
|
||||||
|
|
||||||
// gPRC
|
// gPRC
|
||||||
@@ -57,11 +58,54 @@ message Server {
|
|||||||
repeated string addrs = 1; // 对端网络地址
|
repeated string addrs = 1; // 对端网络地址
|
||||||
}
|
}
|
||||||
|
|
||||||
|
message ActiveMQ {
|
||||||
|
string endpoint = 1; // 对端网络地址
|
||||||
|
string codec = 2; // 编解码器: json,xml,yaml...
|
||||||
|
}
|
||||||
|
|
||||||
|
message NATS {
|
||||||
|
string endpoint = 1; // 对端网络地址
|
||||||
|
string codec = 2; // 编解码器: json,xml,yaml...
|
||||||
|
}
|
||||||
|
|
||||||
|
message NSQ {
|
||||||
|
string endpoint = 1; // 对端网络地址
|
||||||
|
string codec = 2; // 编解码器: json,xml,yaml...
|
||||||
|
}
|
||||||
|
|
||||||
|
message Pulsar {
|
||||||
|
string endpoint = 1; // 对端网络地址
|
||||||
|
string codec = 2; // 编解码器: json,xml,yaml...
|
||||||
|
}
|
||||||
|
|
||||||
|
message Redis {
|
||||||
|
string endpoint = 1; // 对端网络地址
|
||||||
|
string codec = 2; // 编解码器: json,xml,yaml...
|
||||||
|
}
|
||||||
|
|
||||||
|
message RocketMQ {
|
||||||
|
string version = 1; // 驱动版本:aliyun、v2、v5
|
||||||
|
string codec = 2; // 编解码器: json,xml,yaml...
|
||||||
|
bool enable_trace = 3;
|
||||||
|
|
||||||
|
repeated string name_servers = 4;
|
||||||
|
string name_server_domain = 5;
|
||||||
|
|
||||||
|
string access_key = 6;
|
||||||
|
string secret_key = 7;
|
||||||
|
string security_token = 8;
|
||||||
|
|
||||||
|
string namespace = 9;
|
||||||
|
string instance_name = 10;
|
||||||
|
string group_name = 11;
|
||||||
|
}
|
||||||
|
|
||||||
// Asynq
|
// Asynq
|
||||||
message Asynq {
|
message Asynq {
|
||||||
string endpoint = 1; // 对端网络地址
|
string endpoint = 1; // 对端网络地址
|
||||||
string password = 2; // redis登录密码
|
string password = 2; // redis登录密码
|
||||||
int32 db = 3; // 数据库索引
|
int32 db = 3; // 数据库索引
|
||||||
|
string location = 4; // 时区
|
||||||
}
|
}
|
||||||
|
|
||||||
// Machinery
|
// Machinery
|
||||||
@@ -74,42 +118,86 @@ message Server {
|
|||||||
message SSE {
|
message SSE {
|
||||||
string network = 1; // 网络
|
string network = 1; // 网络
|
||||||
string addr = 2; // 服务监听地址
|
string addr = 2; // 服务监听地址
|
||||||
google.protobuf.Duration timeout = 3; // 超时时间
|
string path = 3; // 路径
|
||||||
string path = 4; // 路径
|
string codec = 4; // 编解码器
|
||||||
string codec = 5; // 编解码器
|
|
||||||
|
google.protobuf.Duration timeout = 5; // 超时时间
|
||||||
|
google.protobuf.Duration event_ttl = 6; // 超时时间
|
||||||
|
|
||||||
|
bool auto_stream = 7; //
|
||||||
|
bool auto_reply = 8; //
|
||||||
|
bool split_data = 9; //
|
||||||
|
bool encode_base64 = 10; // 进行BASE64编码
|
||||||
}
|
}
|
||||||
|
|
||||||
// SocketIO
|
// SocketIO
|
||||||
message SocketIO {
|
message SocketIO {
|
||||||
|
string network = 1; // 网络
|
||||||
|
string addr = 2; // 服务监听地址
|
||||||
|
string path = 3; // 路径
|
||||||
|
string codec = 4; // 编解码器
|
||||||
}
|
}
|
||||||
|
|
||||||
// SignalR
|
// SignalR
|
||||||
message SignalR {
|
message SignalR {
|
||||||
|
string network = 1; // 网络
|
||||||
|
string addr = 2; // 服务监听地址
|
||||||
|
string codec = 3; // 编解码器
|
||||||
|
|
||||||
|
google.protobuf.Duration keep_alive_interval = 4; // 超时时间
|
||||||
|
google.protobuf.Duration chan_receive_timeout = 5; // 超时时间
|
||||||
|
bool debug = 6; // 调试开关
|
||||||
|
uint32 stream_buffer_capacity = 7; //
|
||||||
}
|
}
|
||||||
|
|
||||||
// GraphQL
|
// GraphQL
|
||||||
message GraphQL {
|
message GraphQL {
|
||||||
|
string network = 1; // 网络
|
||||||
|
string addr = 2; // 服务监听地址
|
||||||
|
string path = 3; // 路径
|
||||||
|
string codec = 4; // 编解码器
|
||||||
|
google.protobuf.Duration timeout = 5; // 超时时间
|
||||||
|
bool strict_slash = 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Thrift
|
// Thrift
|
||||||
message Thrift {
|
message Thrift {
|
||||||
|
string network = 1; // 网络
|
||||||
|
string addr = 2; // 服务监听地址
|
||||||
|
string protocol = 3;
|
||||||
|
bool buffered = 4;
|
||||||
|
bool framed = 5;
|
||||||
|
bool buffer_size = 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// RPC
|
||||||
|
|
||||||
REST rest = 1; // REST服务
|
REST rest = 1; // REST服务
|
||||||
GRPC grpc = 2; // gRPC服务
|
GRPC grpc = 2; // gRPC服务
|
||||||
Websocket websocket = 3; // Websocket服务
|
GraphQL graphql = 3; // GraphQL服务
|
||||||
Mqtt mqtt = 4; // MQTT服务
|
Thrift thrift = 4; // Thrift服务
|
||||||
Kafka kafka = 5; // Kafka服务
|
|
||||||
RabbitMQ rabbitmq = 6; // RabbitMQ服务
|
// Message Queue
|
||||||
Asynq asynq = 7; // Asynq服务
|
|
||||||
Machinery machinery = 8; // Machinery服务
|
Mqtt mqtt = 10; // MQTT服务
|
||||||
SSE sse = 9; // SSE服务
|
Kafka kafka = 11; // Kafka服务
|
||||||
SocketIO socketio = 10; // SocketIO服务
|
RabbitMQ rabbitmq = 12; // RabbitMQ服务
|
||||||
SignalR signalr = 11; // SignalR服务
|
ActiveMQ activemq = 13; // ActiveMQ
|
||||||
GraphQL graphql = 12; // GraphQL服务
|
NATS nats = 14; // NATS
|
||||||
Thrift thrift = 13; // Thrift服务
|
NSQ nsq = 15; // NATS
|
||||||
|
Pulsar pulsar = 16; // Pulsar
|
||||||
|
Redis redis = 17; // Redis
|
||||||
|
RocketMQ rocketmq = 18; // RocketMQ
|
||||||
|
|
||||||
|
// RealTime
|
||||||
|
|
||||||
|
Websocket websocket = 20; // Websocket服务
|
||||||
|
SSE sse = 21; // SSE服务
|
||||||
|
SocketIO socketio = 22; // SocketIO服务
|
||||||
|
SignalR signalr = 23; // SignalR服务
|
||||||
|
|
||||||
|
// Task Queue
|
||||||
|
|
||||||
|
Asynq asynq = 30; // Asynq服务
|
||||||
|
Machinery machinery = 31; // Machinery服务
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -64,7 +64,10 @@ message PagingRequest {
|
|||||||
// 字段掩码
|
// 字段掩码
|
||||||
google.protobuf.FieldMask field_mask = 7 [
|
google.protobuf.FieldMask field_mask = 7 [
|
||||||
json_name = "fieldMask",
|
json_name = "fieldMask",
|
||||||
(gnostic.openapi.v3.property) = {description: "字段掩码"}
|
(gnostic.openapi.v3.property) = {
|
||||||
|
description: "字段掩码,如果为空则选中所有字段。",
|
||||||
|
example: {yaml : "id,realName,userName"}
|
||||||
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -196,7 +196,7 @@ var file_pagination_v1_pagination_proto_rawDesc = []byte{
|
|||||||
0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6e, 0x6f, 0x73, 0x74,
|
0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6e, 0x6f, 0x73, 0x74,
|
||||||
0x69, 0x63, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x6e,
|
0x69, 0x63, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x6e,
|
||||||
0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
|
0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
|
||||||
0xf1, 0x04, 0x0a, 0x0d, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
0xb1, 0x05, 0x0a, 0x0d, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||||
0x74, 0x12, 0x37, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42,
|
0x74, 0x12, 0x37, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42,
|
||||||
0x1e, 0xba, 0x47, 0x1b, 0x8a, 0x02, 0x09, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f,
|
0x1e, 0xba, 0x47, 0x1b, 0x8a, 0x02, 0x09, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f,
|
||||||
0x92, 0x02, 0x0c, 0xe5, 0xbd, 0x93, 0xe5, 0x89, 0x8d, 0xe9, 0xa1, 0xb5, 0xe7, 0xa0, 0x81, 0x48,
|
0x92, 0x02, 0x0c, 0xe5, 0xbd, 0x93, 0xe5, 0x89, 0x8d, 0xe9, 0xa1, 0xb5, 0xe7, 0xa0, 0x81, 0x48,
|
||||||
@@ -226,11 +226,15 @@ var file_pagination_v1_pagination_proto_rawDesc = []byte{
|
|||||||
0x37, 0x0a, 0x09, 0x6e, 0x6f, 0x5f, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01,
|
0x37, 0x0a, 0x09, 0x6e, 0x6f, 0x5f, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01,
|
||||||
0x28, 0x08, 0x42, 0x15, 0xba, 0x47, 0x12, 0x92, 0x02, 0x0f, 0xe6, 0x98, 0xaf, 0xe5, 0x90, 0xa6,
|
0x28, 0x08, 0x42, 0x15, 0xba, 0x47, 0x12, 0x92, 0x02, 0x0f, 0xe6, 0x98, 0xaf, 0xe5, 0x90, 0xa6,
|
||||||
0xe4, 0xb8, 0x8d, 0xe5, 0x88, 0x86, 0xe9, 0xa1, 0xb5, 0x48, 0x04, 0x52, 0x08, 0x6e, 0x6f, 0x70,
|
0xe4, 0xb8, 0x8d, 0xe5, 0x88, 0x86, 0xe9, 0xa1, 0xb5, 0x48, 0x04, 0x52, 0x08, 0x6e, 0x6f, 0x70,
|
||||||
0x61, 0x67, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c,
|
0x61, 0x67, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x8c, 0x01, 0x0a, 0x0a, 0x66, 0x69, 0x65,
|
||||||
0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
|
0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
|
||||||
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
|
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
|
||||||
0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x12, 0xba, 0x47, 0x0f, 0x92, 0x02, 0x0c,
|
0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x51, 0xba, 0x47, 0x4e, 0x3a, 0x16,
|
||||||
0xe5, 0xad, 0x97, 0xe6, 0xae, 0xb5, 0xe6, 0x8e, 0xa9, 0xe7, 0xa0, 0x81, 0x52, 0x09, 0x66, 0x69,
|
0x12, 0x14, 0x69, 0x64, 0x2c, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x2c, 0x75, 0x73,
|
||||||
|
0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x92, 0x02, 0x33, 0xe5, 0xad, 0x97, 0xe6, 0xae, 0xb5, 0xe6,
|
||||||
|
0x8e, 0xa9, 0xe7, 0xa0, 0x81, 0xef, 0xbc, 0x8c, 0xe5, 0xa6, 0x82, 0xe6, 0x9e, 0x9c, 0xe4, 0xb8,
|
||||||
|
0xba, 0xe7, 0xa9, 0xba, 0xe5, 0x88, 0x99, 0xe9, 0x80, 0x89, 0xe4, 0xb8, 0xad, 0xe6, 0x89, 0x80,
|
||||||
|
0xe6, 0x9c, 0x89, 0xe5, 0xad, 0x97, 0xe6, 0xae, 0xb5, 0xe3, 0x80, 0x82, 0x52, 0x09, 0x66, 0x69,
|
||||||
0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65,
|
0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65,
|
||||||
0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x08,
|
0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x08,
|
||||||
0x0a, 0x06, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x5f,
|
0x0a, 0x06, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x5f,
|
||||||
|
|||||||
213
go.mod
213
go.mod
@@ -1,106 +1,109 @@
|
|||||||
module github.com/tx7do/kratos-bootstrap
|
module github.com/tx7do/kratos-bootstrap
|
||||||
|
|
||||||
go 1.20
|
go 1.22.0
|
||||||
|
|
||||||
|
toolchain go1.22.1
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/go-chassis/sc-client v0.7.0
|
github.com/go-chassis/sc-client v0.7.0
|
||||||
github.com/go-kratos/aegis v0.2.0
|
github.com/go-kratos/aegis v0.2.0
|
||||||
github.com/go-kratos/kratos/contrib/config/apollo/v2 v2.0.0-20231023125239-6cdd81811e10
|
github.com/go-kratos/kratos/contrib/config/apollo/v2 v2.0.0-20240416123913-75711092ab26
|
||||||
github.com/go-kratos/kratos/contrib/config/consul/v2 v2.0.0-20231023125239-6cdd81811e10
|
github.com/go-kratos/kratos/contrib/config/consul/v2 v2.0.0-20240416123913-75711092ab26
|
||||||
github.com/go-kratos/kratos/contrib/config/etcd/v2 v2.0.0-20231023125239-6cdd81811e10
|
github.com/go-kratos/kratos/contrib/config/etcd/v2 v2.0.0-20240416123913-75711092ab26
|
||||||
github.com/go-kratos/kratos/contrib/config/kubernetes/v2 v2.0.0-20231023125239-6cdd81811e10
|
github.com/go-kratos/kratos/contrib/config/kubernetes/v2 v2.0.0-20240416123913-75711092ab26
|
||||||
github.com/go-kratos/kratos/contrib/config/nacos/v2 v2.0.0-20231023125239-6cdd81811e10
|
github.com/go-kratos/kratos/contrib/config/nacos/v2 v2.0.0-20240416123913-75711092ab26
|
||||||
github.com/go-kratos/kratos/contrib/log/aliyun/v2 v2.0.0-20231023125239-6cdd81811e10
|
github.com/go-kratos/kratos/contrib/log/aliyun/v2 v2.0.0-20240416123913-75711092ab26
|
||||||
github.com/go-kratos/kratos/contrib/log/fluent/v2 v2.0.0-20231023125239-6cdd81811e10
|
github.com/go-kratos/kratos/contrib/log/fluent/v2 v2.0.0-20240416123913-75711092ab26
|
||||||
github.com/go-kratos/kratos/contrib/log/logrus/v2 v2.0.0-20231023125239-6cdd81811e10
|
github.com/go-kratos/kratos/contrib/log/logrus/v2 v2.0.0-20240416123913-75711092ab26
|
||||||
github.com/go-kratos/kratos/contrib/log/tencent/v2 v2.0.0-20231023125239-6cdd81811e10
|
github.com/go-kratos/kratos/contrib/log/tencent/v2 v2.0.0-20240416123913-75711092ab26
|
||||||
github.com/go-kratos/kratos/contrib/log/zap/v2 v2.0.0-20231023125239-6cdd81811e10
|
github.com/go-kratos/kratos/contrib/log/zap/v2 v2.0.0-20240416123913-75711092ab26
|
||||||
github.com/go-kratos/kratos/contrib/registry/consul/v2 v2.0.0-20231023125239-6cdd81811e10
|
github.com/go-kratos/kratos/contrib/registry/consul/v2 v2.0.0-20240416123913-75711092ab26
|
||||||
github.com/go-kratos/kratos/contrib/registry/etcd/v2 v2.0.0-20231023125239-6cdd81811e10
|
github.com/go-kratos/kratos/contrib/registry/etcd/v2 v2.0.0-20240416123913-75711092ab26
|
||||||
github.com/go-kratos/kratos/contrib/registry/eureka/v2 v2.0.0-20231023125239-6cdd81811e10
|
github.com/go-kratos/kratos/contrib/registry/eureka/v2 v2.0.0-20240416123913-75711092ab26
|
||||||
github.com/go-kratos/kratos/contrib/registry/kubernetes/v2 v2.0.0-20231023125239-6cdd81811e10
|
github.com/go-kratos/kratos/contrib/registry/kubernetes/v2 v2.0.0-20240416123913-75711092ab26
|
||||||
github.com/go-kratos/kratos/contrib/registry/nacos/v2 v2.0.0-20231023125239-6cdd81811e10
|
github.com/go-kratos/kratos/contrib/registry/nacos/v2 v2.0.0-20240416123913-75711092ab26
|
||||||
github.com/go-kratos/kratos/contrib/registry/servicecomb/v2 v2.0.0-20231023125239-6cdd81811e10
|
github.com/go-kratos/kratos/contrib/registry/servicecomb/v2 v2.0.0-20240416123913-75711092ab26
|
||||||
github.com/go-kratos/kratos/contrib/registry/zookeeper/v2 v2.0.0-20231023125239-6cdd81811e10
|
github.com/go-kratos/kratos/contrib/registry/zookeeper/v2 v2.0.0-20240416123913-75711092ab26
|
||||||
github.com/go-kratos/kratos/v2 v2.7.1
|
github.com/go-kratos/kratos/v2 v2.7.3
|
||||||
github.com/go-redis/redis/extra/redisotel/v8 v8.11.5
|
|
||||||
github.com/go-redis/redis/v8 v8.11.5
|
|
||||||
github.com/go-zookeeper/zk v1.0.3
|
github.com/go-zookeeper/zk v1.0.3
|
||||||
|
github.com/google/gnostic v0.7.0
|
||||||
github.com/google/subcommands v1.2.0
|
github.com/google/subcommands v1.2.0
|
||||||
github.com/gorilla/handlers v1.5.1
|
github.com/gorilla/handlers v1.5.2
|
||||||
github.com/hashicorp/consul/api v1.25.1
|
github.com/hashicorp/consul/api v1.28.2
|
||||||
github.com/minio/minio-go/v7 v7.0.63
|
github.com/minio/minio-go/v7 v7.0.69
|
||||||
github.com/nacos-group/nacos-sdk-go v1.1.4
|
github.com/nacos-group/nacos-sdk-go v1.1.4
|
||||||
github.com/olekukonko/tablewriter v0.0.5
|
github.com/olekukonko/tablewriter v0.0.5
|
||||||
|
github.com/redis/go-redis/extra/redisotel/v9 v9.0.5
|
||||||
|
github.com/redis/go-redis/v9 v9.5.1
|
||||||
github.com/sirupsen/logrus v1.9.3
|
github.com/sirupsen/logrus v1.9.3
|
||||||
github.com/spf13/cobra v1.7.0
|
github.com/spf13/cobra v1.8.0
|
||||||
github.com/stretchr/testify v1.8.4
|
github.com/stretchr/testify v1.9.0
|
||||||
go.etcd.io/etcd/client/v3 v3.5.9
|
go.etcd.io/etcd/client/v3 v3.5.13
|
||||||
go.opentelemetry.io/otel v1.19.0
|
go.opentelemetry.io/otel v1.25.0
|
||||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.25.0
|
||||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.25.0
|
||||||
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.19.0
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.25.0
|
||||||
go.opentelemetry.io/otel/exporters/zipkin v1.19.0
|
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.25.0
|
||||||
go.opentelemetry.io/otel/sdk v1.19.0
|
go.opentelemetry.io/otel/exporters/zipkin v1.25.0
|
||||||
go.uber.org/zap v1.26.0
|
go.opentelemetry.io/otel/sdk v1.25.0
|
||||||
golang.org/x/tools v0.14.0
|
go.uber.org/zap v1.27.0
|
||||||
google.golang.org/grpc v1.59.0
|
golang.org/x/tools v0.20.0
|
||||||
google.golang.org/protobuf v1.31.0
|
google.golang.org/grpc v1.63.2
|
||||||
|
google.golang.org/protobuf v1.33.0
|
||||||
gopkg.in/natefinch/lumberjack.v2 v2.2.1
|
gopkg.in/natefinch/lumberjack.v2 v2.2.1
|
||||||
k8s.io/client-go v0.28.3
|
k8s.io/client-go v0.30.0
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/aliyun/alibaba-cloud-sdk-go v1.62.589 // indirect
|
github.com/aliyun/alibaba-cloud-sdk-go v1.61.18 // indirect
|
||||||
github.com/aliyun/aliyun-log-go-sdk v0.1.64 // indirect
|
github.com/aliyun/aliyun-log-go-sdk v0.1.67 // indirect
|
||||||
github.com/apolloconfig/agollo/v4 v4.3.1 // indirect
|
github.com/apolloconfig/agollo/v4 v4.3.1 // indirect
|
||||||
github.com/armon/go-metrics v0.4.1 // indirect
|
github.com/armon/go-metrics v0.4.1 // indirect
|
||||||
github.com/buger/jsonparser v1.1.1 // indirect
|
github.com/buger/jsonparser v1.1.1 // indirect
|
||||||
github.com/cenkalti/backoff v2.2.1+incompatible // indirect
|
github.com/cenkalti/backoff v2.2.1+incompatible // indirect
|
||||||
github.com/cenkalti/backoff/v4 v4.2.1 // indirect
|
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
|
||||||
github.com/cespare/xxhash/v2 v2.2.0 // indirect
|
github.com/cespare/xxhash/v2 v2.2.0 // indirect
|
||||||
github.com/coreos/go-semver v0.3.1 // indirect
|
github.com/coreos/go-semver v0.3.0 // indirect
|
||||||
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
|
github.com/coreos/go-systemd/v22 v22.3.2 // indirect
|
||||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
||||||
github.com/deckarep/golang-set v1.8.0 // indirect
|
github.com/deckarep/golang-set v1.7.1 // indirect
|
||||||
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
|
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
|
||||||
github.com/dustin/go-humanize v1.0.1 // indirect
|
github.com/dustin/go-humanize v1.0.1 // indirect
|
||||||
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
|
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
|
||||||
github.com/fatih/color v1.15.0 // indirect
|
github.com/fatih/color v1.14.1 // indirect
|
||||||
github.com/felixge/httpsnoop v1.0.3 // indirect
|
github.com/felixge/httpsnoop v1.0.3 // indirect
|
||||||
github.com/fluent/fluent-logger-golang v1.9.0 // indirect
|
github.com/fluent/fluent-logger-golang v1.9.0 // indirect
|
||||||
github.com/fsnotify/fsnotify v1.7.0 // indirect
|
github.com/fsnotify/fsnotify v1.6.0 // indirect
|
||||||
github.com/go-chassis/cari v0.9.0 // indirect
|
github.com/go-chassis/cari v0.6.0 // indirect
|
||||||
github.com/go-chassis/foundation v0.4.0 // indirect
|
github.com/go-chassis/foundation v0.4.0 // indirect
|
||||||
github.com/go-chassis/openlog v1.1.3 // indirect
|
github.com/go-chassis/openlog v1.1.3 // indirect
|
||||||
github.com/go-errors/errors v1.5.1 // indirect
|
github.com/go-errors/errors v1.0.1 // indirect
|
||||||
github.com/go-kit/kit v0.13.0 // indirect
|
github.com/go-kit/kit v0.10.0 // indirect
|
||||||
github.com/go-kit/log v0.2.1 // indirect
|
github.com/go-logfmt/logfmt v0.5.0 // indirect
|
||||||
github.com/go-logfmt/logfmt v0.6.0 // indirect
|
github.com/go-logr/logr v1.4.1 // indirect
|
||||||
github.com/go-logr/logr v1.2.4 // indirect
|
|
||||||
github.com/go-logr/stdr v1.2.2 // indirect
|
github.com/go-logr/stdr v1.2.2 // indirect
|
||||||
github.com/go-ole/go-ole v1.2.6 // indirect
|
github.com/go-ole/go-ole v1.2.6 // indirect
|
||||||
github.com/go-openapi/jsonpointer v0.20.0 // indirect
|
github.com/go-openapi/jsonpointer v0.19.6 // indirect
|
||||||
github.com/go-openapi/jsonreference v0.20.2 // indirect
|
github.com/go-openapi/jsonreference v0.20.2 // indirect
|
||||||
github.com/go-openapi/swag v0.22.4 // indirect
|
github.com/go-openapi/swag v0.22.3 // indirect
|
||||||
github.com/go-playground/form/v4 v4.2.1 // indirect
|
github.com/go-playground/form/v4 v4.2.0 // indirect
|
||||||
github.com/go-redis/redis/extra/rediscmd/v8 v8.11.5 // indirect
|
github.com/gofrs/uuid v4.2.0+incompatible // indirect
|
||||||
github.com/gofrs/uuid v4.4.0+incompatible // indirect
|
|
||||||
github.com/gogo/protobuf v1.3.2 // indirect
|
github.com/gogo/protobuf v1.3.2 // indirect
|
||||||
github.com/golang/mock v1.6.0 // indirect
|
github.com/golang/protobuf v1.5.4 // indirect
|
||||||
github.com/golang/protobuf v1.5.3 // indirect
|
|
||||||
github.com/google/gnostic-models v0.6.9-0.20230804172637-c7be7c783f49 // indirect
|
github.com/google/gnostic-models v0.6.9-0.20230804172637-c7be7c783f49 // indirect
|
||||||
github.com/google/go-cmp v0.6.0 // indirect
|
github.com/google/go-cmp v0.6.0 // indirect
|
||||||
github.com/google/gofuzz v1.2.0 // indirect
|
github.com/google/gofuzz v1.2.0 // indirect
|
||||||
github.com/google/uuid v1.3.1 // indirect
|
github.com/google/uuid v1.6.0 // indirect
|
||||||
github.com/gorilla/mux v1.8.0 // indirect
|
github.com/gorilla/mux v1.8.1 // indirect
|
||||||
github.com/gorilla/websocket v1.5.0 // indirect
|
github.com/gorilla/websocket v1.5.0 // indirect
|
||||||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.0 // indirect
|
github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0 // indirect
|
||||||
|
github.com/hashicorp/errwrap v1.1.0 // indirect
|
||||||
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
|
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
|
||||||
github.com/hashicorp/go-hclog v1.5.0 // indirect
|
github.com/hashicorp/go-hclog v1.5.0 // indirect
|
||||||
github.com/hashicorp/go-immutable-radix v1.3.1 // 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/go-rootcerts v1.0.2 // indirect
|
||||||
github.com/hashicorp/golang-lru v1.0.2 // indirect
|
github.com/hashicorp/golang-lru v0.5.4 // indirect
|
||||||
github.com/hashicorp/hcl v1.0.0 // indirect
|
github.com/hashicorp/hcl v1.0.0 // indirect
|
||||||
github.com/hashicorp/serf v0.10.1 // indirect
|
github.com/hashicorp/serf v0.10.1 // indirect
|
||||||
github.com/imdario/mergo v0.3.16 // indirect
|
github.com/imdario/mergo v0.3.16 // indirect
|
||||||
@@ -109,14 +112,14 @@ require (
|
|||||||
github.com/josharian/intern v1.0.0 // indirect
|
github.com/josharian/intern v1.0.0 // indirect
|
||||||
github.com/json-iterator/go v1.1.12 // indirect
|
github.com/json-iterator/go v1.1.12 // indirect
|
||||||
github.com/karlseguin/ccache/v2 v2.0.8 // indirect
|
github.com/karlseguin/ccache/v2 v2.0.8 // indirect
|
||||||
github.com/klauspost/compress v1.17.2 // indirect
|
github.com/klauspost/compress v1.17.6 // indirect
|
||||||
github.com/klauspost/cpuid/v2 v2.2.5 // indirect
|
github.com/klauspost/cpuid/v2 v2.2.6 // indirect
|
||||||
github.com/lufia/plan9stats v0.0.0-20230326075908-cb1d2100619a // indirect
|
github.com/lufia/plan9stats v0.0.0-20230326075908-cb1d2100619a // indirect
|
||||||
github.com/magiconair/properties v1.8.7 // indirect
|
github.com/magiconair/properties v1.8.6 // indirect
|
||||||
github.com/mailru/easyjson v0.7.7 // indirect
|
github.com/mailru/easyjson v0.7.7 // indirect
|
||||||
github.com/mattn/go-colorable v0.1.13 // indirect
|
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||||
github.com/mattn/go-isatty v0.0.20 // indirect
|
github.com/mattn/go-isatty v0.0.17 // indirect
|
||||||
github.com/mattn/go-runewidth v0.0.15 // indirect
|
github.com/mattn/go-runewidth v0.0.9 // indirect
|
||||||
github.com/minio/md5-simd v1.1.2 // indirect
|
github.com/minio/md5-simd v1.1.2 // indirect
|
||||||
github.com/minio/sha256-simd v1.0.1 // indirect
|
github.com/minio/sha256-simd v1.0.1 // indirect
|
||||||
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
||||||
@@ -124,65 +127,61 @@ require (
|
|||||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
||||||
github.com/modern-go/reflect2 v1.0.2 // indirect
|
github.com/modern-go/reflect2 v1.0.2 // indirect
|
||||||
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
|
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
|
||||||
github.com/opentracing/opentracing-go v1.2.1-0.20220228012449-10b1cf09e00b // indirect
|
|
||||||
github.com/openzipkin/zipkin-go v0.4.2 // indirect
|
github.com/openzipkin/zipkin-go v0.4.2 // indirect
|
||||||
github.com/patrickmn/go-cache v2.1.0+incompatible // indirect
|
github.com/patrickmn/go-cache v2.1.0+incompatible // indirect
|
||||||
github.com/pelletier/go-toml/v2 v2.1.0 // indirect
|
github.com/pelletier/go-toml v1.9.4 // indirect
|
||||||
github.com/philhofer/fwd v1.1.2 // 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/pierrec/lz4 v2.6.1+incompatible // indirect
|
||||||
github.com/pkg/errors v0.9.1 // indirect
|
github.com/pkg/errors v0.9.1 // indirect
|
||||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
||||||
github.com/power-devops/perfstat v0.0.0-20221212215047-62379fc7944b // indirect
|
github.com/power-devops/perfstat v0.0.0-20221212215047-62379fc7944b // indirect
|
||||||
github.com/rivo/uniseg v0.4.4 // indirect
|
github.com/redis/go-redis/extra/rediscmd/v9 v9.0.5 // indirect
|
||||||
github.com/rs/xid v1.5.0 // indirect
|
github.com/rs/xid v1.5.0 // indirect
|
||||||
github.com/sagikazarmark/locafero v0.3.0 // indirect
|
|
||||||
github.com/sagikazarmark/slog-shim v0.1.0 // indirect
|
|
||||||
github.com/shirou/gopsutil/v3 v3.23.6 // indirect
|
github.com/shirou/gopsutil/v3 v3.23.6 // indirect
|
||||||
github.com/shoenig/go-m1cpu v0.1.6 // indirect
|
github.com/shoenig/go-m1cpu v0.1.6 // indirect
|
||||||
github.com/sourcegraph/conc v0.3.0 // indirect
|
github.com/spf13/afero v1.9.2 // indirect
|
||||||
github.com/spf13/afero v1.10.0 // indirect
|
github.com/spf13/cast v1.4.1 // indirect
|
||||||
github.com/spf13/cast v1.5.1 // indirect
|
github.com/spf13/jwalterweatherman v1.1.0 // indirect
|
||||||
github.com/spf13/pflag v1.0.5 // indirect
|
github.com/spf13/pflag v1.0.5 // indirect
|
||||||
github.com/spf13/viper v1.17.0 // indirect
|
github.com/spf13/viper v1.11.0 // indirect
|
||||||
github.com/stretchr/objx v0.5.1 // indirect
|
github.com/subosito/gotenv v1.2.0 // indirect
|
||||||
github.com/subosito/gotenv v1.6.0 // indirect
|
github.com/tencentcloud/tencentcloud-cls-sdk-go v1.0.2 // indirect
|
||||||
github.com/tencentcloud/tencentcloud-cls-sdk-go v1.0.6 // indirect
|
github.com/tinylib/msgp v1.1.6 // indirect
|
||||||
github.com/tinylib/msgp v1.1.8 // indirect
|
|
||||||
github.com/tklauser/go-sysconf v0.3.11 // indirect
|
github.com/tklauser/go-sysconf v0.3.11 // indirect
|
||||||
github.com/tklauser/numcpus v0.6.1 // indirect
|
github.com/tklauser/numcpus v0.6.1 // indirect
|
||||||
github.com/yusufpapurcu/wmi v1.2.3 // indirect
|
github.com/yusufpapurcu/wmi v1.2.3 // indirect
|
||||||
go.etcd.io/etcd/api/v3 v3.5.9 // indirect
|
go.etcd.io/etcd/api/v3 v3.5.13 // indirect
|
||||||
go.etcd.io/etcd/client/pkg/v3 v3.5.9 // indirect
|
go.etcd.io/etcd/client/pkg/v3 v3.5.13 // indirect
|
||||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0 // indirect
|
go.opentelemetry.io/otel/metric v1.25.0 // indirect
|
||||||
go.opentelemetry.io/otel/metric v1.19.0 // indirect
|
go.opentelemetry.io/otel/trace v1.25.0 // indirect
|
||||||
go.opentelemetry.io/otel/trace v1.19.0 // indirect
|
go.opentelemetry.io/proto/otlp v1.1.0 // indirect
|
||||||
go.opentelemetry.io/proto/otlp v1.0.0 // indirect
|
go.uber.org/atomic v1.9.0 // indirect
|
||||||
go.uber.org/atomic v1.11.0 // indirect
|
|
||||||
go.uber.org/multierr v1.11.0 // indirect
|
go.uber.org/multierr v1.11.0 // indirect
|
||||||
golang.org/x/crypto v0.14.0 // indirect
|
golang.org/x/crypto v0.22.0 // indirect
|
||||||
golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect
|
golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 // indirect
|
||||||
golang.org/x/mod v0.13.0 // indirect
|
golang.org/x/mod v0.17.0 // indirect
|
||||||
golang.org/x/net v0.17.0 // indirect
|
golang.org/x/net v0.24.0 // indirect
|
||||||
golang.org/x/oauth2 v0.13.0 // indirect
|
golang.org/x/oauth2 v0.17.0 // indirect
|
||||||
golang.org/x/sync v0.4.0 // indirect
|
golang.org/x/sync v0.7.0 // indirect
|
||||||
golang.org/x/sys v0.13.0 // indirect
|
golang.org/x/sys v0.19.0 // indirect
|
||||||
golang.org/x/term v0.13.0 // indirect
|
golang.org/x/term v0.19.0 // indirect
|
||||||
golang.org/x/text v0.13.0 // indirect
|
golang.org/x/text v0.14.0 // indirect
|
||||||
golang.org/x/time v0.3.0 // indirect
|
golang.org/x/time v0.3.0 // indirect
|
||||||
google.golang.org/appengine v1.6.8 // indirect
|
google.golang.org/appengine v1.6.8 // indirect
|
||||||
google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b // indirect
|
google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect
|
||||||
google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b // indirect
|
google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de // indirect
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b // indirect
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda // indirect
|
||||||
gopkg.in/inf.v0 v0.9.1 // indirect
|
gopkg.in/inf.v0 v0.9.1 // indirect
|
||||||
gopkg.in/ini.v1 v1.67.0 // indirect
|
gopkg.in/ini.v1 v1.67.0 // indirect
|
||||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
k8s.io/api v0.28.3 // indirect
|
k8s.io/api v0.30.0 // indirect
|
||||||
k8s.io/apimachinery v0.28.3 // indirect
|
k8s.io/apimachinery v0.30.0 // indirect
|
||||||
k8s.io/klog/v2 v2.100.1 // indirect
|
k8s.io/klog/v2 v2.120.1 // indirect
|
||||||
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
|
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect
|
||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 // indirect
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
|
||||||
sigs.k8s.io/yaml v1.4.0 // indirect
|
sigs.k8s.io/yaml v1.3.0 // indirect
|
||||||
)
|
)
|
||||||
|
|||||||
4
grpc.go
4
grpc.go
@@ -103,5 +103,7 @@ func CreateGrpcServer(cfg *conf.Bootstrap, m ...middleware.Middleware) *kratosGr
|
|||||||
opts = append(opts, kratosGrpc.Timeout(cfg.Server.Grpc.Timeout.AsDuration()))
|
opts = append(opts, kratosGrpc.Timeout(cfg.Server.Grpc.Timeout.AsDuration()))
|
||||||
}
|
}
|
||||||
|
|
||||||
return kratosGrpc.NewServer(opts...)
|
srv := kratosGrpc.NewServer(opts...)
|
||||||
|
|
||||||
|
return srv
|
||||||
}
|
}
|
||||||
|
|||||||
42
redis.go
42
redis.go
@@ -3,27 +3,41 @@ package bootstrap
|
|||||||
import (
|
import (
|
||||||
"github.com/go-kratos/kratos/v2/log"
|
"github.com/go-kratos/kratos/v2/log"
|
||||||
|
|
||||||
"github.com/go-redis/redis/extra/redisotel/v8"
|
"github.com/redis/go-redis/extra/redisotel/v9"
|
||||||
"github.com/go-redis/redis/v8"
|
"github.com/redis/go-redis/v9"
|
||||||
|
|
||||||
conf "github.com/tx7do/kratos-bootstrap/gen/api/go/conf/v1"
|
conf "github.com/tx7do/kratos-bootstrap/gen/api/go/conf/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
// NewRedisClient 创建Redis客户端
|
// NewRedisClient create go-redis client
|
||||||
func NewRedisClient(conf *conf.Data) *redis.Client {
|
func NewRedisClient(conf *conf.Data) (rdb *redis.Client) {
|
||||||
rdb := redis.NewClient(&redis.Options{
|
if rdb = redis.NewClient(&redis.Options{
|
||||||
Addr: conf.Redis.Addr,
|
Addr: conf.GetRedis().GetAddr(),
|
||||||
Password: conf.Redis.Password,
|
Password: conf.GetRedis().GetPassword(),
|
||||||
DB: int(conf.Redis.Db),
|
DB: int(conf.GetRedis().GetDb()),
|
||||||
DialTimeout: conf.Redis.DialTimeout.AsDuration(),
|
DialTimeout: conf.GetRedis().GetDialTimeout().AsDuration(),
|
||||||
WriteTimeout: conf.Redis.WriteTimeout.AsDuration(),
|
WriteTimeout: conf.GetRedis().GetWriteTimeout().AsDuration(),
|
||||||
ReadTimeout: conf.Redis.ReadTimeout.AsDuration(),
|
ReadTimeout: conf.GetRedis().GetReadTimeout().AsDuration(),
|
||||||
})
|
}); rdb == nil {
|
||||||
if rdb == nil {
|
|
||||||
log.Fatalf("failed opening connection to redis")
|
log.Fatalf("failed opening connection to redis")
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
rdb.AddHook(redisotel.NewTracingHook())
|
|
||||||
|
// open tracing instrumentation.
|
||||||
|
if conf.GetRedis().GetEnableTracing() {
|
||||||
|
if err := redisotel.InstrumentTracing(rdb); err != nil {
|
||||||
|
log.Fatalf("failed open tracing: %s", err.Error())
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// open metrics instrumentation.
|
||||||
|
if conf.GetRedis().GetEnableMetrics() {
|
||||||
|
if err := redisotel.InstrumentMetrics(rdb); err != nil {
|
||||||
|
log.Fatalf("failed open metrics: %s", err.Error())
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return rdb
|
return rdb
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
package bootstrap
|
package bootstrap
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"path/filepath"
|
||||||
|
|
||||||
"github.com/go-kratos/kratos/v2/log"
|
"github.com/go-kratos/kratos/v2/log"
|
||||||
"github.com/go-kratos/kratos/v2/registry"
|
"github.com/go-kratos/kratos/v2/registry"
|
||||||
"path/filepath"
|
|
||||||
|
|
||||||
// etcd
|
// etcd
|
||||||
etcdKratos "github.com/go-kratos/kratos/contrib/registry/etcd/v2"
|
etcdKratos "github.com/go-kratos/kratos/contrib/registry/etcd/v2"
|
||||||
|
|||||||
27
rest.go
27
rest.go
@@ -1,13 +1,17 @@
|
|||||||
package bootstrap
|
package bootstrap
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"net/http/pprof"
|
||||||
|
|
||||||
"github.com/go-kratos/aegis/ratelimit"
|
"github.com/go-kratos/aegis/ratelimit"
|
||||||
"github.com/go-kratos/aegis/ratelimit/bbr"
|
"github.com/go-kratos/aegis/ratelimit/bbr"
|
||||||
|
|
||||||
"github.com/go-kratos/kratos/v2/middleware"
|
"github.com/go-kratos/kratos/v2/middleware"
|
||||||
midRateLimit "github.com/go-kratos/kratos/v2/middleware/ratelimit"
|
midRateLimit "github.com/go-kratos/kratos/v2/middleware/ratelimit"
|
||||||
"github.com/go-kratos/kratos/v2/middleware/recovery"
|
"github.com/go-kratos/kratos/v2/middleware/recovery"
|
||||||
"github.com/go-kratos/kratos/v2/middleware/tracing"
|
"github.com/go-kratos/kratos/v2/middleware/tracing"
|
||||||
"github.com/go-kratos/kratos/v2/middleware/validate"
|
"github.com/go-kratos/kratos/v2/middleware/validate"
|
||||||
|
|
||||||
kratosRest "github.com/go-kratos/kratos/v2/transport/http"
|
kratosRest "github.com/go-kratos/kratos/v2/transport/http"
|
||||||
|
|
||||||
"github.com/gorilla/handlers"
|
"github.com/gorilla/handlers"
|
||||||
@@ -60,5 +64,26 @@ func CreateRestServer(cfg *conf.Bootstrap, m ...middleware.Middleware) *kratosRe
|
|||||||
opts = append(opts, kratosRest.Timeout(cfg.Server.Rest.Timeout.AsDuration()))
|
opts = append(opts, kratosRest.Timeout(cfg.Server.Rest.Timeout.AsDuration()))
|
||||||
}
|
}
|
||||||
|
|
||||||
return kratosRest.NewServer(opts...)
|
srv := kratosRest.NewServer(opts...)
|
||||||
|
|
||||||
|
if cfg.Server.Rest.GetEnablePprof() {
|
||||||
|
registerHttpPprof(srv)
|
||||||
|
}
|
||||||
|
|
||||||
|
return srv
|
||||||
|
}
|
||||||
|
|
||||||
|
func registerHttpPprof(s *kratosRest.Server) {
|
||||||
|
s.HandleFunc("/debug/pprof", pprof.Index)
|
||||||
|
s.HandleFunc("/debug/pprof/cmdline", pprof.Cmdline)
|
||||||
|
s.HandleFunc("/debug/pprof/profile", pprof.Profile)
|
||||||
|
s.HandleFunc("/debug/pprof/symbol", pprof.Symbol)
|
||||||
|
s.HandleFunc("/debug/pprof/trace", pprof.Trace)
|
||||||
|
|
||||||
|
s.HandleFunc("/debug/pprof/allocs", pprof.Handler("allocs").ServeHTTP)
|
||||||
|
s.HandleFunc("/debug/pprof/block", pprof.Handler("block").ServeHTTP)
|
||||||
|
s.HandleFunc("/debug/pprof/goroutine", pprof.Handler("goroutine").ServeHTTP)
|
||||||
|
s.HandleFunc("/debug/pprof/heap", pprof.Handler("heap").ServeHTTP)
|
||||||
|
s.HandleFunc("/debug/pprof/mutex", pprof.Handler("mutex").ServeHTTP)
|
||||||
|
s.HandleFunc("/debug/pprof/threadcreate", pprof.Handler("threadcreate").ServeHTTP)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user