- Remove KCL ecosystem (~220 files deleted) - Migrate all infrastructure to Nickel schema system - Consolidate documentation: legacy docs → provisioning/docs/src/ - Add CI/CD workflows (.github/) and Rust build config (.cargo/) - Update core system for Nickel schema parsing - Update README.md and CHANGES.md for v5.0.0 release - Fix pre-commit hooks: end-of-file, trailing-whitespace - Breaking changes: KCL workspaces require migration - Migration bridge available in docs/src/development/
182 lines
4.0 KiB
Plaintext
182 lines
4.0 KiB
Plaintext
# Example: Orchestrator Configuration - Solo Mode (Single Developer)
|
|
#
|
|
# This example shows a minimal orchestrator setup for a single developer.
|
|
# Features:
|
|
# - Filesystem-based storage (no external dependencies)
|
|
# - Minimal resource consumption
|
|
# - Simplified monitoring (logs only)
|
|
# - Development-friendly logging (debug level)
|
|
#
|
|
# Usage:
|
|
# nickel export --format toml orchestrator-solo.ncl > orchestrator.solo.toml
|
|
# ORCHESTRATOR_CONFIG=orchestrator.solo.toml cargo run --bin orchestrator
|
|
|
|
{
|
|
# Workspace Configuration
|
|
workspace = {
|
|
name = "dev-workspace",
|
|
path = "/home/developer/provisioning/data/orchestrator",
|
|
enabled = true,
|
|
multi_workspace = false,
|
|
},
|
|
|
|
# Server Configuration
|
|
server = {
|
|
host = "127.0.0.1", # Localhost only for development
|
|
port = 9090,
|
|
workers = 2, # Minimal workers for development
|
|
keep_alive = 75,
|
|
max_connections = 128, # Low limit for single developer
|
|
},
|
|
|
|
# Storage: Filesystem (no external dependencies)
|
|
storage = {
|
|
backend = "filesystem",
|
|
path = "/home/developer/provisioning/data/orchestrator",
|
|
},
|
|
|
|
# Queue/Task Processing
|
|
queue = {
|
|
max_concurrent_tasks = 3, # Very low for single developer
|
|
retry_attempts = 2,
|
|
retry_delay = 1000, # ms
|
|
task_timeout = 1800000, # 30 minutes for development
|
|
|
|
deadletter_queue = {
|
|
enabled = true,
|
|
max_messages = 100,
|
|
retention_period = 3600, # 1 hour
|
|
},
|
|
|
|
priority_levels = ["low", "normal"],
|
|
default_priority = "normal",
|
|
},
|
|
|
|
# Batch Workflow
|
|
batch = {
|
|
parallel_limit = 2,
|
|
operation_timeout = 600000, # 10 minutes
|
|
|
|
checkpoint = {
|
|
enabled = true,
|
|
interval = 50, # Checkpoint frequently for development
|
|
auto_cleanup = true,
|
|
max_checkpoints = 5,
|
|
},
|
|
|
|
rollback = {
|
|
strategy = "automatic",
|
|
retain_logs = true,
|
|
},
|
|
},
|
|
|
|
# Monitoring: Basic (development-friendly)
|
|
monitoring = {
|
|
enabled = true,
|
|
|
|
metrics = {
|
|
enabled = false, # Disabled for simplicity
|
|
interval = 30,
|
|
export_format = "prometheus",
|
|
},
|
|
|
|
health_check = {
|
|
enabled = true,
|
|
interval = 60, # Less frequent for development
|
|
timeout = 10,
|
|
},
|
|
|
|
resources = {
|
|
track_cpu = true,
|
|
track_memory = true,
|
|
track_disk = false,
|
|
alert_threshold_cpu = 80,
|
|
alert_threshold_memory = 70,
|
|
},
|
|
|
|
profiling = {
|
|
enabled = false,
|
|
sample_rate = 0.0,
|
|
},
|
|
},
|
|
|
|
# Logging: Debug level for development
|
|
logging = {
|
|
level = "debug", # Verbose logging for development
|
|
format = "text", # Human-readable format (not JSON)
|
|
|
|
outputs = [
|
|
{
|
|
destination = "stdout",
|
|
level = "debug",
|
|
},
|
|
{
|
|
destination = "file",
|
|
path = "/home/developer/.provisioning/logs/orchestrator.log",
|
|
level = "trace",
|
|
rotation = {
|
|
max_size = "10MB",
|
|
max_backups = 3,
|
|
max_age = 7, # days
|
|
},
|
|
},
|
|
],
|
|
|
|
include_fields = [
|
|
"timestamp",
|
|
"level",
|
|
"message",
|
|
"task_id",
|
|
"file",
|
|
"line",
|
|
],
|
|
},
|
|
|
|
# Security: Relaxed for development
|
|
security = {
|
|
auth = {
|
|
enabled = false, # No auth required for solo development
|
|
method = "jwt",
|
|
},
|
|
|
|
cors = {
|
|
enabled = true,
|
|
allowed_origins = ["*"], # Allow any origin in development
|
|
allowed_methods = ["*"],
|
|
allowed_headers = ["*"],
|
|
},
|
|
|
|
tls = {
|
|
enabled = false, # No TLS for localhost
|
|
},
|
|
|
|
rate_limit = {
|
|
enabled = false, # No rate limiting in development
|
|
},
|
|
},
|
|
|
|
# Extensions: Disabled for simplicity
|
|
extensions = {
|
|
auto_load = false,
|
|
},
|
|
|
|
# Database: Not used in filesystem mode
|
|
database = {
|
|
pool = {
|
|
min_size = 1,
|
|
max_size = 5,
|
|
connection_timeout = 30,
|
|
idle_timeout = 300,
|
|
max_lifetime = 1800,
|
|
},
|
|
},
|
|
|
|
# Features: Development-focused
|
|
features = {
|
|
enable_audit_logging = false,
|
|
enable_task_history = true,
|
|
enable_performance_tracking = false,
|
|
enable_experimental_features = true, # Test new features in solo mode
|
|
},
|
|
}
|