Poyra:JwtKey
anahtarının değişken karşılığı Poyra__JwtKey’dir. Üretim kompozisyonu
.env dosyasını okur.
Sırlar
./scripts/anahtar-uret.sh altı sırrı üretir:
Açılışta üç anahtar da doğrulanır: var mı, geçerli base64 mü, tam 32 bayt mı ve
bilinen örnek/zayıf anahtarlardan biri mi. Üretimde başarısız doğrulama
süreci hiç başlatmaz; geliştirmede yalnız uyarı loglanır.
Taban adresler
E-posta ve SMS
SMTP değişkenleri opsiyoneldir:Poyra__Smtp__Host, __Port, __Username,
__Password, __From. Host boş bırakılırsa sistem sessizce “gönderildi”
demez — gönderici log’a düşer ve uyarır; parola sıfırlama postaları kullanıcıya
ulaşmaz. Üretimde SMTP’yi mutlaka doldurun.
SMS (ödeme bağlantısını SMS ile göndermek için) ayrı ağaçtadır ve compose
şablonunda yer almaz; kullanacaksanız ortam değişkeni olarak ekleyin:
Sms__Provider=netgsm ve Sms__Netgsm__UserCode, __Password, __Header.
Tanımsızsa SMS gönderimi sessizce kapalı kalır.
Gözlemlenebilirlik
API, OpenTelemetry ile izlenir (ASP.NET Core + HttpClient + Npgsql izleme ve metrikleri).OTEL_EXPORTER_OTLP_ENDPOINT tanımlarsanız OTLP dışa aktarıcı
devreye girer; tanımlı değilse hiçbir şey gönderilmez. Loglar konsoladır —
docker compose logs -f api ile okunur.
Bilinçli sınırlar ve bilinmesi gereken boşluklar
Bunlar kurulum kararlarınızı etkiler; sürüm ilerledikçe kapanacaktır:- CORS yapılandırılmamıştır. API sunucudan sunucuya tasarlandı; tarayıcıdan doğrudan API çağırmayı planlamayın (checkout zaten kendi host’undadır).
- Panelin DataProtection anahtarları kalıcı volume’de değildir. Panel
konteyneri yeniden başladığında tüm panel oturumları düşer (kullanıcılar
yeniden giriş yapar) ve panel tek kopya çalışmalıdır. Kalıcılık isterseniz
/home/app/.aspnet/DataProtection-Keysiçin volume bağlayın. - Vekil başlıkları okunmaz (
X-Forwarded-*); bu yüzden taban adres değişkenlerini açıkça vermek kritiktir — uygulama kendi adresini istekten türetmeye çalışmaz, çalışmamalıdır. - Panel ve checkout’ta sağlık ucu yoktur; izlemeyi API’nin
/health/*uçlarına ve vekil loglarına kurun. - Hız sınırlama (rate limiting) uygulama katmanında yoktur — vekilde kurun. İş katmanında risk motorunun hız sayaçları ve liste uçlarının sabit tavanları vardır.