events: Add full api_path; rename Send (#22487)

Biggest change: we rename `Send` to `SendEvent` in `logical.EventSender`..
Initially we picked `Send` to match the underlying go-eventlogger
broker's `Send` method, and to avoid the stuttering of `events.SendEvent`.

However, I think it is more useful for the `logical.EventSender`
interface to use the method `SendEvent` so that, for example,
`framework.Backend` can implement it.

This is a relatively change now that should not affect anything
except the KV plugin, which is being fixed in another PR.

Another change: if the `secret_path` metadata is present, then
the plugin-aware `EventBus` will prepend it with the plugin mount.
This allows the `secret_path` to be the full path to any referenced
secret.

This change is also backwards compatible, since this field was not
present in the KV plugin. (It did use the slightly different `path`
field, which we can keep for now.)
This commit is contained in:
Christopher Swenson
2023-08-23 15:11:22 -07:00
committed by GitHub
parent 9b0540dfbe
commit 925702de10
8 changed files with 270 additions and 23 deletions

View File

@@ -23,7 +23,7 @@ type GRPCEventsClient struct {
var _ logical.EventSender = (*GRPCEventsClient)(nil)
func (s *GRPCEventsClient) Send(ctx context.Context, eventType logical.EventType, event *logical.EventData) error {
func (s *GRPCEventsClient) SendEvent(ctx context.Context, eventType logical.EventType, event *logical.EventData) error {
_, err := s.client.SendEvent(ctx, &pb.SendEventRequest{
EventType: string(eventType),
Event: event,
@@ -41,7 +41,7 @@ func (s *GRPCEventsServer) SendEvent(ctx context.Context, req *pb.SendEventReque
return &pb.Empty{}, nil
}
err := s.impl.Send(ctx, logical.EventType(req.EventType), req.Event)
err := s.impl.SendEvent(ctx, logical.EventType(req.EventType), req.Event)
if err != nil {
return nil, err
}