# 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
