# Example: VAPORA Enterprise Deployment Configuration (Production Mode)
#
# This is a reference Nickel configuration for large-scale production deployments.
# Copy this file to provisioning/config/runtime/vapora.enterprise.ncl and customize.
#
# Enterprise mode (16+ CPU, 32GB+ RAM):
# - Multi-region deployments with high availability
# - Enterprise-grade security (TLS, MFA, audit logging)
# - Cost optimization with budget enforcement per role
# - Full observability (Prometheus, OpenTelemetry, distributed tracing)
# - Multi-provider LLM routing with intelligent fallback
# - Knowledge graph with 90-day retention for enterprise learning
#
# Prerequisites:
# - Kubernetes cluster (production-grade)
# - SurrealDB cluster with replication
# - NATS JetStream cluster
# - Prometheus/Grafana for monitoring
# - TLS certificates for all services
# - Multi-provider LLM setup (Claude, OpenAI, Gemini)
#
# Generated: 2026-01-12

let helpers = import "../../schemas/platform/common/helpers.ncl" in
let defaults = import "../../schemas/vapora/main.ncl" in
let mode_config = import "../../schemas/platform/defaults/deployment/enterprise.ncl" in

# Enterprise mode composition: base defaults + mode overlay
helpers.compose_config defaults mode_config {
  # Enterprise-specific customizations:

  # Production domain configuration
  frontend.api_url = "https://api.vapora.production.com",

  # All providers enabled for cost optimization
  providers = {
    claude_enabled = true,
    openai_enabled = true,
    gemini_enabled = true,
    ollama_enabled = true,
    ollama_url = "http://ollama-cluster.production:11434",
  },

  # Aggressive cost control
  llm_router.budget_enforcement = {
    enabled = true,
    window = "monthly",
    near_threshold_percent = 70,     # Alert at 70% to allow time for action
    auto_fallback = true,             # Always fallback to cheaper options
    detailed_tracking = true,         # Track every token for billing
    role_limits = {
      architect_cents = 2000000,      # $20,000/month
      developer_cents = 1500000,      # $15,000/month
      reviewer_cents = 800000,        # $8,000/month
      testing_cents = 500000,         # $5,000/month
    },
  },

  # Extended learning window for enterprise
  agents.learning = {
    enabled = true,
    recency_window_days = 30,         # 30-day learning window
    recency_multiplier = 4.0,         # Stronger recency weighting
  },

  # Enterprise knowledge retention
  agents.knowledge_graph = {
    enabled = true,
    retention_days = 365,             # Full year of execution history
    causal_reasoning = true,
    similarity_search = true,
  },

  # Security hardening
  security = {
    tls_enabled = true,
    tls_cert_path = "/etc/vapora/certs/tls.crt",
    tls_key_path = "/etc/vapora/certs/tls.key",
  },

  # Full observability
  monitoring = {
    prometheus_enabled = true,
    log_level = "info",
    tracing_enabled = true,
    metrics_path = "/metrics",
  },

  # Aggressive backup strategy
  storage = {
    base_path = "/var/lib/vapora",
    backup_enabled = true,
    backup_interval = 6,              # Backup every 6 hours
  },
}
