Cloudflare, API tanımlarından doğrudan SDK paketleri, komut satırı araçları, belgeler ve kütüphaneler üretmeye yarayan, açık kaynaklı ve genişletilebilir bir işlem hattı olan Forge'u duyurdu. Forge, sürekli entegrasyon (CI) ortamlarında çalışıyor ve barındırılan bir SaaS hizmetine bağlı kalmak yerine ücretsiz ve kendi kendine barındırılan şekilde çalıştırılabiliyor.
Proje, Cloudflare'ın Rust, Go, TypeScript ve Python dahil çeşitli dillerle yazılmış yüzlerce hizmet tarafından desteklenen ve 3.500'den fazla işlem içeren bir API'yi yönetme ihtiyacına yanıt olarak ortaya çıktı. Şirket, Forge'un şu anda cf CLI için gerekli çıktıları ürettiğini, önümüzdeki aylarda kullanımının Cloudflare belgelerine, SDK paketlerine ve diğer alanlara genişletileceğini söylüyor.
Her değişiklik için önizlemeler
Forge, ürün ekiplerinin depolarında çalışıyor; her değişikliği inceleyerek CLI aracı, belgeler ve SDK paketlerinin önizleme sürümlerini oluşturuyor ve bu değişiklikten kaynaklanan düzenlemeleri öne çıkarıyor. Ekipler, bir API değişikliğini birleştirmeden veya müşterilere sunmadan önce bu sürümleri yükleyip test edebiliyor.
Bu mekanizma, API'nin yüzlerce hizmet ve depo arasında dağıldığı ortamlardaki pratik bir sorunu hedefliyor: Tek bir değişiklik, oluşturma sürecini bozabiliyor ve etkilenen ekip sorunu ancak sürüm yayınlandığında fark edebiliyor. Oluşturma işlemini CI içinde daha erken çalıştırmak ise doğrulamayı değişikliğin kaynağına daha yakın bir aşamaya taşıyor ve ekipler arasında gereken koordinasyonu azaltıyor.
Birbirine bağlı çıktılar oluşturma
Forge, geleneksel dil hedefleriyle sınırlı değil. Proje, bir OpenAPI tanımını alıp Cloudflare'ın uzak TypeScript arayüzlerinin yerel işlevleri çağırmaya benzer şekilde çağrılmasını sağlayan RPC sistemi Cap’n Web gibi çıktılar üretebiliyor. Şirket ayrıca aynı yaklaşımın TanStack Query bağlayıcıları, Zod veya Valibot şemaları ve MCP sunucuları oluşturmak için kullanılabileceğini belirtiyor.
Forge, çıktıları birbirine bağlanabilen dönüştürücülere dayanıyor; böylece bir çıktı başka bir çıktı üretmek için kullanılabiliyor. Şu anda giriş türü olarak OpenAPI'yi destekliyor ve gelecekte AsyncAPI, GraphQL, Cap’n Proto ve Protobuf eklenmesine olanak tanıyacak şekilde tasarlanmış durumda. Kullanıcı ayrıca sabit bir yol dayatmak yerine oluşturma zincirini belirleyebiliyor. Bu, CLI aracının SDK paketinden farklı bir dille oluşturulduğu veya aracın elle yazılmış komutlar içerdiği durumlarda önem taşıyor.
Pratikte ne değişiyor?
Forge, API tüketim araçlarını daha sonra güncellenen ayrı ürünler olarak değil, arayüzün geliştirme döngüsünün bir parçası haline getiren bir model sunuyor. Bu, SDK'yi, belgeleri ve CLI'yi eşzamanlı tutması gereken ekipler için faydalı; ancak özellikle araç, oluşturulmuş kod ile elle yazılmış komutları veya davranışları bir araya getirdiğinde, oluşturulan çıktıları gözden geçirme ihtiyacını ortadan kaldırmıyor.
Cloudflare, projeyi API sürümlerini yönetme planlarıyla da ilişkilendiriyor. Şirket, ana v4 sürümünü on yıl kullandıktan sonra, müşterileri veya eski SDK paketlerini bozmadan yeni ana sürümler yayımlamaya olanak tanıyan bir yaklaşım üzerinde çalıştığını söylüyor. Şirket, bu materyalde söz konusu yaklaşımın ayrıntılarını veya uygulanması için bir zaman çizelgesini açıklamadı.
Açık lisans ve mevcut aşamanın sınırları
Forge, Apache 2.0 lisansı kapsamında kullanıma sunuldu ve ücret ödemeden çalıştırılabiliyor, değiştirilebiliyor ve kurum içinde veya özel olarak kullanılabiliyor. Cloudflare, cf CLI çıktıları üretmek için kullanılmasına rağmen projeyi hâlâ erken aşamada olarak nitelendiriyor. Şirket ayrıca TypeScript, Rust, Python, Go, PHP ve Terraform SDK'leri hakkında daha sonra ayrıntı vereceğini ve Terraform sağlayıcısındaki geçiş gereksinimlerine özel olarak değineceğini belirtti.