109 lines
3.4 KiB
Markdown
109 lines
3.4 KiB
Markdown
|
|
# Platform Service Configuration Files
|
|||
|
|
|
|||
|
|
This directory contains **16 production-ready TOML configuration files** generated from Nickel schemas for all platform services across all deployment modes.
|
|||
|
|
|
|||
|
|
## Generated Files
|
|||
|
|
|
|||
|
|
**4 Services × 4 Deployment Modes = 16 Configuration Files**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
orchestrator.{solo,multiuser,cicd,enterprise}.toml (2.2 kB each)
|
|||
|
|
control-center.{solo,multiuser,cicd,enterprise}.toml (3.4 kB each)
|
|||
|
|
mcp-server.{solo,multiuser,cicd,enterprise}.toml (2.7 kB each)
|
|||
|
|
installer.{solo,multiuser,cicd,enterprise}.toml (2.5 kB each)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Total**: ~45 KB, all validated and ready for deployment
|
|||
|
|
|
|||
|
|
## Deployment Modes
|
|||
|
|
|
|||
|
|
| Mode | Resources | Database | Use Case | Load |
|
|||
|
|
|------|-----------|----------|----------|------|
|
|||
|
|
| **solo** | 2 CPU, 4 GB | Embedded | Development | `ORCHESTRATOR_MODE=solo` |
|
|||
|
|
| **multiuser** | 4 CPU, 8 GB | PostgreSQL/SurrealDB | Team Staging | `ORCHESTRATOR_MODE=multiuser` |
|
|||
|
|
| **cicd** | 8 CPU, 16 GB | Ephemeral | CI/CD Pipelines | `ORCHESTRATOR_MODE=cicd` |
|
|||
|
|
| **enterprise** | 16+ CPU, 32+ GB | SurrealDB HA | Production | `ORCHESTRATOR_MODE=enterprise` |
|
|||
|
|
|
|||
|
|
## Quick Start
|
|||
|
|
|
|||
|
|
### Load a configuration mode
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Solo mode (single developer)
|
|||
|
|
export ORCHESTRATOR_MODE=solo
|
|||
|
|
export CONTROL_CENTER_MODE=solo
|
|||
|
|
|
|||
|
|
# Multiuser mode (team development)
|
|||
|
|
export ORCHESTRATOR_MODE=multiuser
|
|||
|
|
export CONTROL_CENTER_MODE=multiuser
|
|||
|
|
|
|||
|
|
# Enterprise mode (production HA)
|
|||
|
|
export ORCHESTRATOR_MODE=enterprise
|
|||
|
|
export CONTROL_CENTER_MODE=enterprise
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Override individual fields
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
export ORCHESTRATOR_SERVER_WORKERS=8
|
|||
|
|
export ORCHESTRATOR_SERVER_PORT=9090
|
|||
|
|
export CONTROL_CENTER_REQUIRE_MFA=true
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Configuration Loading Hierarchy
|
|||
|
|
|
|||
|
|
Each service loads configuration with this priority:
|
|||
|
|
|
|||
|
|
1. **Explicit path** — `{SERVICE}_CONFIG` environment variable
|
|||
|
|
2. **Mode-specific** — `{SERVICE}_MODE` → `provisioning/platform/config/{service}.{mode}.toml`
|
|||
|
|
3. **Legacy** — `config.user.toml` (backward compatibility)
|
|||
|
|
4. **Defaults** — `config.defaults.toml` or built-in
|
|||
|
|
5. **Field overrides** — `{SERVICE}_*` environment variables
|
|||
|
|
|
|||
|
|
## Docker Compose Integration
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
export DEPLOYMENT_MODE=multiuser
|
|||
|
|
docker-compose -f provisioning/platform/infrastructure/docker/docker-compose.yml up
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Kubernetes Integration
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Load enterprise mode configs into K8s
|
|||
|
|
kubectl create configmap orchestrator-config \
|
|||
|
|
--from-file=provisioning/platform/config/orchestrator.enterprise.toml
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Validation
|
|||
|
|
|
|||
|
|
Verify all configs parse correctly:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
for file in *.toml; do
|
|||
|
|
nu -c "open '$file'" && echo "✅ $file" || echo "❌ $file"
|
|||
|
|
done
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Structure
|
|||
|
|
|
|||
|
|
- **orchestrator.*.toml** — Workflow engine configuration
|
|||
|
|
- **control-center.*.toml** — Policy/RBAC backend configuration
|
|||
|
|
- **mcp-server.*.toml** — MCP server configuration
|
|||
|
|
- **installer.*.toml** — Installation/bootstrap configuration
|
|||
|
|
|
|||
|
|
Each file contains service-specific settings for networking, storage, security, logging, and monitoring.
|
|||
|
|
|
|||
|
|
## Related Documentation
|
|||
|
|
|
|||
|
|
- **Configuration workflow**: `provisioning/.typedialog/provisioning/platform/configuration-workflow.md`
|
|||
|
|
- **Usage guide**: `provisioning/.typedialog/provisioning/platform/usage-guide.md`
|
|||
|
|
- **Schema definitions**: `provisioning/.typedialog/provisioning/platform/schemas/`
|
|||
|
|
- **Default values**: `provisioning/.typedialog/provisioning/platform/defaults/`
|
|||
|
|
|
|||
|
|
## Generated By
|
|||
|
|
|
|||
|
|
**Framework**: TypeDialog + Nickel Configuration System
|
|||
|
|
**Date**: 2026-01-05
|
|||
|
|
**Status**: ✅ Production Ready
|