Yapılandırma
Bir kurulumun ayarlaması gerekenler, Keydra'yı dışarı açmadan önce yapılacaklar ve tek örneği birden fazla örneğe çeviren ortak depo.
Keydra nasıl yapılandırılır#
Yapılandırma, Quarkus yapılandırmasıdır: özellikler ve bunları geçersiz kılan ortam
değişkenleri. Bir kurulumun ayarladığı hemen her değerin application.properties içinde
kendisi için tanımlanmış bir ortam değişkeni vardır; eşleme tahmine bırakılmaz, orada yazar.
Üç profil bulunur:
%dev-
./mvnw quarkus:devile çalışır.deploy/keydra-dev.yamliçindeki kapsayıcıları kullanır. %test-
Test paketi. PostgreSQL, Redis ve Valkey Testcontainers ile açılır.
%prod-
Paketlenmiş çalışma zamanı; imajın kullandığı profil budur.
Bir kurulumun ayarlaması gerekenler#
Yalnızca iki konunun kullanılabilir bir varsayılanı yoktur:
KEYDRA_DB_URL=postgresql://db.internal:5432/keydra
KEYDRA_DB_USERNAME=keydra
KEYDRA_DB_PASSWORD=<parola>
KEYDRA_SECRET_KEY=<32 rastgele bayt, base64>Geri kalan ayarların varsayılanı ya doğrudur ya da açıkça bir geliştirme kolaylığıdır.
Dışarı açmadan önce ayarlanacaklar#
# Tarayıcının gördüğü biçimiyle Keydra'nın adresi. Sağlayıcı yönlendirmesi buraya döner.
KEYDRA_PUBLIC_URL=https://keydra.example.com
# Ters vekil sunucu arkasında: iletilen başlıklara yalnızca bu vekillerden gelirse güven.
KEYDRA_BEHIND_PROXY=true
KEYDRA_TRUSTED_PROXIES=10.0.0.0/8Ayarların tamamı için bkz. Yapılandırma referansı.
Keydra’nın kendi deposu#
Hiçbir ayar yapılmadığında Keydra tek örnek olarak çalışır: tek bir belleği vardır ve kurulması gereken ek bir bileşen yoktur. Çoğu kurulum da böyledir.
KEYDRA_STORE_URL, birkaç örneğin paylaştığı bir Redis adresini gösterir. İki iş için
kullanılır: bildirimleri yeniden yayımlayarak bir örnekteki değişikliğin diğerine bağlı
tarayıcıya ulaşmasını sağlamak ve her isteğin yapacağı üç okumayı önbelleğe almak.
Bu depo ayrı bir sunucu olmalıdır, hedeflerinizden biri değil. Birinin göz attığı bir sunucuda duran önbellek, birinin toplu silme yaparken boşalttığı önbellek olur.
Depoya yazılan her anahtar ad alanına ayrılır ve bir TTL taşır. Süresi olmayan önbellek, düzenli görünen bir bellek sızıntısıdır.
Giden postayı yapılandırma#
Tek bir aktarıcı bir kez tanımlanır; davetler, parola sıfırlamaları ve sonradan eklenen bütün işlevler bunu kullanır.
Aktarıcının istediği ayarları girin:
KEYDRA_MAIL_HOST=smtp.example.com
KEYDRA_MAIL_PORT=587
KEYDRA_MAIL_TLS=true
KEYDRA_MAIL_USERNAME=<kullanıcı adı>
KEYDRA_MAIL_API_KEY=<parola ya da API anahtarı>
KEYDRA_MAIL_FROM=keydra@example.comBir hesabı davet edin ve bağlantının ulaştığını kontrol edin.
Hiçbir ayar yapılmadığında da davet oluşturulur; bağlantı, daveti gönderen yöneticiye gösterilir. Bu, postayla göndermekten kötüdür ama daveti tümden reddetmekten çok daha iyidir: aktarıcısı olmayan bir kurulumda kimseye hesap verilememesi kabul edilemez.
Bir davet, birinin Keydra’dan gördüğü ilk şeydir; bu yüzden yanında düz metin bir parçayla birlikte HTML olarak gider — düz parça önce, ki MIME’ın istediği sıra budur ve yalnızca anladığını okuyan bir istemcinin göstereceği parça odur.
Hesap söylemişse, hesabın okuduğu dilde yazılır. Keydra’yı kullanmış bir hesabın dil
tercihi vardır ve o cevap kazanır; yeni açılmış bir hesap hiçbir şey belirtmemiştir ve bir e-posta
adresi dil taşımaz — dolayısıyla geri dönüş KEYDRA_MAIL_LANGUAGE, yani kurulumun kendisinin
çalıştırıldığı dildir. Bağlantı bu seçimi taşır, böylece açtığı sayfa da iletiyle aynı dili konuşur.