syntax = "proto3"; package conf; option go_package = "github.com/tx7do/kratos-bootstrap/api/gen/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 endpoint = 1; // 对端网络地址 string codec = 2; // 编解码器: json,xml,yaml... } // Kafka message Kafka { repeated string endpoints = 1; // 对端网络地址 string codec = 2; // 编解码器: json,xml,yaml... } // RabbitMQ message RabbitMQ { repeated string endpoints = 1; // 对端网络地址 string codec = 2; // 编解码器: json,xml,yaml... } 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服务 }