« Tüm yayınlar

Celly: .NET için sıfırdan yazılmış, %100 uyumlu CEL motoru

Celly, Google CEL dilinin %100 conformance geçen, saf yönetilen C# ile yazılmış native .NET uygulaması; ayrıca ilk .NET protovalidate kütüphanesi.

Celly, Google'ın Common Expression Language (CEL) dilinin saf yönetilen (managed) C# ile sıfırdan yazılmış bir uygulaması. CEL; Kubernetes admission policy'leri, Envoy RBAC kuralları, Cloud IAM koşulları ve gRPC protovalidate gibi altyapılarda kullanılan, sonlanması garanti edilen ve yan etkisiz bir ifade dilidir — kuralları koddan ayırıp veri olarak güvenle çalıştırmayı sağlar. .NET için resmi bir CEL uygulaması bulunmadığından proje bu boşluğu doldurmak amacıyla başlatıldı.

Geliştirme sürecinde WASM veya native binding kullanılmadı; lexer, parser, tip denetleyici ve evaluator tamamen C# ile yazıldı. Bu kısıtlama doğruluk barını yükseltti: Celly, resmi cel-spec uyumluluk paketindeki 2.456 testin tamamını geçiyor ve bu sonuç bağımsız bir audit ile cel-go'ya karşı yapılan diferansiyel fuzz testleriyle doğrulandı.

Performans tarafında Celly, .NET üzerindeki en hızlı CEL motoru olarak ölçüldü; en yakın yönetilen alternatiften belirgin şekilde hızlı, hatta bazı comprehension-ağırlıklı senaryolarda referans Go uygulaması cel-go'yu geride bırakıyor. Proje ayrıca .NET için ilk protovalidate kütüphanesinin doğmasını sağladı ve NuGet üzerinden dağıtılıyor.