-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Extensible CEL Vocabulary #18063
Copy link
Copy link
Open
Labels
area/extensionarea/rbacenhancementFeature requests. Not bugs or questions.Feature requests. Not bugs or questions.help wantedNeeds help!Needs help!no stalebotDisables stalebot from closing an issueDisables stalebot from closing an issue
Metadata
Metadata
Assignees
Labels
area/extensionarea/rbacenhancementFeature requests. Not bugs or questions.Feature requests. Not bugs or questions.help wantedNeeds help!Needs help!no stalebotDisables stalebot from closing an issueDisables stalebot from closing an issue
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: