149 lines
2.9 KiB
Protocol Buffer
149 lines
2.9 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;
|
|
Data data = 2;
|
|
JWT jwt = 3;
|
|
Casbin casbin = 4;
|
|
Captcha captcha = 5;
|
|
Upload upload = 6;
|
|
}
|
|
|
|
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 Data {
|
|
message Database {
|
|
string driver = 1;
|
|
string source = 2;
|
|
string table_prefix = 3;
|
|
int32 max_idle_conns = 4;
|
|
int32 max_open_conns = 5;
|
|
int32 max_lifetime = 6;
|
|
bool log_mode = 7;
|
|
}
|
|
message Redis {
|
|
string addr = 1;
|
|
string password = 2;
|
|
int32 db = 3;
|
|
bool use_cluster = 4;
|
|
repeated string cluster_addrs = 5;
|
|
}
|
|
Database database = 1;
|
|
Redis redis = 2;
|
|
}
|
|
|
|
message JWT {
|
|
string signing_key = 1;
|
|
string expires_time = 2;
|
|
string buffer_time = 3;
|
|
string issuer = 4;
|
|
}
|
|
|
|
message Casbin {
|
|
string model_path = 1;
|
|
}
|
|
|
|
message Captcha {
|
|
int32 key_long = 1;
|
|
int32 img_width = 2;
|
|
int32 img_height = 3;
|
|
int32 open_captcha = 4;
|
|
int32 open_captcha_timeout = 5;
|
|
}
|
|
|
|
message Upload {
|
|
string type = 1;
|
|
string path = 2;
|
|
int64 max_size = 3;
|
|
|
|
message Local {
|
|
string store_path = 1;
|
|
}
|
|
message Aliyun {
|
|
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 Tencent {
|
|
string bucket = 1;
|
|
string region = 2;
|
|
string secret_id = 3;
|
|
string secret_key = 4;
|
|
string base_url = 5;
|
|
string path_prefix = 6;
|
|
}
|
|
message Qiniu {
|
|
string zone = 1;
|
|
string bucket = 2;
|
|
string img_path = 3;
|
|
string access_key = 4;
|
|
string secret_key = 5;
|
|
bool use_https = 6;
|
|
bool use_cdn_domains = 7;
|
|
}
|
|
message Minio {
|
|
string id = 1;
|
|
string secret = 2;
|
|
string bucket = 3;
|
|
string endpoint = 4;
|
|
string base_path = 5;
|
|
bool use_ssl = 6;
|
|
}
|
|
message AwsS3 {
|
|
string bucket = 1;
|
|
string region = 2;
|
|
string endpoint = 3;
|
|
string secret_id = 4;
|
|
string secret_key = 5;
|
|
string base_url = 6;
|
|
string path_prefix = 7;
|
|
bool s3_force_path_style = 8;
|
|
bool disable_ssl = 9;
|
|
}
|
|
message HuaweiObs {
|
|
string path = 1;
|
|
string bucket = 2;
|
|
string endpoint = 3;
|
|
string access_key = 4;
|
|
string secret_key = 5;
|
|
}
|
|
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;
|
|
}
|
|
|
|
Local local = 4;
|
|
Aliyun aliyun = 5;
|
|
Tencent tencent = 6;
|
|
Qiniu qiniu = 7;
|
|
Minio minio = 8;
|
|
AwsS3 aws_s3 = 9;
|
|
HuaweiObs huawei_obs = 10;
|
|
CloudflareR2 cloudflare_r2 = 11;
|
|
}
|