Skip to content

Proposal for Custom Beholder Messages #1075

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

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

EasterTheBunny
Copy link
Collaborator

@EasterTheBunny EasterTheBunny commented Mar 21, 2025

The default custom message utility uses a BaseMessage proto with the message data expected to be a string and labels added to the proto message.

Instead, a proto message itself can be sent where the message and schema details are packaged together by an interface. This promotes the design that any particular entity can be emitted given that it satisfies the interface.

As a temporary measure, the Emit interface accepts an any type to allow for existing string types or the ProtoMessage interface. This could be reworked using generics on the Labeler.

One more upcoming feature of beholder is the ability to have delivery guarantees as an option. This will require mechanisms for retry, possibly with persistence. The Labeler entity could be expanded for this use case.

Requires

Supports

The default custom message utility uses a `BaseMessage` proto with the message data expected to
be a string and labels added to the proto message.

Instead, a proto message itself can be sent where the message and schema details are packaged
together by an interface. This promotes the design that any particular entity can be emitted
given that it satisfies the interface.
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.

1 participant