147 lines
3.4 KiB
JSON
147 lines
3.4 KiB
JSON
{
|
|
"database": {
|
|
"connection_timeout": 30000,
|
|
"host": "postgres-primary.provisioning.svc",
|
|
"pool_idle_timeout": 900,
|
|
"pool_size": 50,
|
|
"port": 5432,
|
|
"ssl": true,
|
|
"username": "provisioning"
|
|
},
|
|
"leader_election": {
|
|
"backend": "etcd",
|
|
"enabled": true,
|
|
"etcd_endpoints": [
|
|
"etcd-0.etcd",
|
|
"etcd-1.etcd",
|
|
"etcd-2.etcd"
|
|
],
|
|
"lease_duration": 15
|
|
},
|
|
"logging": {
|
|
"file": "/var/log/provisioning/orchestrator.log",
|
|
"format": "json",
|
|
"level": "info",
|
|
"max_size": 1073741824,
|
|
"output": "file",
|
|
"retention_days": 90
|
|
},
|
|
"mode": "enterprise",
|
|
"monitoring": {
|
|
"enabled": true,
|
|
"health_check_interval": 5,
|
|
"jaeger": {
|
|
"enabled": true,
|
|
"endpoint": "http://jaeger-collector.observability.svc:14268/api/traces",
|
|
"sample_rate": 0.1
|
|
},
|
|
"metrics_port": 9090,
|
|
"prometheus": {
|
|
"enabled": true,
|
|
"remote_write": {
|
|
"queue_capacity": 10000,
|
|
"url": "https://prometheus-remote.example.com/api/v1/write"
|
|
},
|
|
"scrape_interval": "10s"
|
|
}
|
|
},
|
|
"queue": {
|
|
"dead_letter_queue": {
|
|
"enabled": true,
|
|
"max_size": 100000,
|
|
"retention_days": 30
|
|
},
|
|
"distributed": true,
|
|
"max_concurrent_tasks": 100,
|
|
"metrics": true,
|
|
"persist": true,
|
|
"priority_queue": true,
|
|
"redis": {
|
|
"cluster": "redis-provisioning",
|
|
"nodes": [
|
|
"redis-1",
|
|
"redis-2",
|
|
"redis-3"
|
|
]
|
|
},
|
|
"retry_attempts": 7,
|
|
"retry_backoff": "exponential",
|
|
"retry_delay": 30000,
|
|
"task_timeout": 14400000
|
|
},
|
|
"replica_sync": {
|
|
"enabled": true,
|
|
"quorum_required": true,
|
|
"sync_interval": 1000
|
|
},
|
|
"replicas": 3,
|
|
"resources": {
|
|
"cpus": "4.0",
|
|
"disk": "1T",
|
|
"memory": "4096M"
|
|
},
|
|
"security": {
|
|
"audit_log_path": "/var/log/provisioning/audit.log",
|
|
"auth_backend": "local",
|
|
"enable_audit_log": true,
|
|
"enable_auth": true,
|
|
"enable_rbac": true,
|
|
"token_expiry": 1800
|
|
},
|
|
"server": {
|
|
"address": "0.0.0.0",
|
|
"cors": {
|
|
"allowed_methods": [
|
|
"GET",
|
|
"POST",
|
|
"PUT",
|
|
"DELETE",
|
|
"PATCH",
|
|
"HEAD"
|
|
],
|
|
"allowed_origins": [
|
|
"https://control-center.production.svc:8081",
|
|
"https://api.provisioning.example.com"
|
|
],
|
|
"enabled": true
|
|
},
|
|
"keepalive_timeout": 75000,
|
|
"port": 8080,
|
|
"rate_limiting": {
|
|
"burst_size": 500,
|
|
"enabled": true,
|
|
"requests_per_second": 5000
|
|
},
|
|
"request_timeout": 30000,
|
|
"tls": true,
|
|
"tls_cert": "/etc/provisioning/certs/server.crt",
|
|
"tls_client_cert": "/etc/provisioning/certs/client-ca.crt",
|
|
"tls_key": "/etc/provisioning/certs/server.key",
|
|
"tls_require_client_cert": true
|
|
},
|
|
"storage": {
|
|
"backend": "s3",
|
|
"cache_enabled": true,
|
|
"cache_ttl": 14400,
|
|
"max_size": 1099511627776,
|
|
"replication": {
|
|
"enabled": true,
|
|
"regions": [
|
|
"us-west-2"
|
|
]
|
|
},
|
|
"s3": {
|
|
"bucket": "provisioning-enterprise",
|
|
"endpoint": "https://s3.us-east-1.amazonaws.com",
|
|
"region": "us-east-1"
|
|
}
|
|
},
|
|
"workspace": {
|
|
"cache_path": "/var/cache/provisioning",
|
|
"data_path": "/mnt/provisioning/workspace/data",
|
|
"execution_mode": "distributed",
|
|
"isolation_level": "kubernetes",
|
|
"root_path": "/var/provisioning/workspace",
|
|
"state_path": "/mnt/provisioning/workspace/state"
|
|
}
|
|
}
|