# Solo Mode Schema
# Single developer deployment with minimal infrastructure
# Resources: 2 CPU, 4GB RAM, 50GB disk

{
  SoloModeConfig = {
    # Deployment mode identifier
    mode  | String = "solo",

    # Resource allocation
    resources = {
      cpu_cores | String,
      memory_mb | String,
      disk_gb | String,
      max_connections | String | optional,
    },

    # Service enablement
    services = {
      orchestrator | {
        enabled | String,
        storage_backend | String,
        workers | String | optional,
        queue_max_concurrent_tasks | String | optional,
        batch_parallel_limit | Number | optional,
      },
      control_center | {
        enabled | String,
        database | String,
        mfa_required | String | optional,
        audit_logging | String | optional,
      },
      mcp_server | {
        enabled | String,
        protocol | String | optional,
        max_concurrent_tools | String | optional,
      },
      installer | {
        enabled | String,
      },
    },

    # Security configuration
    security = {
      auto_generate_secrets | String | optional,
      kms_backend | String | optional,
      audit_logging | String | optional,
      tls_enabled | String | optional,
      rbac_enabled | String | optional,
    },

    # Networking
    networking = {
      bind_localhost_only | String | optional,
      expose_services | String | optional,
    },

    # High Availability (disabled for solo)
    ha = {
      enabled | String,
      replicas | String | optional,
    },

    # Monitoring and observability
    monitoring = {
      enabled | String | optional,
      metrics_enabled | String | optional,
      health_checks_enabled | String | optional,
      logging_level | String | optional,
    },
  },
}
