# ============================================================================= # Datacenter Documentation System - Configuration Values # This file provides a structured YAML configuration based on .env variables # Can be used with Helm or directly for configuration management # ============================================================================= # ============================================================================= # MongoDB Configuration # ============================================================================= mongodb: # Authentication auth: enabled: true rootUsername: admin rootPassword: admin123 database: datacenter_docs # Connection URL (auto-generated in Helm, can be overridden) url: "mongodb://admin:admin123@mongodb:27017" # Service configuration service: host: mongodb port: 27017 # Persistence (for Kubernetes deployments) persistence: enabled: true size: 10Gi storageClass: "longhorn" # ============================================================================= # Redis Configuration # ============================================================================= redis: # Authentication auth: enabled: false password: admin # Connection URL url: "redis://redis:6379/0" # Service configuration service: host: redis port: 6379 # Database number database: 0 # ============================================================================= # MCP Server Configuration # ============================================================================= mcp: # MCP server connection server: url: "https://mcp.company.local" apiKey: "7DKfHC8i79iPp43tFKNyiHEXQRSec4dH" timeout: 30 # Enable MCP integration enabled: true # ============================================================================= # Proxmox VE Configuration # ============================================================================= proxmox: # Proxmox server host: "proxmox.apps.home.arpa.viti" port: 443 # Authentication Method 1: Username + Password (less secure) auth: user: "monitoring@pve" name: "docs-llm-token" password: "4d97d058-cc96-4189-936d-fe6a6583fcbd" # Authentication Method 2: API Token (RECOMMENDED) # To create: Datacenter → Permissions → API Tokens # Format: user@realm!tokenname # token: # user: "automation@pam" # name: "docs-collector" # value: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # SSL Configuration ssl: verify: false # Set to true in production with valid certificates # Connection settings timeout: 30 # Enable Proxmox collector enabled: true # ============================================================================= # LLM Configuration (OpenAI-compatible API) # ============================================================================= llm: # Provider selection - uncomment the one you want to use # --- OpenAI (Default) --- provider: openai baseUrl: "https://llm-studio.apps.home.arpa.viti/v1" apiKey: "" model: "llama-3.2-3b-instruct" # Alternative models: gpt-4, gpt-3.5-turbo, gpt-4o # --- Anthropic Claude --- # provider: anthropic # baseUrl: "https://api.anthropic.com/v1" # apiKey: "sk-ant-your-anthropic-key-here" # model: "claude-sonnet-4-20250514" # Alternative models: claude-3-opus-20240229, claude-3-sonnet-20240229 # --- LLMStudio (Local) --- # provider: llmstudio # baseUrl: "http://localhost:1234/v1" # apiKey: "not-needed" # model: "your-local-model-name" # --- Open-WebUI (Local) --- # provider: openwebui # baseUrl: "http://localhost:8080/v1" # apiKey: "your-open-webui-key" # model: "llama3" # Alternative models: mistral, mixtral, codellama # --- Ollama (Local) --- # provider: ollama # baseUrl: "http://localhost:11434/v1" # apiKey: "ollama" # model: "llama3" # Alternative models: mistral, mixtral, codellama, phi3 # Generation Settings generation: temperature: 0.3 maxTokens: 4096 topP: 1.0 frequencyPenalty: 0.0 presencePenalty: 0.0 # ============================================================================= # API Configuration # ============================================================================= api: # Server settings host: "0.0.0.0" port: 8000 workers: 4 # Service configuration (for Kubernetes) service: type: ClusterIP port: 8000 targetPort: 8000 # Application settings debug: false reloadOnChange: false # Security secretKey: "your-secret-key-change-in-production" apiKeyEnabled: true # ============================================================================= # CORS Configuration # ============================================================================= cors: enabled: true origins: - "http://localhost:3000" - "https://docs.company.local" allowCredentials: true allowMethods: - "GET" - "POST" - "PUT" - "DELETE" - "PATCH" - "OPTIONS" allowHeaders: - "*" # ============================================================================= # Application Settings # ============================================================================= application: # Logging logging: level: "INFO" # DEBUG, INFO, WARNING, ERROR, CRITICAL format: "json" # json or text # Debug mode debug: false # Environment environment: "production" # development, staging, production # ============================================================================= # Auto-Remediation Configuration # ============================================================================= autoRemediation: # Enable/disable auto-remediation enabled: true # Reliability thresholds minReliabilityScore: 85.0 requireApprovalThreshold: 90.0 # Rate limiting maxActionsPerHour: 100 maxActionsPerDay: 500 # Safety settings dryRun: false # Set to true for testing requireHumanApproval: false # Notification settings notifications: enabled: true channels: - email - slack # ============================================================================= # Celery Configuration (Background Tasks) # ============================================================================= celery: # Broker configuration broker: url: "redis://redis:6379/0" transport: "redis" # Result backend result: backend: "redis://redis:6379/0" expires: 3600 # Worker configuration worker: concurrency: 4 maxTasksPerChild: 1000 prefetchMultiplier: 4 # Task configuration task: acks_late: true reject_on_worker_lost: true time_limit: 3600 soft_time_limit: 3000 # Queue configuration queues: default: name: "default" priority: 5 high_priority: name: "high_priority" priority: 10 low_priority: name: "low_priority" priority: 1 # ============================================================================= # Vector Store Configuration # ============================================================================= vectorStore: # Storage type type: "chroma" # chroma, pinecone, weaviate # ChromaDB configuration chroma: path: "./data/chroma_db" persistDirectory: "/data/vector_store" # Embedding configuration embedding: model: "sentence-transformers/all-MiniLM-L6-v2" dimensions: 384 # Alternative models: # - "sentence-transformers/all-mpnet-base-v2" (768 dims, better quality) # - "BAAI/bge-small-en-v1.5" (384 dims, good performance) # - "thenlper/gte-small" (384 dims, multilingual) # Search configuration search: topK: 5 scoreThreshold: 0.7 # ============================================================================= # Documentation Generation Settings # ============================================================================= documentation: # Generation settings generation: enabled: true autoUpdate: true updateInterval: 3600 # seconds # Output configuration output: format: "markdown" # markdown, html, pdf directory: "./docs/generated" templateDirectory: "./templates/docs" # Content settings content: includeTimestamps: true includeMetadata: true includeDiagrams: true includeExamples: true # ============================================================================= # Ticket Management Settings # ============================================================================= tickets: # Auto-categorization autoCategorization: enabled: true confidenceThreshold: 0.8 # Priority assignment autoPriority: enabled: true # SLA settings sla: critical: 1 # hours high: 4 medium: 24 low: 72 # Notification settings notifications: enabled: true onCreation: true onStatusChange: true onResolution: true # ============================================================================= # Collectors Configuration # ============================================================================= collectors: # VMware vCenter vmware: enabled: false host: "vcenter.example.com" username: "administrator@vsphere.local" password: "your-password" verifySsl: false collectInterval: 3600 # Kubernetes kubernetes: enabled: false configPath: "~/.kube/config" context: "default" collectInterval: 1800 # Network devices network: enabled: false devices: [] # - host: "switch1.example.com" # type: "cisco" # username: "admin" # password: "password" collectInterval: 7200 # Storage storage: enabled: false systems: [] collectInterval: 3600 # ============================================================================= # Monitoring & Observability # ============================================================================= monitoring: # Metrics metrics: enabled: true port: 9090 path: "/metrics" # Health checks health: enabled: true path: "/health" interval: 30 # Tracing tracing: enabled: false provider: "jaeger" # jaeger, zipkin, otlp endpoint: "http://jaeger:14268/api/traces" # Logging exporters logging: exporters: - type: "stdout" # - type: "elasticsearch" # endpoint: "http://elasticsearch:9200" # - type: "loki" # endpoint: "http://loki:3100" # ============================================================================= # Security Settings # ============================================================================= security: # Authentication authentication: enabled: true method: "jwt" # jwt, oauth2, ldap tokenExpiration: 3600 # Authorization authorization: enabled: true rbacEnabled: true # Encryption encryption: enabled: true algorithm: "AES-256-GCM" # Rate limiting rateLimit: enabled: true requestsPerMinute: 100 requestsPerHour: 1000 # ============================================================================= # Backup & Recovery # ============================================================================= backup: # Enable backup enabled: true # Backup schedule (cron format) schedule: "0 2 * * *" # Daily at 2 AM # Retention policy retention: daily: 7 weekly: 4 monthly: 12 # Backup destination destination: type: "s3" # s3, gcs, azure, local # s3: # bucket: "datacenter-docs-backups" # region: "us-east-1" # accessKeyId: "your-access-key" # secretAccessKey: "your-secret-key" # ============================================================================= # Feature Flags # ============================================================================= features: # Enable/disable specific features autoRemediation: true aiDocGeneration: true vectorSearch: true chatInterface: true ticketManagement: true multiTenancy: false auditLogging: true realTimeUpdates: true # ============================================================================= # Resource Limits (for Kubernetes deployments) # ============================================================================= resources: # API service api: requests: memory: "512Mi" cpu: "250m" limits: memory: "2Gi" cpu: "1000m" # Worker service worker: requests: memory: "512Mi" cpu: "250m" limits: memory: "2Gi" cpu: "1000m" # Chat service chat: requests: memory: "256Mi" cpu: "100m" limits: memory: "1Gi" cpu: "500m" # ============================================================================= # Notes # ============================================================================= # - Copy this file to customize your deployment # - For Helm deployments, use: helm install -f values.yaml # - For environment variables, use the .env file # - Sensitive values should be stored in Kubernetes Secrets or external secret managers # - See documentation at: https://git.commandware.com/it-ops/llm-automation-docs-and-remediation-engine