Skip to content

Commit 0d02cc8

Browse files
committed
Add source to OutgoingEvent
This patch adds the Source field to the OutgoingEvent, so that an operator can see which host an event came from. Fixes: #23 Fixes: #22 Signed-off-by: Alex Ellis (OpenFaaS Ltd) <[email protected]>
1 parent 52a6f9c commit 0d02cc8

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

pkg/events/events.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import (
2626
type OutboundEvent struct {
2727
Topic string `json:"topic,omitempty"`
2828
Category string `json:"category,omitempty"`
29+
Source string `json:"source"`
2930

3031
UserName string `json:"userName,omitempty"`
3132
CreatedTime time.Time `json:"createdTime,omitempty"`
@@ -54,8 +55,10 @@ func Stream(ctx context.Context, c *vim25.Client, controller *types.Controller)
5455
eventsPerPage := int32(1)
5556
tail := true
5657
force := true
58+
source := c.URL().Host
59+
60+
recv := makeRecv(controller, m, source)
5761

58-
recv := makeRecv(controller, m)
5962
err := m.Events(ctx, managedTypes, eventsPerPage, tail, force, recv)
6063
if err != nil {
6164
return errors.Wrap(err, "error connecting to event-stream")
@@ -64,14 +67,14 @@ func Stream(ctx context.Context, c *vim25.Client, controller *types.Controller)
6467
}
6568

6669
// makeRecv returns a event handler function called by the event manager on each event
67-
func makeRecv(controller *types.Controller, m *event.Manager) func(managedObjectReference vtypes.ManagedObjectReference, baseEvent []vtypes.BaseEvent) error {
70+
func makeRecv(controller *types.Controller, m *event.Manager, source string) func(managedObjectReference vtypes.ManagedObjectReference, baseEvent []vtypes.BaseEvent) error {
6871
return func(managedObjectReference vtypes.ManagedObjectReference, baseEvent []vtypes.BaseEvent) error {
6972
log.Printf("Object %v", managedObjectReference)
7073

7174
for i, event := range baseEvent {
7275
log.Printf("Event [%d] %v", i, event)
7376

74-
topic, message, err := handleEvent(event, m)
77+
topic, message, err := handleEvent(event, m, source)
7578
if err != nil {
7679
log.Printf("error handling event: %s", err.Error())
7780
continue
@@ -85,7 +88,7 @@ func makeRecv(controller *types.Controller, m *event.Manager) func(managedObject
8588
}
8689
}
8790

88-
func handleEvent(event vtypes.BaseEvent, m *event.Manager) (string, string, error) {
91+
func handleEvent(event vtypes.BaseEvent, m *event.Manager, source string) (string, string, error) {
8992
// Sanity check to avoid nil pointer exception
9093
if event == nil {
9194
return "", "", errors.New("event must not be nil")
@@ -114,6 +117,7 @@ func handleEvent(event vtypes.BaseEvent, m *event.Manager) (string, string, erro
114117
CreatedTime: createdTime,
115118
ObjectName: name,
116119
ManagedObjectReference: ref,
120+
Source: source,
117121
})
118122
if err != nil {
119123
return "", "", errors.Wrap(err, "error marshaling outboundevent")

0 commit comments

Comments
 (0)