|
| 1 | +# ============================================================================== |
| 2 | +# OrderMonitor API - Production Environment Configuration |
| 3 | +# ============================================================================== |
| 4 | +# Production environment-specific settings for the Order Monitor API. |
| 5 | +# Optimized for performance, reliability, and security with frequent scanning |
| 6 | +# and information-level logging only. |
| 7 | +# |
| 8 | +# Override precedence (highest to lowest): |
| 9 | +# 1. Kubernetes Secrets (sensitive values) |
| 10 | +# 2. Kubernetes ConfigMap (non-sensitive config) |
| 11 | +# 3. OS environment variables |
| 12 | +# 4. This file (OrderMonitor_ENV.production.yml) |
| 13 | +# |
| 14 | +# CRITICAL: All secrets MUST be empty and injected via Kubernetes Secrets. |
| 15 | +# Never commit production secrets to version control. |
| 16 | +# |
| 17 | +# Supported database providers: sqlserver, mysql, postgresql |
| 18 | +# ============================================================================== |
| 19 | + |
| 20 | +# ------------------------------------------------------------------------------ |
| 21 | +# Application Settings |
| 22 | +# ------------------------------------------------------------------------------ |
| 23 | +ASPNETCORE_ENVIRONMENT: "Production" |
| 24 | +ASPNETCORE_URLS: "http://+:8080" |
| 25 | + |
| 26 | +# ------------------------------------------------------------------------------ |
| 27 | +# Database Configuration (Multi-Provider) |
| 28 | +# ------------------------------------------------------------------------------ |
| 29 | +# Database provider: "sqlserver" | "mysql" | "postgresql" |
| 30 | +ORDERMONITOR__Database__Provider: "sqlserver" |
| 31 | + |
| 32 | +# Connection string in Prisma URL format (varies by provider): |
| 33 | +# sqlserver: sqlserver://HOST:PORT;database=DB;user=USER;password=PASS;encrypt=true |
| 34 | +# mysql: mysql://USER:PASS@HOST:PORT/DB |
| 35 | +# postgresql: postgresql://USER:PASS@HOST:PORT/DB?schema=public |
| 36 | +# INJECTED VIA KUBERNETES SECRETS - NEVER COMMIT REAL CONNECTION STRINGS |
| 37 | +ORDERMONITOR__Database__ConnectionString: "" |
| 38 | + |
| 39 | +# Encrypted password (replaces {ENCRYPTED} placeholder in connection string) |
| 40 | +# Leave empty if password is included directly in connection string |
| 41 | +# INJECTED VIA KUBERNETES SECRETS |
| 42 | +ORDERMONITOR__Database__EncryptedPassword: "" |
| 43 | + |
| 44 | +# AES-256 encryption key (exactly 32 characters) |
| 45 | +# REQUIRED if using encrypted passwords. INJECTED VIA KUBERNETES SECRETS. |
| 46 | +# CRITICAL: NEVER commit the real encryption key to version control. |
| 47 | +ORDERMONITOR__Database__EncryptionKey: "" |
| 48 | + |
| 49 | +# Connection pool size for production (optimized for high throughput) |
| 50 | +ORDERMONITOR__Database__MaxPoolSize: "20" |
| 51 | + |
| 52 | +# Query timeout in seconds (longer for production reporting queries) |
| 53 | +ORDERMONITOR__Database__CommandTimeout: "60" |
| 54 | + |
| 55 | +# ------------------------------------------------------------------------------ |
| 56 | +# SMTP / Email Settings |
| 57 | +# ------------------------------------------------------------------------------ |
| 58 | +ORDERMONITOR__SmtpSettings__Host: "pod51017.outlook.com" |
| 59 | +ORDERMONITOR__SmtpSettings__Port: "587" |
| 60 | +ORDERMONITOR__SmtpSettings__Username: "backoffice@printerpix.com" |
| 61 | +ORDERMONITOR__SmtpSettings__FromEmail: "backoffice@printerpix.com" |
| 62 | +ORDERMONITOR__SmtpSettings__UseSsl: "true" |
| 63 | + |
| 64 | +# SMTP password (encrypted). INJECTED VIA KUBERNETES SECRETS. |
| 65 | +ORDERMONITOR__SmtpSettings__Password: "" |
| 66 | + |
| 67 | +# ------------------------------------------------------------------------------ |
| 68 | +# Alert Settings |
| 69 | +# Production uses professional alert subject prefix |
| 70 | +# ------------------------------------------------------------------------------ |
| 71 | +ORDERMONITOR__Alerts__Enabled: "true" |
| 72 | +ORDERMONITOR__Alerts__SubjectPrefix: "[Order Monitor]" |
| 73 | + |
| 74 | +# Alert recipients (indexed array format for ASP.NET Core) |
| 75 | +ORDERMONITOR__Alerts__Recipients__0: "ranganathan.e@syncoms.com" |
| 76 | +# ORDERMONITOR__Alerts__Recipients__1: "" |
| 77 | +# ORDERMONITOR__Alerts__Recipients__2: "" |
| 78 | +# ORDERMONITOR__Alerts__Recipients__3: "" |
| 79 | + |
| 80 | +# ------------------------------------------------------------------------------ |
| 81 | +# Background Scanner Settings |
| 82 | +# Production uses frequent scanning for optimal order monitoring |
| 83 | +# ------------------------------------------------------------------------------ |
| 84 | +ORDERMONITOR__Scanner__Enabled: "true" |
| 85 | +ORDERMONITOR__Scanner__IntervalMinutes: "15" |
| 86 | +ORDERMONITOR__Scanner__BatchSize: "1000" |
| 87 | + |
| 88 | +# ------------------------------------------------------------------------------ |
| 89 | +# Status Threshold Configuration |
| 90 | +# ------------------------------------------------------------------------------ |
| 91 | +# Prep statuses (order preparation phase) |
| 92 | +ORDERMONITOR__StatusThresholds__PrepStatuses__MinStatusId: "3001" |
| 93 | +ORDERMONITOR__StatusThresholds__PrepStatuses__MaxStatusId: "3910" |
| 94 | +ORDERMONITOR__StatusThresholds__PrepStatuses__ThresholdHours: "6" |
| 95 | + |
| 96 | +# Facility statuses (manufacturing/shipping phase) |
| 97 | +ORDERMONITOR__StatusThresholds__FacilityStatuses__MinStatusId: "4001" |
| 98 | +ORDERMONITOR__StatusThresholds__FacilityStatuses__MaxStatusId: "5830" |
| 99 | +ORDERMONITOR__StatusThresholds__FacilityStatuses__ThresholdHours: "48" |
| 100 | + |
| 101 | +# Default threshold for unknown statuses |
| 102 | +ORDERMONITOR__StatusThresholds__DefaultThresholdHours: "24" |
| 103 | + |
| 104 | +# ------------------------------------------------------------------------------ |
| 105 | +# Business Hours Configuration |
| 106 | +# ------------------------------------------------------------------------------ |
| 107 | +# Timezone for business hours calculation (IANA format) |
| 108 | +ORDERMONITOR__BusinessHours__Timezone: "Europe/London" |
| 109 | + |
| 110 | +# Business day start/end hours (24h format) |
| 111 | +ORDERMONITOR__BusinessHours__StartHour: "0" |
| 112 | +ORDERMONITOR__BusinessHours__EndHour: "24" |
| 113 | + |
| 114 | +# Holiday dates (comma-separated, ISO 8601) |
| 115 | +# Override default UK/EU holidays if needed |
| 116 | +# ORDERMONITOR__BusinessHours__Holidays: "2026-01-01,2026-04-03,2026-04-06,2026-05-04,2026-05-25,2026-08-31,2026-12-25,2026-12-28" |
| 117 | + |
| 118 | +# ------------------------------------------------------------------------------ |
| 119 | +# Logging Configuration |
| 120 | +# Production uses Information level only (no debug logging for performance) |
| 121 | +# ------------------------------------------------------------------------------ |
| 122 | +ORDERMONITOR__Logging__LogLevel__Default: "Information" |
| 123 | +ORDERMONITOR__Logging__LogLevel__Microsoft_AspNetCore: "Warning" |
| 124 | +ORDERMONITOR__Logging__LogLevel__OrderMonitor: "Information" |
| 125 | + |
| 126 | +# Serilog overrides (optional) |
| 127 | +# ORDERMONITOR__Serilog__MinimumLevel__Default: "Information" |
| 128 | +# ORDERMONITOR__Serilog__WriteTo__0__Name: "Console" |
| 129 | + |
| 130 | +# ------------------------------------------------------------------------------ |
| 131 | +# Health Check Settings |
| 132 | +# Production includes database health checks |
| 133 | +# ------------------------------------------------------------------------------ |
| 134 | +ORDERMONITOR__HealthCheck__Path: "/health" |
| 135 | +ORDERMONITOR__HealthCheck__IncludeDatabase: "true" |
| 136 | + |
| 137 | +# ------------------------------------------------------------------------------ |
| 138 | +# Swagger / API Documentation |
| 139 | +# Production typically has Swagger disabled for security |
| 140 | +# ------------------------------------------------------------------------------ |
| 141 | +ORDERMONITOR__Swagger__Enabled: "false" |
| 142 | +ORDERMONITOR__Swagger__Title: "Order Monitor API" |
| 143 | +ORDERMONITOR__Swagger__Version: "v2" |
0 commit comments