SaaS platformları için özel alan adı yönetimi, standart bir özellik olsa da her hosting platformu bu konuda farklı bir API sunuyor. Geliştiricilerin bu karmaşayla boğuşmasını engellemek isteyen OpenCoreDev, Domain SDK adını verdiği TypeScript istemcisini duyurdu. Bu SDK, Vercel, Cloudflare for SaaS, Railway, Render ve Netlify gibi popüler SaaS platformları için alan adı işlemlerini tek bir çatı altında topluyor. SDK'nın 0.2.0 sürümü, ilk çıkışından sadece bir gün sonra npm'e ulaştı.

Tek Bir API ile Tüm Platformlara Hükmetmek

Peki, Domain SDK tam olarak ne yapıyor? Bir hostname ekliyor, gerekli DNS kayıtlarını gösteriyor ve sağlayıcının durumu hazır olana kadar takip ediyor. Alan adı kaydı yapmıyor, DNS barındırmıyor, uygulama dağıtmıyor, trafiği proxy'lemiyor veya kiracı verilerini depolamıyor. Uygulamanız, kiracı yetkilendirmesini ve durumunu kendi bünyesinde tutuyor. Paket sadece sunucu tarafında çalışıyor, bu sayede kimlik bilgileri asla tarayıcı koduna ulaşmıyor. Node.js, Deno ve Bun gibi popüler çalışma zamanlarını destekliyor.

Durum Takibi ve Platform Farklılıkları

Domain SDK, alan adı durumunu oldukça detaylı bir şekilde modelliyor. DNS, sahiplik ve TLS sertifikaları farklı zamanlarda tamamlandığı için, SDK bunları ayrı ayrı takip ediyor. Sekiz farklı değer taşıyan bir durum modeli var: Hazır, Ekleniyor, Kaldırılıyor, DNS Doğrulanıyor, Sahiplik Doğrulanıyor, TLS Doğrulanıyor, Sorunlu ve Beklemede. Örneğin, bir Vercel hostname'i üç ayrı kayıt gerektiriyor: Yönlendirme için CNAME, sahiplik için TXT ve sertifika için TXT. Her ne kadar yaşam döngüsü standartlaştırılsa da platformların kendi kısıtlamaları devam ediyor. Örneğin, Render tek başına wildcard hostname'leri kabul ederken, Cloudflare for SaaS apex alan adı desteği sunmuyor. Bu sınırlamaları kod içine gömmek yerine, SDK'nın `capabilities` metodunu kullanarak çalışma zamanında okumak mümkün.

Geliştiriciler İçin Büyük Kolaylık

SDK, geliştiriciler için hayatı kolaylaştıran birçok özellik sunuyor. Ekleme ve kaldırma işlemleri idempotent, yani tekrar denemeler güvenli. Bu, geliştiricilerin hata durumlarında veya ağ kesintilerinde aynı işlemi defalarca güvenle tetikleyebilmesi demek. CI ortamları için gerçek sağlayıcılara çağrı yapmayan bir bellek içi adaptör de bulunuyor. Çok kiracılı SaaS uygulamaları, Cloudflare for SaaS'ı büyük ölçekte kullanma ve sağlayıcı geçişi gibi senaryolarda Domain SDK, süreci ciddi ölçüde basitleştiriyor. API henüz genç olsa da, on dört farklı hata kodu ve güvenli tekrar deneme imkanları sunuyor.

Platformlar Arası Yetenek Farklılıklarını Yönetmek Artık Çok Daha Kolay