2026-01-14 04:53:21 +00:00
|
|
|
# Platform Services Configuration Setup Script\n\n**Path**: `provisioning/scripts/setup-platform-config.sh`\n\nSetup and manage platform service configurations in `provisioning/config/runtime/`.\n\n## Features\n\n- ✅ **Interactive Mode**: Guided setup with TypeDialog or quick mode\n- ✅ **Interactive TypeDialog**: Web/TUI/CLI form-based configuration\n- ✅ **Quick Mode**: Auto-setup from defaults + mode overlays\n- ✅ **Automatic TOML Export**: Generates TOML files for Rust services\n- ✅ **Runtime Detection**: Detect existing configs and offer update/replace options\n- ✅ **Batch Operations**: Configure all 8 services at once\n- ✅ **Cleanup Management**: Remove/reset configurations safely\n\n## Usage\n\n### Interactive Setup (Recommended)\n\n```\n# Start interactive wizard\n./provisioning/scripts/setup-platform-config.sh\n\n# Prompts for:\n# 1. Action: TypeDialog, Quick Mode, Clean, or List\n# 2. Service (if TypeDialog/Quick)\n# 3. Mode (solo/multiuser/cicd/enterprise)\n# 4. Backend (web/tui/cli, if TypeDialog)\n```\n\n### Command-Line Options\n\n```\n# Configure specific service via TypeDialog\n./provisioning/scripts/setup-platform-config.sh \n --service orchestrator \n --mode solo \n --backend web\n\n# Quick setup all services for enterprise mode\n./provisioning/scripts/setup-platform-config.sh \n --quick-mode \n --mode enterprise\n\n# Regenerate TOML files from existing .ncl configs\n./provisioning/scripts/setup-platform-config.sh \n --generate-toml\n\n# List available options\n./provisioning/scripts/setup-platform-config.sh --list-modes\n./provisioning/scripts/setup-platform-config.sh --list-services\n./provisioning/scripts/setup-platform-config.sh --list-configs\n\n# Clean all runtime configurations\n./provisioning/scripts/setup-platform-config.sh --clean\n```\n\n## Workflow\n\n### 1. Initial Setup (Empty Runtime)\n\n```\nInteractive Prompt\n ↓\n├─ TypeDialog (Recommended)\n│ ├─ Load form definitions\n│ ├─ User fills form (web/tui/cli)\n│ └─ Generates orchestrator.solo.ncl\n│ ↓\n│ Auto-export to orchestrator.solo.toml\n│\n└─ Quick Mode\n ├─ Select mode (solo/multiuser/cicd/enterprise)\n ├─ Compose all services: defaults + mode overlay\n ├─ Create 8 .ncl files\n └─ Auto-export to 8 .toml files\n```\n\n### 2. Update Existing Configuration\n\n```\nDetect Existing Config\n ↓\nChoose Action:\n ├─ Clean up & start fresh\n ├─ Update via TypeDialog (edit existing)\n ├─ Use quick mode (regenerate)\n └─ List current configs\n```\n\n### 3. Manual NCL Edits\n\n```\nUser edits: provisioning/config/runtime/orchestrator.solo.ncl\n ↓\nRun: ./setup-platform-config.sh --generate-toml\n ↓\nAuto-exports to: provisioning/config/runtime/generated/orchestrator.solo.toml\n ↓\nService loads TOML automatically\n```\n\n## Configuration Layers\n\nThe script composes configurations from multiple layers:\n\n```\n1. Schema (TYPE-SAFE CONTRACT)\n ↓\n provisioning/schemas/platform/schemas/orchestrator.ncl\n (Defines valid fields, types, constraints)\n\n2. Service Defaults (BASE VALUES)\n ↓\n provisioning/schemas/platform/defaults/orchestrator-defaults.ncl\n (Default values for all orchestrator settings)\n\n3. Mode Overlay (MODE-SPECIFIC TUNING)\n ↓\n provisioning/schemas/platform/defaults/deployment/solo-defaults.ncl\n (Resource limits for solo mode: 2 CPU, 4GB RAM)\n\n4. Composition (MERGE)\n ↓\n defaults.merge_config_with_mode(mode_config)\n (Merges base + mode overlay)\n\n5. Runtime Config (USER CUSTOMIZATION)\n ↓\n provisioning/config/runtime/orchestrator.solo.ncl\n (Final config, can be hand-edited)\n\n6. TOML Export (SERVICE CONSUMPTION)\n ↓\n provisioning/config/runtime/generated/orchestrator.solo.toml\n (Rust service reads this)\n```\n\n## Services & Modes\n\n### 8 Available Services\n\n```\n1. orchestrator - Main orchestration engine\n2. control-center - Web UI and management console\n3. mcp-server - Model Context Protocol server\n4. vault-service
|