RequestReply: Add CESQL function
Problem
For the RequestReply resource, we need to create a CESQL function KN_VERIFY_CORRELATIONID(correlationid, secretName1, secretName2, ...) which verifies that the correlation id being used is valid. To do this, the correlation id is formatted as follows:
<original id>:<original id signed with a secret key>
The CESQL function should sign the original id and see if it matches the original id signed with a secret key referenced in the correlation id.
CESQL can be extended with new functions as follows: https://github.com/cloudevents/sdk-go/blob/24f83eb0a86d9cd7f4f28759f823fa77f58b0910/sql/v2/runtime/test/user_defined_functions_test.go#L33-L57
The function should:
- Get the secret
- Split the correlation id
- Sign the original id
- Return
trueiff the signed id matches the second half of the split correlation id
Persona: Which persona is this feature for?
Exit Criteria Unit tests of CESQL expressions that pass/fail
Time Estimate (optional): How many developer-days do you think this may take to resolve? 1-2
Additional context (optional) Add any other context about the feature request here.
- https://github.com/knative/eventing/issues/7912
/assign
/triage accepted