Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extensible CEL Vocabulary #18063

Open
wjtracey opened this issue Sep 10, 2021 · 3 comments
Open

Extensible CEL Vocabulary #18063

wjtracey opened this issue Sep 10, 2021 · 3 comments
Labels
area/extension area/rbac enhancement Feature requests. Not bugs or questions. help wanted Needs help! no stalebot Disables stalebot from closing an issue

Comments

@wjtracey
Copy link

Support extending the CEL expression evaluator with custom vocabulary.

Essentially allow for custom forms of the evaluation context to register as a ExprVocabularyProvider or similar and be referenced by e.g. RBAC, such that CEL evaluation is run against the custom vocabulary (either exclusively, or potentially in addition to the native Envoy attribute vocabulary).

Rework the common/expr/ library such that users of it (e.g. RBAC) may pass in the custom ExprVocabularyProvider. The ExprVocabularyProvider will take common data structures as inputs (StreamInfo::StreamInfo and others), and allow access to their attributes, new convenience functions, and derived attributes via custom CelValueProducer implementations they attached to Activations.

Use cases include:

  • Evaluating syntactically different (same functionality, different naming) CEL
  • Exposing domain specific, internal, and convenience attributes and functions in the CEL language that are not appropriate in the OSS vocabulary.
@wjtracey wjtracey added the triage Issue requires triage label Sep 10, 2021
@htuch htuch added area/extension area/rbac enhancement Feature requests. Not bugs or questions. and removed triage Issue requires triage labels Sep 10, 2021
@htuch
Copy link
Member

htuch commented Sep 10, 2021

CC @kyessenov

@github-actions
Copy link

This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions.

@github-actions github-actions bot added the stale stalebot believes this issue/PR has not been touched recently label Oct 10, 2021
@htuch htuch added no stalebot Disables stalebot from closing an issue and removed stale stalebot believes this issue/PR has not been touched recently labels Oct 11, 2021
@ashankar1 ashankar1 mentioned this issue Nov 29, 2021
@kyessenov
Copy link
Contributor

@rshriram FR for extensible attribute vocabulary.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/extension area/rbac enhancement Feature requests. Not bugs or questions. help wanted Needs help! no stalebot Disables stalebot from closing an issue
Projects
None yet
Development

No branches or pull requests

4 participants