Platform restructured into crates/, added AI service and detector,
migrated control-center-ui to Leptos 0.8
114 lines
2.5 KiB
Plaintext
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,
|
|
},
|
|
}
|