syntax = "proto3"; package kratos.api; option go_package = "w303a/server/app/gate/internal/conf;conf"; import "google/protobuf/duration.proto"; message Bootstrap { Server server = 1; Data data = 2; } message Server { message HTTP { string network = 1; string addr = 2; google.protobuf.Duration timeout = 3; } message GRPC { string network = 1; string addr = 2; google.protobuf.Duration timeout = 3; } message Websocket { string network = 1; string addr = 2; google.protobuf.Duration keepalive = 3; google.protobuf.Duration writeTimeout = 4; } message Registry { message Etcd { repeated string endpoints = 1; } Etcd etcd = 1; } message Logger { string output = 1; int32 max_size = 2; int32 max_backups = 3; int32 max_age = 4; bool compress = 5; } HTTP http = 1; GRPC grpc = 2; Websocket websocket = 3; Registry registry = 4; Logger logger = 5; } message Data { message Database { string driver = 1; string source = 2; } message Redis { string network = 1; string addr = 2; string password = 3; google.protobuf.Duration read_timeout = 4; google.protobuf.Duration write_timeout = 5; } message Mongo { string addr = 1; string database = 2; } message RabbitMq { string addr = 1; string queue = 2; string serverId = 3; } Database database = 1; Redis redis = 2; Mongo mongo = 3; RabbitMq rabbit_mq = 5; }