66 lines
2.9 KiB
Plaintext
66 lines
2.9 KiB
Plaintext
|
|
# VAPORA Main Configuration Schema - Unified service configuration
|
||
|
|
|
||
|
|
let backend_schema = import "./backend.ncl" in
|
||
|
|
let agents_schema = import "./agents.ncl" in
|
||
|
|
let llm_router_schema = import "./llm-router.ncl" in
|
||
|
|
|
||
|
|
{
|
||
|
|
deployment_mode | String | doc "Deployment profile: solo, multiuser, enterprise" | default = "solo",
|
||
|
|
workspace_name | String | doc "Workspace name for multi-tenant" | default = "vapora-workspace",
|
||
|
|
|
||
|
|
backend | backend_schema,
|
||
|
|
|
||
|
|
agents | agents_schema,
|
||
|
|
|
||
|
|
llm_router | llm_router_schema,
|
||
|
|
|
||
|
|
frontend = {
|
||
|
|
host | String | doc "Frontend server bind address" | default = "0.0.0.0",
|
||
|
|
port | Number | doc "Frontend server port" | default = 3000,
|
||
|
|
api_url | String | doc "Backend API URL as seen from frontend" | default = "http://localhost:8001",
|
||
|
|
enable_wasm | Bool | doc "Enable WASM compilation for frontend" | default = true,
|
||
|
|
},
|
||
|
|
|
||
|
|
database = {
|
||
|
|
url | String | doc "SurrealDB connection URL" | default = "ws://localhost:8000",
|
||
|
|
username | String | doc "SurrealDB username" | default = "root",
|
||
|
|
password | String | doc "SurrealDB password" | default = "",
|
||
|
|
database | String | doc "Database name" | default = "vapora",
|
||
|
|
pool_size | Number | doc "Connection pool size" | default = 20,
|
||
|
|
},
|
||
|
|
|
||
|
|
nats = {
|
||
|
|
enabled | Bool | doc "Enable NATS JetStream for distributed coordination" | default = false,
|
||
|
|
url | String | doc "NATS server URL" | default = "nats://localhost:4222",
|
||
|
|
timeout | Number | doc "NATS connection timeout in seconds" | default = 60,
|
||
|
|
},
|
||
|
|
|
||
|
|
providers = {
|
||
|
|
claude_enabled | Bool | doc "Enable Claude (Anthropic)" | default = true,
|
||
|
|
openai_enabled | Bool | doc "Enable OpenAI" | default = false,
|
||
|
|
gemini_enabled | Bool | doc "Enable Google Gemini" | default = false,
|
||
|
|
ollama_enabled | Bool | doc "Enable Ollama (local)" | default = false,
|
||
|
|
ollama_url | String | doc "Ollama server URL" | default = "http://localhost:11434",
|
||
|
|
},
|
||
|
|
|
||
|
|
monitoring = {
|
||
|
|
prometheus_enabled | Bool | doc "Enable Prometheus metrics" | default = false,
|
||
|
|
log_level | String | doc "Log level: trace, debug, info, warn, error" | default = "info",
|
||
|
|
tracing_enabled | Bool | doc "Enable distributed tracing" | default = false,
|
||
|
|
metrics_path | String | doc "Prometheus metrics endpoint path" | default = "/metrics",
|
||
|
|
},
|
||
|
|
|
||
|
|
security = {
|
||
|
|
jwt_secret | String | doc "JWT signing secret" | default = "",
|
||
|
|
tls_enabled | Bool | doc "Enable TLS for all services" | default = false,
|
||
|
|
tls_cert_path | String | doc "Path to TLS certificate" | default = "/etc/vapora/certs/tls.crt",
|
||
|
|
tls_key_path | String | doc "Path to TLS private key" | default = "/etc/vapora/certs/tls.key",
|
||
|
|
},
|
||
|
|
|
||
|
|
storage = {
|
||
|
|
base_path | String | doc "Base path for all service storage" | default = "/var/lib/vapora",
|
||
|
|
backup_enabled | Bool | doc "Enable automated backups" | default = true,
|
||
|
|
backup_interval | Number | doc "Backup interval in hours" | default = 24,
|
||
|
|
},
|
||
|
|
}
|