Boshlash
Konfiguratsiya
Runtime sozlamalari, secretlar, URL’lar, S3 va worker parametrlarining ishlash qoidalari.
Sozlama manbalari
API va worker sozlamalarni environment variablelardan yuklaydi. PostgreSQL doimiy holat uchun, Redis esa limit va koordinatsiya uchun majburiy runtime dependency hisoblanadi. To‘liq o‘zgaruvchilar ro‘yxati Environment reference sahifasida.
| Guruh | Muhim qiymatlar | Izoh |
|---|---|---|
| Application | APP_ENV, APP_URL, WEB_URL, API_ADDR | Origin, cookie va bind xulqini belgilaydi |
| Data | DATABASE_URL, REDIS_URL | PostgreSQL source of truth; Redis koordinatsiya |
| Security | SESSION_SECRET, TRUSTED_PROXY_SECRET, MASTER_ENCRYPTION_KEY | Bir-biridan mustaqil, kuchli secretlar |
| Storage | AWS_REGION, S3_BUCKET, credential va endpoint | Private S3-compatible storage |
| Worker | JOB_* | Concurrency, lease, heartbeat, timeout va backoff |
Production invariantlari
APP_URLvaWEB_URLHTTPS bo‘lishi kerak.- CORS originlari aniq HTTPS originlar bo‘lishi kerak; wildcard qabul qilinmaydi.
REDIS_URLva S3 konfiguratsiyasi ochiq ko‘rsatiladi; development defaultlariga suyanilmaydi.TRUSTED_PROXY_SECRETkamida 32 belgi va boshqa secretlardan farqli bo‘lishi kerak.MASTER_ENCRYPTION_KEYcanonical base64 formatidagi aynan 32 baytli, nol bo‘lmagan kalit bo‘lishi kerak.- Custom S3 endpoint productionda HTTPS origin bo‘lishi kerak.
Fail closed
Productionda noto‘g‘ri yoki placeholder qiymatlar aniqlansa, servis xavfsiz bo‘lmagan default bilan davom etmaydi — startup xato bilan to‘xtaydi.
Worker defaultlari
| Sozlama | Default | Chegara / maqsad |
|---|---|---|
| Poll interval | 1s | Navbatni tekshirish oralig‘i |
| Lease duration | 30s | Ish egasining vaqtinchalik huquqi |
| Heartbeat | 10s | Lease’ni yangilash |
| Job timeout | 2m | Bitta job uchun yuqori vaqt |
| Shutdown grace | 15s | Tartibli to‘xtash |
| Backoff | 2s → 5m | Retry oralig‘i |
| Concurrency | 4 | 1–128 oralig‘ida |