204 lines
5.4 KiB
Protocol Buffer
204 lines
5.4 KiB
Protocol Buffer
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/kratos_conf_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; // 中间件
|
||
bool enable_swagger = 6; // 启用SwaggerUI
|
||
bool enable_pprof = 7; // 启用pprof
|
||
}
|
||
|
||
// 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; // 路径
|
||
string codec = 4; // 编解码器: json,xml,yaml...
|
||
google.protobuf.Duration timeout = 5; // 超时时间
|
||
}
|
||
|
||
// MQTT
|
||
message Mqtt {
|
||
string addr = 1; // 对端网络地址
|
||
}
|
||
|
||
// Kafka
|
||
message Kafka {
|
||
repeated string addrs = 1; // 对端网络地址
|
||
}
|
||
|
||
// RabbitMQ
|
||
message RabbitMQ {
|
||
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
|
||
message Asynq {
|
||
string endpoint = 1; // 对端网络地址
|
||
string password = 2; // redis登录密码
|
||
int32 db = 3; // 数据库索引
|
||
string location = 4; // 时区
|
||
}
|
||
|
||
// Machinery
|
||
message Machinery {
|
||
repeated string brokers = 1; // broker的地址,可以根据实际使用的存储介质,分别指定Redis、AMQP或AWS SQS;
|
||
repeated string backends = 2; // backend配置,用来指定存放结果的介质的配置。可以根据需求,分别指定为:Redis、memcached或mongodb等;
|
||
}
|
||
|
||
// SSE
|
||
message SSE {
|
||
string network = 1; // 网络
|
||
string addr = 2; // 服务监听地址
|
||
string path = 3; // 路径
|
||
string codec = 4; // 编解码器
|
||
|
||
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
|
||
message SocketIO {
|
||
string network = 1; // 网络
|
||
string addr = 2; // 服务监听地址
|
||
string path = 3; // 路径
|
||
string codec = 4; // 编解码器
|
||
}
|
||
|
||
// 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
|
||
message GraphQL {
|
||
string network = 1; // 网络
|
||
string addr = 2; // 服务监听地址
|
||
string path = 3; // 路径
|
||
string codec = 4; // 编解码器
|
||
google.protobuf.Duration timeout = 5; // 超时时间
|
||
bool strict_slash = 6;
|
||
}
|
||
|
||
// 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服务
|
||
GRPC grpc = 2; // gRPC服务
|
||
GraphQL graphql = 3; // GraphQL服务
|
||
Thrift thrift = 4; // Thrift服务
|
||
|
||
// Message Queue
|
||
|
||
Mqtt mqtt = 10; // MQTT服务
|
||
Kafka kafka = 11; // Kafka服务
|
||
RabbitMQ rabbitmq = 12; // RabbitMQ服务
|
||
ActiveMQ activemq = 13; // ActiveMQ
|
||
NATS nats = 14; // NATS
|
||
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服务
|
||
}
|