# Config **Özet:** Tüm runtime konfigürasyonu `.env` dosyasından okur (`config/config.go:9`). Hiçbir varsayılan IP veya port sabit kodlanmamıştır — tüm değerler `os.Getenv()` ile okunur. **Kütüphaneler:** Go `os`, `strconv` **Bağlantılar:** [[Main]], [[Index]] ## Parametreler | Değişken | Varsayılan | Config Alanı | Açıklama | |---|---|---|---| | `PORT` | `8000` | `Port` | HTTP dinleme portu | | `OPENAI_BACKEND` | `https://api.deepseek.com` | `OpenAIBackend` | Upstream LLM backend base URL | | `OPENAI_KEY` | `""` | `OpenAIApiKey` | Opsiyonel API anahtarı (otomatik enjekte) | | `DB_MODE` | `pgs` | `DBMode` | Veritabanı motoru: `sqlite` veya `pgs` | | `DB_PATH` | `data/gateway.db` | `DBPath` | SQLite veritabanı dosya yolu (`DB_MODE=sqlite` iken) | | `LOG_LEVEL` | `info` | `LogLevel` | Konsol log seviyesi: `debug` (her şey), `info` (özet), `warn` (sadece hatalar) | | `POSTGRES_DSN` / `DATABASE_DSN` | `""` | `PostgresDSN` | PostgreSQL bağlantı DSN (`DB_MODE=pgs` iken) | | `REQUEST_TIMEOUT_SECONDS` | `30` | `RequestTimeoutSeconds` | Upstream istek zaman aşımı (saniye) | | `OPENAI_MODEL` | `""` | `OpenAIModel` | Varsayılan model adı (istekte model yoksa enjekte edilir) | | `STREAMING` | `true` | `Streaming` | SSE streaming yanıtlarını etkinleştir/devre dışı bırak (`true`/`false`) | ## Önemli Detaylar - `DB_MODE=sqlite` → `DB_PATH` değeri SQLite dosya yolu olarak kullanılır (varsayılan: `data/gateway.db`) - `DB_MODE=pgs` veya tanımsız → PostgreSQL bağlantısı (mevcut davranış) - `POSTGRES_DSN` ve `DATABASE_DSN` çifti desteklenir (birincil: `POSTGRES_DSN`) - `OPENAI_KEY` tanımlanmışsa, client `Authorization` header'ı göndermediğinde otomatik enjekte edilir - Tüm değerler `os.Getenv()` ile okunur - Config struct'ı main.go'da bir kez yüklenir ve tüm handler'lara pointer olarak geçilir