prvng_platform/config/examples/orchestrator.multiuser.example.ncl
Jesús Pérez 09a97ac8f5
chore: update platform submodule to monorepo crates structure
Platform restructured into crates/, added AI service and detector,
       migrated control-center-ui to Leptos 0.8
2026-01-08 21:32:59 +00:00

114 lines
2.5 KiB
Plaintext

# Orchestrator Configuration Example - Multiuser Deployment Mode
#
# This example shows multiuser deployments with HA setup (2 replicas)
# and moderate resource allocation for staging/production.
#
# Usage:
# nickel export --format toml orchestrator.multiuser.example.ncl > orchestrator.multiuser.toml
# nickel export --format json orchestrator.multiuser.example.ncl | jq
{
workspace = {
root_path = "/var/provisioning/workspace",
data_path = "/var/provisioning/workspace/data",
state_path = "/var/provisioning/workspace/state",
cache_path = "/var/provisioning/workspace/cache",
isolation_level = 'container,
execution_mode = 'distributed,
},
server = {
address = "0.0.0.0",
port = 8080,
tls = true,
tls_cert = "/etc/provisioning/certs/server.crt",
tls_key = "/etc/provisioning/certs/server.key",
cors = {
enabled = true,
allowed_origins = ["https://control-center:8081"],
allowed_methods = ["GET", "POST", "PUT", "DELETE", "PATCH"],
},
rate_limiting = {
enabled = true,
requests_per_second = 500,
burst_size = 100,
},
},
storage = {
backend = 's3,
s3 = {
bucket = "provisioning-storage",
region = "us-east-1",
endpoint = "https://s3.amazonaws.com",
},
max_size = 107374182400, # 100GB
cache_enabled = true,
cache_ttl = 7200, # 2 hours
},
queue = {
max_concurrent_tasks = 20,
retry_attempts = 5,
retry_delay = 10000,
task_timeout = 7200000,
persist = true,
dead_letter_queue = {
enabled = true,
max_size = 10000,
},
priority_queue = true,
metrics = true,
},
database = {
host = "postgres.provisioning.svc",
port = 5432,
username = "provisioning",
pool_size = 20,
connection_timeout = 15000,
ssl = true,
},
logging = {
level = 'info,
format = 'json,
output = 'file,
file = "/var/log/provisioning/orchestrator.log",
max_size = 104857600, # 100MB
retention_days = 30,
},
monitoring = {
enabled = true,
metrics_port = 9090,
health_check_interval = 10,
prometheus = {
enabled = true,
scrape_interval = "15s",
},
},
security = {
enable_auth = false,
auth_backend = 'local,
token_expiry = 3600,
enable_rbac = false,
},
mode = 'multiuser,
resources = {
cpus = "2.0",
memory = "2048M",
disk = "100G",
},
# Multiuser-specific: HA replicas
replicas = 2,
replica_sync = {
enabled = true,
sync_interval = 5000,
},
}