-
Notifications
You must be signed in to change notification settings - Fork 38.7k
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
Add CEL function library #108312
Add CEL function library #108312
Conversation
/assign @liggitt Also, @TristonianJones would you be willing to give this a review pass? |
/priority important-soon |
2c813c8
to
3649175
Compare
staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/schema/cel/stdlib.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/schema/cel/stdlib.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/schema/cel/stdlib.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/schema/cel/validation_test.go
Show resolved
Hide resolved
staging/src/k8s.io/apiextensions-apiserver/third_party/forked/celopenapi/model/registry.go
Show resolved
Hide resolved
staging/src/k8s.io/apiextensions-apiserver/third_party/forked/celopenapi/model/url.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/schema/cel/compilation.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/schema/cel/stdlib.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/schema/cel/stdlib.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/schema/cel/stdlib.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/schema/cel/stdlib.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/schema/cel/stdlib.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/schema/cel/stdlib.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/schema/cel/stdlib.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/schema/cel/stdlib_test.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/schema/cel/stdlib.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/schema/cel/stdlib.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/schema/cel/stdlib.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/schema/cel/stdlib.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/schema/cel/stdlib.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiextensions-apiserver/third_party/forked/celopenapi/model/url.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/schema/cel/stdlib.go
Outdated
Show resolved
Hide resolved
/test pull-kubernetes-unit |
/lgtm |
staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/schema/cel/compilation.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/schema/cel/stdlib.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/schema/cel/stdlib.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiextensions-apiserver/third_party/forked/celopenapi/model/url.go
Show resolved
Hide resolved
staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/schema/cel/stdlib.go
Outdated
Show resolved
Hide resolved
staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/schema/cel/stdlib.go
Outdated
Show resolved
Hide resolved
51ced0a
to
569cc52
Compare
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: jpbetz, liggitt The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
…ibrary provided by CEL
/hold cancel This is ready now that @TristonianJones's feedback has been applied. We have a niche case where a CEL typesystem update is needed ( |
@liggitt would you retag this? The changes are primarily CEL library organization/consistency things, the functions are otherwise unchanged. |
/lgtm |
This extends the available CEL functions available for use in x-kubernetes-validations rules to include:
This completes all additions proposed in the function library KEP update for CEL
Sum only supports numeric and duration types. The KEP proposed supporting bytes and strings, but after more consideration, that is more cleanly implemented directly in cel-go as a join function. (per discussion with CEL author @TristonianJones)
What type of PR is this?
/kind feature
What this PR does / why we need it:
Which issue(s) this PR fixes:
part of #107573
Special notes for your reviewer:
Does this PR introduce a user-facing change?
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:
Please use the following format for linking documentation: