https://cel.dev/?hl=pt-br

📌 O que é CEL (Common Expression Language)

CEL é uma linguagem de expressão projetada para ser:

Ela foi criada para ser incorporada em aplicações onde você precisa que usuários ou sistemas possam definir lógicas simples (como regras, filtros ou validações) avaliadas com desempenho previsível e seguro. (Common Expression Language)


🧠 Para que serve

CEL é usada para escrever expressões pequenas e poderosas que podem:

  • validar dados (como regras de esquema ou campos)
  • definir regras de autorização ou políticas
  • filtrar listas ou eventos
  • avaliar condições em tempo de execução

Por exemplo, você pode escrever lógicas como:

account.balance >= transaction.withdrawal
'user'.startsWith('u')

Essas expressões são avaliadas dentro de um contexto fornecido pela própria aplicação, sem permitir loops infinitos ou execuções inseguras. (Common Expression Language)


⚙️ Onde CEL é usada (casos reais)

  • Em Kubernetes: para declarar regras de validação e políticas diretamente na API do cluster sem precisar de webhooks externos. (Kubernetes)
  • Em serviços como Google Cloud: filtragem e transformações de eventos usando regras expressas em CEL. (Google Cloud Documentation)
  • Em outras ferramentas e plataformas que precisam oferecer configuração lógica segura e eficiente.

🆚 Características principais

CaracterísticaO que significa
Não-Turing completaNão permite loops infinitos ou execução de código arbitrário, garantindo segurança. (Chromium)
Sintaxe simplesParecida com expressões de linguagens como C, Java, Go ou JavaScript. (Chromium)
Foco em expressõesCada programa CEL é essencialmente uma única expressão avaliada de forma eficiente. (Chromium)
IntegrávelPode ser incorporada em aplicações que precisam de lógica configurável pelo usuário. (Chromium)

📌 Em resumo

CEL é uma linguagem de expressão rápida, segura e portátil para avaliação de lógicas pequenas, especialmente útil em configurações, validações e políticas embutidas em aplicações, APIs ou plataformas que exigem desempenho e segurança. (Common Expression Language)