Son altı ay içinde Chainguard, konteyner derleme manifestosu üretimini 500 milyondan 1 milyarı aşkın seviyeye çıkardı. Şirket ayrıca kataloğuna 3.000'den fazla benzersiz konteyner imajı ve 675.000 imaj sürümü ekledi. Tüm dikkatleri çeken bu rakamlar, ancak asıl önemli olan bu sayıların arkasındaki sistem. Ortaya çıkan rakamdan ziyade, bu rakamı üreten altyapı ve bu hedefe ulaşmak için sistemin neden kökten yeniden tasarlandığı çok daha büyük bir anlam taşıyor.
Bir Derleme Manifestosu Aslında Neyi İfade Ediyor?
Neyi saydığımız konusunda net olalım. Bir 'derleme manifestosu'nu nasıl tanımlıyoruz? Bunu, Chainguard Factory'nin her yeni ve doğrulanabilir bir çıktı ürettiği an olarak düşünebilirsiniz. Örneğin go:1.26.5 için yepyeni bir imaj oluşturulması, bir libc yamasıyla tetiklenen nginx yeniden derlemesi, yeni bir mimari varyantın eklenmesi veya bir bağımlılık değişikliğinin ardından SBOM'un yeniden oluşturulması... Tüm bu olaylar yeni bir derlemeyi ve dolayısıyla yeni çıktıları beraberinde getiriyor.
Bizim çalışma ölçeğimizde, Python gibi tek bir proje bile onlarca farklı desteklenen sürüme sahip olabiliyor. Bu sürümlerin her biri birden fazla mimari derlemesini barındırıyor ve yukarı akış değişiklikleri, bağımlılık yamaları ile temel imajın daha da güçlendirilmesi sürecinde defalarca yeniden derleniyor. Ortaya çıkan bu sayı, desteklediğimiz tüm projelerde kataloğumuzun her an nasıl güncel ve taze kaldığını net bir şekilde gösteriyor.
İşte bu ayrım, bir imajı indirdiğiniz gün güvenli olan bir katalog ile her gün güvenli kalan bir katalog arasındaki temel farkı oluşturuyor. Piyasadaki güvenlik açığı yönetimi çözümlerinin çoğu ilk senaryoya göre tasarlanırken, biz ikinci senaryo için yani sürekli güvenlik için sağlam bir altyapı inşa ediyoruz.
Nasıl Derleme Yapıyoruz?
Tüm süreç, özel olarak geliştirilmiş Linux işletim sistemimiz Chainguard OS ile başlıyor. Modern ve bulut tabanlı iş yükleri için tasarlanan Chainguard OS, yazılım tedarik zinciri üzerinde tam kontrol sahibi olmamızı sağlıyor. Geleneksel ve yerleşik Linux dağıtımlarının aksine Chainguard OS; sürekli yazılım entegrasyonu, hızlı dağıtım, nano güncellemeler ve anlık yeniden derlemeler için kurgulandı. Açık kaynak topluluğu tarafından geliştirilen tüm güvenlik, işlevsellik ve performans güncellemelerini anında yakalıyor ve müşterilerimize en kısa sürede ulaştırıyoruz. Altı ayda bir yeni bir sürüm çıkarıp ardından dağıtımın eskiyen yapısıyla baş başa kalmıyoruz. Chainguard OS sürekli güncellenen bir yapıya sahip ve yeni çıktılar günün her saatinde yayına alınıyor.
Chainguard Factory, bu dağıtım sürecini yöneten altyapı ve otonom motor konumunda. Fabrikadan çıkan her çıktı, çoklu savunma katmanlarına sahip olup; SLSA Seviye 3 köken bilgisi, Sigstore imzaları ve tam SBOM'lar ile doğrudan kaynak koddan derleniyor.
Fabrikanın devasa ölçeği ve mimarisi, bu hacimde yeniden derleme işlemlerini mümkün kılıyor. Derlemeler bildirimsel ve yeniden üretilebilir yapıda olduğu için, göndermeyi planladığımız kod ile gerçekte dağıtılan çıktı arasında gizli bir durum değişikliği veya kayma olma endişesi taşımadan bir imajı yeniden oluşturabiliyoruz. Ancak yeniden üretilebilirlik tek başına, bahsettiğimiz bu kısa zaman diliminde 1 milyar derleme manifestosu rakamına ulaşmanızı sağlamaz. Bu hız, çok daha farklı bir yetenek gerektiriyor: Ne zaman yeniden derleme yapılacağını tam olarak bilmek ve binlerce birbiriyle bağlantılı projede, her karar için bir insan müdahalesine ihtiyaç duymadan bu sinyallere anında tepki verebilmek.