syntax = "proto3"; package kratos.api; option go_package = "eino-project/internal/conf;conf"; import "google/protobuf/duration.proto"; message Bootstrap { Server server = 1; Data data = 2; AI ai = 3; Vector vector = 4; Monitoring monitoring = 5; Log log = 6; App app = 7; } 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; } message Redis { string addr = 1; string password = 2; int32 db = 3; google.protobuf.Duration read_timeout = 4; google.protobuf.Duration write_timeout = 5; google.protobuf.Duration dial_timeout = 6; int32 pool_size = 7; } Database database = 1; Redis redis = 2; } message AI { message Ollama { string endpoint = 1; repeated string models = 2; google.protobuf.Duration timeout = 3; } message Eino { string log_level = 1; bool enable_trace = 2; } Ollama ollama = 1; Eino eino = 2; } message Vector { message ChromaDB { string endpoint = 1; string collection = 2; google.protobuf.Duration timeout = 3; } ChromaDB chromadb = 1; } message Monitoring { message CozeLoop { string endpoint = 1; bool enable = 2; google.protobuf.Duration metrics_interval = 3; } CozeLoop coze_loop = 1; } message Log { string level = 1; string format = 2; string output = 3; } message App { string name = 1; string version = 2; string environment = 3; }