360 lines
6.7 KiB
Protocol Buffer
360 lines
6.7 KiB
Protocol Buffer
syntax = "proto3";
|
|
package kratos.api;
|
|
|
|
option go_package = "kra/internal/conf;conf";
|
|
|
|
import "google/protobuf/duration.proto";
|
|
|
|
message Bootstrap {
|
|
Server server = 1;
|
|
JWT jwt = 2;
|
|
System system = 3;
|
|
Captcha captcha = 4;
|
|
Mysql mysql = 5;
|
|
Pgsql pgsql = 6;
|
|
Sqlite sqlite = 7;
|
|
Redis redis = 8;
|
|
Local local = 9;
|
|
Qiniu qiniu = 10;
|
|
Minio minio = 11;
|
|
AliyunOss aliyun_oss = 12;
|
|
TencentCos tencent_cos = 13;
|
|
AwsS3 aws_s3 = 14;
|
|
CloudflareR2 cloudflare_r2 = 15;
|
|
HuaweiObs huawei_obs = 16;
|
|
Email email = 17;
|
|
Excel excel = 18;
|
|
Cors cors = 19;
|
|
Zap zap = 20;
|
|
MCP mcp = 21;
|
|
Autocode autocode = 22;
|
|
Mssql mssql = 23;
|
|
Oracle oracle = 24;
|
|
Mongo mongo = 25;
|
|
repeated SpecializedDB db_list = 26;
|
|
repeated Redis redis_list = 27;
|
|
repeated DiskList disk_list = 28;
|
|
}
|
|
|
|
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;
|
|
}
|
|
HTTP http = 1;
|
|
GRPC grpc = 2;
|
|
}
|
|
|
|
message JWT {
|
|
string signing_key = 1;
|
|
string expires_time = 2;
|
|
string buffer_time = 3;
|
|
string issuer = 4;
|
|
}
|
|
|
|
message System {
|
|
string env = 1;
|
|
string db_type = 2;
|
|
string oss_type = 3;
|
|
bool use_redis = 4;
|
|
bool use_multipoint = 5;
|
|
int32 iplimit_count = 6;
|
|
int32 iplimit_time = 7;
|
|
string router_prefix = 8;
|
|
bool use_strict_auth = 9;
|
|
int32 addr = 10;
|
|
bool use_mongo = 11;
|
|
bool disable_auto_migrate = 12;
|
|
}
|
|
|
|
message Captcha {
|
|
int32 key_long = 1;
|
|
int32 img_width = 2;
|
|
int32 img_height = 3;
|
|
int32 open_captcha = 4;
|
|
int32 open_captcha_timeout = 5;
|
|
}
|
|
|
|
// GeneralDB contains common database configuration fields
|
|
message GeneralDB {
|
|
string prefix = 1;
|
|
string port = 2;
|
|
string config = 3;
|
|
string db_name = 4;
|
|
string username = 5;
|
|
string password = 6;
|
|
string path = 7;
|
|
string engine = 8;
|
|
string log_mode = 9;
|
|
int32 max_idle_conns = 10;
|
|
int32 max_open_conns = 11;
|
|
bool singular = 12;
|
|
bool log_zap = 13;
|
|
}
|
|
|
|
message Mysql {
|
|
string prefix = 1;
|
|
string path = 2;
|
|
string port = 3;
|
|
string config = 4;
|
|
string db_name = 5;
|
|
string username = 6;
|
|
string password = 7;
|
|
string engine = 8;
|
|
int32 max_idle_conns = 9;
|
|
int32 max_open_conns = 10;
|
|
string log_mode = 11;
|
|
bool log_zap = 12;
|
|
bool singular = 13;
|
|
}
|
|
|
|
message Pgsql {
|
|
string prefix = 1;
|
|
string path = 2;
|
|
string port = 3;
|
|
string config = 4;
|
|
string db_name = 5;
|
|
string username = 6;
|
|
string password = 7;
|
|
string engine = 8;
|
|
int32 max_idle_conns = 9;
|
|
int32 max_open_conns = 10;
|
|
string log_mode = 11;
|
|
bool log_zap = 12;
|
|
bool singular = 13;
|
|
}
|
|
|
|
message Sqlite {
|
|
string prefix = 1;
|
|
string path = 2;
|
|
string db_name = 3;
|
|
string engine = 4;
|
|
int32 max_idle_conns = 5;
|
|
int32 max_open_conns = 6;
|
|
string log_mode = 7;
|
|
bool log_zap = 8;
|
|
bool singular = 9;
|
|
}
|
|
|
|
message Mssql {
|
|
string prefix = 1;
|
|
string path = 2;
|
|
string port = 3;
|
|
string config = 4;
|
|
string db_name = 5;
|
|
string username = 6;
|
|
string password = 7;
|
|
string engine = 8;
|
|
int32 max_idle_conns = 9;
|
|
int32 max_open_conns = 10;
|
|
string log_mode = 11;
|
|
bool log_zap = 12;
|
|
bool singular = 13;
|
|
}
|
|
|
|
message Oracle {
|
|
string prefix = 1;
|
|
string path = 2;
|
|
string port = 3;
|
|
string config = 4;
|
|
string db_name = 5;
|
|
string username = 6;
|
|
string password = 7;
|
|
string engine = 8;
|
|
int32 max_idle_conns = 9;
|
|
int32 max_open_conns = 10;
|
|
string log_mode = 11;
|
|
bool log_zap = 12;
|
|
bool singular = 13;
|
|
}
|
|
|
|
// SpecializedDB for db-list configuration
|
|
message SpecializedDB {
|
|
string type = 1;
|
|
string alias_name = 2;
|
|
string prefix = 3;
|
|
string port = 4;
|
|
string config = 5;
|
|
string db_name = 6;
|
|
string username = 7;
|
|
string password = 8;
|
|
string path = 9;
|
|
string engine = 10;
|
|
string log_mode = 11;
|
|
int32 max_idle_conns = 12;
|
|
int32 max_open_conns = 13;
|
|
bool singular = 14;
|
|
bool log_zap = 15;
|
|
bool disable = 16;
|
|
}
|
|
|
|
message Redis {
|
|
string name = 1;
|
|
bool use_cluster = 2;
|
|
string addr = 3;
|
|
string password = 4;
|
|
int32 db = 5;
|
|
repeated string cluster_addrs = 6;
|
|
}
|
|
|
|
message Mongo {
|
|
string coll = 1;
|
|
string options = 2;
|
|
string database = 3;
|
|
string username = 4;
|
|
string password = 5;
|
|
string auth_source = 6;
|
|
uint64 min_pool_size = 7;
|
|
uint64 max_pool_size = 8;
|
|
int64 socket_timeout_ms = 9;
|
|
int64 connect_timeout_ms = 10;
|
|
bool is_zap = 11;
|
|
repeated MongoHost hosts = 12;
|
|
}
|
|
|
|
message MongoHost {
|
|
string host = 1;
|
|
string port = 2;
|
|
}
|
|
|
|
message Local {
|
|
string path = 1;
|
|
string store_path = 2;
|
|
}
|
|
|
|
message Qiniu {
|
|
string zone = 1;
|
|
string bucket = 2;
|
|
string img_path = 3;
|
|
bool use_https = 4;
|
|
string access_key = 5;
|
|
string secret_key = 6;
|
|
bool use_cdn_domains = 7;
|
|
}
|
|
|
|
message Minio {
|
|
string endpoint = 1;
|
|
string access_key_id = 2;
|
|
string access_key_secret = 3;
|
|
string bucket_name = 4;
|
|
bool use_ssl = 5;
|
|
string base_path = 6;
|
|
string bucket_url = 7;
|
|
}
|
|
|
|
message AliyunOss {
|
|
string endpoint = 1;
|
|
string access_key_id = 2;
|
|
string access_key_secret = 3;
|
|
string bucket_name = 4;
|
|
string bucket_url = 5;
|
|
string base_path = 6;
|
|
}
|
|
|
|
message TencentCos {
|
|
string bucket = 1;
|
|
string region = 2;
|
|
string secret_id = 3;
|
|
string secret_key = 4;
|
|
string base_url = 5;
|
|
string path_prefix = 6;
|
|
}
|
|
|
|
message AwsS3 {
|
|
string bucket = 1;
|
|
string region = 2;
|
|
string endpoint = 3;
|
|
bool s3_force_path_style = 4;
|
|
bool disable_ssl = 5;
|
|
string secret_id = 6;
|
|
string secret_key = 7;
|
|
string base_url = 8;
|
|
string path_prefix = 9;
|
|
}
|
|
|
|
message CloudflareR2 {
|
|
string bucket = 1;
|
|
string base_url = 2;
|
|
string path = 3;
|
|
string account_id = 4;
|
|
string access_key_id = 5;
|
|
string secret_access_key = 6;
|
|
}
|
|
|
|
message HuaweiObs {
|
|
string path = 1;
|
|
string bucket = 2;
|
|
string endpoint = 3;
|
|
string access_key = 4;
|
|
string secret_key = 5;
|
|
}
|
|
|
|
message Email {
|
|
string to = 1;
|
|
int32 port = 2;
|
|
string from = 3;
|
|
string host = 4;
|
|
bool is_ssl = 5;
|
|
string secret = 6;
|
|
string nickname = 7;
|
|
bool is_login_auth = 8;
|
|
}
|
|
|
|
message Excel {
|
|
string dir = 1;
|
|
}
|
|
|
|
message Cors {
|
|
string mode = 1;
|
|
repeated CorsWhitelist whitelist = 2;
|
|
}
|
|
|
|
message CorsWhitelist {
|
|
string allow_origin = 1;
|
|
string allow_headers = 2;
|
|
string allow_methods = 3;
|
|
string expose_headers = 4;
|
|
bool allow_credentials = 5;
|
|
}
|
|
|
|
message Zap {
|
|
string level = 1;
|
|
string format = 2;
|
|
string prefix = 3;
|
|
string director = 4;
|
|
bool show_line = 5;
|
|
string encode_level = 6;
|
|
string stacktrace_key = 7;
|
|
bool log_in_console = 8;
|
|
int32 retention_day = 9;
|
|
}
|
|
|
|
message Autocode {
|
|
string web = 1;
|
|
string root = 2;
|
|
string server = 3;
|
|
string module = 4;
|
|
string ai_path = 5;
|
|
}
|
|
|
|
message MCP {
|
|
string name = 1;
|
|
string version = 2;
|
|
string sse_path = 3;
|
|
string message_path = 4;
|
|
string url_prefix = 5;
|
|
int32 addr = 6;
|
|
bool separate = 7;
|
|
bool enabled = 8;
|
|
}
|
|
|
|
message DiskList {
|
|
string mount_point = 1;
|
|
}
|