kra/internal/conf/conf.proto

227 lines
4.1 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;
}
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;
}
message Captcha {
int32 key_long = 1;
int32 img_width = 2;
int32 img_height = 3;
int32 open_captcha = 4;
int32 open_captcha_timeout = 5;
}
message Mysql {
string path = 1;
string port = 2;
string config = 3;
string db_name = 4;
string username = 5;
string password = 6;
int32 max_idle_conns = 7;
int32 max_open_conns = 8;
string log_mode = 9;
bool log_zap = 10;
}
message Pgsql {
string path = 1;
string port = 2;
string config = 3;
string db_name = 4;
string username = 5;
string password = 6;
int32 max_idle_conns = 7;
int32 max_open_conns = 8;
string log_mode = 9;
bool log_zap = 10;
}
message Sqlite {
string path = 1;
string db_name = 2;
int32 max_idle_conns = 3;
int32 max_open_conns = 4;
string log_mode = 5;
bool log_zap = 6;
}
message Redis {
bool use_cluster = 1;
string addr = 2;
string password = 3;
int32 db = 4;
repeated string cluster_addrs = 5;
}
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;
}
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;
}