Skip to content

Add Common Expression Language (CEL) #322

Open
@DonaldKellett

Description

@DonaldKellett

Motivation

Qualified customers can leverage CEL support for interview challenges tailored to DevOps and platform engineering roles.

Common Expression Language (CEL) is a domain-specific language with bounded execution time optimized for defining authorization policies, validating API requests and transforming data.

CEL was initially developed by Google and widely adopted within Kubernetes and the wider cloud-native ecosystem, e.g.:

Introducing CEL support on Codewars opens the doors to a new class of policy authoring and data validation challenges tailored to cloud infrastructure and DevOps engineers who may not necessarily be well-versed in programming and software development. Furthermore, Qualified customers can leverage CEL support for interview challenges tailored to DevOps and platform engineering roles.

Required information

Please complete the following information about the language:

  • Name: Common Expression Language (CEL)
  • Website: https://cel.dev/
  • Language Version: v0.19.1 or any sufficiently recent version of CEL

The following are optional, but will help us add the language:

  • Test Frameworks:

    1. Evaluate CEL expressions in Go using the Undistro CEL playground evaluator: undistro/cel-playground
    2. Define assertions for unit testing: onsi/ginkgo
    3. BDD: onsi/gomega
  • How to install: use an official Go base image and import the required Go packages in the runtime setup and test fixture:

    1. github.com/undistro/cel-playground/eval
    2. github.com/onsi/ginkgo/v2
    3. github.com/onsi/gomega
  • How to compile/run: like any other Go project, e.g. with ginkgo

  • Any comments: see "Motivation" above


  • Building
  • Executing
  • Testing
  • CodeMirror mode
  • Icon

👍 reaction might help to get this request prioritized.

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions