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

feat: Dynamic GRPC Metadata #46

Merged
merged 29 commits into from
Jul 19, 2024
Merged

feat: Dynamic GRPC Metadata #46

merged 29 commits into from
Jul 19, 2024

Conversation

ekawinataa
Copy link

@ekawinataa ekawinataa commented Jul 10, 2024

Criteria :

  • Enable dynamic gRPC metadata based on payload
  • Payload is parsed using CEL expression and mapped to simple key value header
  • Metadata could contains both static and dynamic key-value
  • Using CEL Expression to parse the Proto payload, for details please refer https://github.com/google/cel-spec/blob/master/doc/langdef.md. The reason of using CEL expression is because it natively support proto/DynamicMessage without the need to parse it to JSON first
  • Should use full qualified proto class name for the CEL Expression
  • Only supports primitive value as the key and value for the metadata

Reason for change :

  • Some of EGLC users that want to migrate are expecting Firehose to have the feature to insert gRPC metadata based on the payload/event

Configuration would be something like this :

SINK_GRPC_METADATA=staticKey : $Payload.field_one,Payload.field_two: $Payload.fields[0].name

@ekawinataa ekawinataa changed the title [WIP] Dynamic GRPC Metadata [WIP] feat: Dynamic GRPC Metadata Jul 10, 2024
@ekawinataa ekawinataa changed the title [WIP] feat: Dynamic GRPC Metadata feat: Dynamic GRPC Metadata Jul 11, 2024
- Use annotation to assert exception in test
@rajuGT rajuGT merged commit a368c89 into main Jul 19, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants