CEL Playground — самый быстрый способ проверить корректность CEL-выражений в Kubernetes. Его сделали ребята из UnDistro.
CEL (Common Expression Language) — это специальный язык, реализующий семантику для проверочных выражений. В Kubernetes он используется для определения правил валидаций, политик, других ограничений или условий. CEL-выражения вычисляются непосредственно на API-сервере Kubernetes, за счет чего он является удобной альтернативой внешним механизмам вроде вебхуков.
CEL находится в активной стадии внедрения в Kubernetes, а значит нужен инструмент для тестирования выражений. Мы искали такой инструмент и задумывались о каком-то аналоге Go Playground или Rust Playground. Так что появление CEL Playground нас очень порадовало.
Максим Набоких, Platform Lead во «Фланте»
Интерфейс у CEL Playground (GitHub проекта) очень простой: слева — окно для выражений на CEL и набор примеров (примеры добавляются по меню из шапки блока). Справа — YAML или JSON, который и обрабатывается конкретным выражением (для встроенных примеров есть готовые данные). Чтобы запустить выражение, надо нажать кнопку Run — результат отобразится в черном прямоугольнике — аналоге CLI.
CEL Playground умеет работать со всеми модулями CEL, которые есть в Kubernetes, и позволяет проверить, что ваши выражения точно будут работать в продакшене и выполнять ожидаемые действия. Он написан на Go, компилируется в WebAssembly и работает прямо в браузере.