Skip to content

Commit 924a5a9

Browse files
intel352claude
andcommitted
deps: update eventbus v1.6.0 -> v2.0.0 (major version)
Migrate from CrisisTextLine/modular/modules/eventbus v1 to v2. v2 uses CloudEvents SDK types (cloudevents.Event) instead of custom Event struct with Payload field. Updated all import paths and adapted code to use ev.DataAs() / ev.Data() instead of ev.Payload. Also fix duplicate multiWorkflowAddr flag declaration in cmd/server. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 09b1894 commit 924a5a9

10 files changed

Lines changed: 42 additions & 47 deletions

cmd/server/main.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,7 @@ var (
8787
databaseDSN = flag.String("database-dsn", "", "PostgreSQL connection string for multi-workflow mode")
8888
jwtSecret = flag.String("jwt-secret", "", "JWT signing secret for API authentication")
8989
adminEmail = flag.String("admin-email", "", "Initial admin user email (first-run bootstrap)")
90-
adminPassword = flag.String("admin-password", "", "Initial admin user password (first-run bootstrap)")
91-
multiWorkflowAddr = flag.String("multi-workflow-addr", ":8081", "HTTP listen address (multi-workflow API)")
90+
adminPassword = flag.String("admin-password", "", "Initial admin user password (first-run bootstrap)")
9291

9392
// License flags
9493
licenseKey = flag.String("license-key", "", "License key for the workflow engine (or set WORKFLOW_LICENSE_KEY env var)")

e2e_execution_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import (
1414
"time"
1515

1616
"github.com/CrisisTextLine/modular"
17-
"github.com/CrisisTextLine/modular/modules/eventbus"
17+
"github.com/CrisisTextLine/modular/modules/eventbus/v2"
1818
"github.com/GoCodeAlone/workflow/config"
1919
"github.com/GoCodeAlone/workflow/dynamic"
2020
"github.com/GoCodeAlone/workflow/handlers"

go.mod

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ require (
77
github.com/CrisisTextLine/modular v1.11.11
88
github.com/CrisisTextLine/modular/modules/auth v0.4.0
99
github.com/CrisisTextLine/modular/modules/cache v0.4.0
10-
github.com/CrisisTextLine/modular/modules/eventbus v1.6.0
10+
github.com/CrisisTextLine/modular/modules/eventbus/v2 v2.0.0
1111
github.com/CrisisTextLine/modular/modules/reverseproxy/v2 v2.2.0
1212
github.com/CrisisTextLine/modular/modules/scheduler v0.4.0
1313
github.com/GoCodeAlone/go-plugin v0.0.0-20260220090904-b4c35f0e4271
@@ -38,7 +38,7 @@ require (
3838
github.com/jackc/pgx/v5 v5.7.5
3939
github.com/launchdarkly/go-sdk-common/v3 v3.5.0
4040
github.com/launchdarkly/go-server-sdk/v7 v7.14.5
41-
github.com/nats-io/nats.go v1.46.1
41+
github.com/nats-io/nats.go v1.48.0
4242
github.com/prometheus/client_golang v1.19.1
4343
github.com/redis/go-redis/v9 v9.18.0
4444
github.com/stripe/stripe-go/v82 v82.5.1
@@ -143,7 +143,7 @@ require (
143143
github.com/jcmturner/rpc/v2 v2.0.3 // indirect
144144
github.com/josharian/intern v1.0.0 // indirect
145145
github.com/json-iterator/go v1.1.12 // indirect
146-
github.com/klauspost/compress v1.18.1 // indirect
146+
github.com/klauspost/compress v1.18.3 // indirect
147147
github.com/launchdarkly/ccache v1.1.0 // indirect
148148
github.com/launchdarkly/eventsource v1.10.0 // indirect
149149
github.com/launchdarkly/go-jsonstream/v3 v3.1.0 // indirect
@@ -162,7 +162,7 @@ require (
162162
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
163163
github.com/modern-go/reflect2 v1.0.2 // indirect
164164
github.com/morikuni/aec v1.1.0 // indirect
165-
github.com/nats-io/nkeys v0.4.11 // indirect
165+
github.com/nats-io/nkeys v0.4.12 // indirect
166166
github.com/nats-io/nuid v1.0.1 // indirect
167167
github.com/ncruces/go-strftime v1.0.0 // indirect
168168
github.com/oklog/run v1.2.0 // indirect

go.sum

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,10 @@ github.com/CrisisTextLine/modular/modules/auth v0.4.0 h1:sP7CYgdJPz88M1PrfOz2knw
3030
github.com/CrisisTextLine/modular/modules/auth v0.4.0/go.mod h1:0DnUawpxdFCka4BjMhmXubQIjkF4VRwRdN6c64Jbvvo=
3131
github.com/CrisisTextLine/modular/modules/cache v0.4.0 h1:vlPXAsucSM1M0RsPly9cWyODouMLQMUwhW/wltQZHZk=
3232
github.com/CrisisTextLine/modular/modules/cache v0.4.0/go.mod h1:4irZOGXxUlgJqAnWlpMyPC3C1tM/f5145/wMThYnAsY=
33-
github.com/CrisisTextLine/modular/modules/eventbus v1.6.0 h1:40H5/mrhPw3Jzi9wntg2//7YVAC4gIgCZJX7sBhXDmU=
34-
github.com/CrisisTextLine/modular/modules/eventbus v1.6.0/go.mod h1:I1tGf3DmadwyMP2NE2m6XHYl9ebXB9wBc/KZLywTR4c=
33+
github.com/CrisisTextLine/modular/modules/eventbus v1.7.0 h1:SSeu7rjuECDgFa+iNyndn94YPQxffHxJgfR7U4psz6E=
34+
github.com/CrisisTextLine/modular/modules/eventbus v1.7.0/go.mod h1:I1tGf3DmadwyMP2NE2m6XHYl9ebXB9wBc/KZLywTR4c=
35+
github.com/CrisisTextLine/modular/modules/eventbus/v2 v2.0.0 h1:bDNWBparvVzXnhLxjFPJ9MDg7N4NUnNOjfn56G/CwGU=
36+
github.com/CrisisTextLine/modular/modules/eventbus/v2 v2.0.0/go.mod h1:5DmacIYrhhiN18i2OHyAVBiNKbN2jHuEv2UJoRToMg0=
3537
github.com/CrisisTextLine/modular/modules/reverseproxy/v2 v2.2.0 h1:SUJEPA61IbjdUwKdSembQTbX9rKz5v4vmyr/cbvb4tY=
3638
github.com/CrisisTextLine/modular/modules/reverseproxy/v2 v2.2.0/go.mod h1:/jVQz+0c/OSm0KcLElNAQueI5BoLd48l1KHV4Np+RO8=
3739
github.com/CrisisTextLine/modular/modules/scheduler v0.4.0 h1:PDYAD+hL7E6mM7YJey9ag1dnTTcJwsepoylxfZY8trw=
@@ -57,6 +59,8 @@ github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERo
5759
github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
5860
github.com/alicebob/miniredis/v2 v2.36.1 h1:Dvc5oAnNOr7BIfPn7tF269U8DvRW1dBG2D5n0WrfYMI=
5961
github.com/alicebob/miniredis/v2 v2.36.1/go.mod h1:TcL7YfarKPGDAthEtl5NBeHZfeUQj6OXMm/+iu5cLMM=
62+
github.com/antithesishq/antithesis-sdk-go v0.5.0-default-no-op h1:Ucf+QxEKMbPogRO5guBNe5cgd9uZgfoJLOYs8WWhtjM=
63+
github.com/antithesishq/antithesis-sdk-go v0.5.0-default-no-op/go.mod h1:IUpT2DPAKh6i/YhSbt6Gl3v2yvUZjmKncl7U91fup7E=
6064
github.com/aws/aws-sdk-go-v2 v1.41.1 h1:ABlyEARCDLN034NhxlRUSZr4l71mh+T5KAeGh6cerhU=
6165
github.com/aws/aws-sdk-go-v2 v1.41.1/go.mod h1:MayyLB8y+buD9hZqkCW3kX1AKq07Y5pXxtgB+rRFhz0=
6266
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.4 h1:489krEF9xIGkOaaX3CE/Be2uWjiXrkCH6gUX+bZA/BU=
@@ -215,6 +219,8 @@ github.com/golobby/cast v1.3.3 h1:s2Lawb9RMz7YyYf8IrfMQY4IFmA1R/lgfmj97Vc6fig=
215219
github.com/golobby/cast v1.3.3/go.mod h1:0oDO5IT84HTXcbLDf1YXuk0xtg/cRDrxhbpWKxwtJCY=
216220
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
217221
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
222+
github.com/google/go-tpm v0.9.8 h1:slArAR9Ft+1ybZu0lBwpSmpwhRXaa85hWtMinMyRAWo=
223+
github.com/google/go-tpm v0.9.8/go.mod h1:h9jEsEECg7gtLis0upRBQU+GhYVH6jMjrFxI8u6bVUY=
218224
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
219225
github.com/google/jsonschema-go v0.4.2 h1:tmrUohrwoLZZS/P3x7ex0WAVknEkBZM46iALbcqoRA8=
220226
github.com/google/jsonschema-go v0.4.2/go.mod h1:r5quNTdLOYEz95Ru18zA0ydNbBuYoo9tgaYcxEYhJVE=
@@ -304,8 +310,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr
304310
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
305311
github.com/karlseguin/expect v1.0.2-0.20190806010014-778a5f0c6003 h1:vJ0Snvo+SLMY72r5J4sEfkuE7AFbixEP2qRbEcum/wA=
306312
github.com/karlseguin/expect v1.0.2-0.20190806010014-778a5f0c6003/go.mod h1:zNBxMY8P21owkeogJELCLeHIt+voOSduHYTFUbwRAV8=
307-
github.com/klauspost/compress v1.18.1 h1:bcSGx7UbpBqMChDtsF28Lw6v/G94LPrrbMbdC3JH2co=
308-
github.com/klauspost/compress v1.18.1/go.mod h1:ZQFFVG+MdnR0P+l6wpXgIL4NTtwiKIdBnrBd8Nrxr+0=
313+
github.com/klauspost/compress v1.18.3 h1:9PJRvfbmTabkOX8moIpXPbMMbYN60bWImDDU7L+/6zw=
314+
github.com/klauspost/compress v1.18.3/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4=
309315
github.com/klauspost/cpuid/v2 v2.0.9 h1:lgaqFMSdTdQYdZ04uHyN2d/eKdOMyi2YLSvlQIBFYa4=
310316
github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
311317
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
@@ -343,6 +349,8 @@ github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Ky
343349
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
344350
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
345351
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
352+
github.com/minio/highwayhash v1.0.4-0.20251030100505-070ab1a87a76 h1:KGuD/pM2JpL9FAYvBrnBBeENKZNh6eNtjqytV6TYjnk=
353+
github.com/minio/highwayhash v1.0.4-0.20251030100505-070ab1a87a76/go.mod h1:GGYsuwP/fPD6Y9hMiXuapVvlIUEhFhMTh0rxU3ik1LQ=
346354
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
347355
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
348356
github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU=
@@ -364,10 +372,14 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G
364372
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
365373
github.com/morikuni/aec v1.1.0 h1:vBBl0pUnvi/Je71dsRrhMBtreIqNMYErSAbEeb8jrXQ=
366374
github.com/morikuni/aec v1.1.0/go.mod h1:xDRgiq/iw5l+zkao76YTKzKttOp2cwPEne25HDkJnBw=
367-
github.com/nats-io/nats.go v1.46.1 h1:bqQ2ZcxVd2lpYI97xYASeRTY3I5boe/IVmuUDPitHfo=
368-
github.com/nats-io/nats.go v1.46.1/go.mod h1:iRWIPokVIFbVijxuMQq4y9ttaBTMe0SFdlZfMDd+33g=
369-
github.com/nats-io/nkeys v0.4.11 h1:q44qGV008kYd9W1b1nEBkNzvnWxtRSQ7A8BoqRrcfa0=
370-
github.com/nats-io/nkeys v0.4.11/go.mod h1:szDimtgmfOi9n25JpfIdGw12tZFYXqhGxjhVxsatHVE=
375+
github.com/nats-io/jwt/v2 v2.8.0 h1:K7uzyz50+yGZDO5o772eRE7atlcSEENpL7P+b74JV1g=
376+
github.com/nats-io/jwt/v2 v2.8.0/go.mod h1:me11pOkwObtcBNR8AiMrUbtVOUGkqYjMQZ6jnSdVUIA=
377+
github.com/nats-io/nats-server/v2 v2.12.4 h1:ZnT10v2LU2Xcoiy8ek9X6Se4YG8EuMfIfvAEuFVx1Ts=
378+
github.com/nats-io/nats-server/v2 v2.12.4/go.mod h1:5MCp/pqm5SEfsvVZ31ll1088ZTwEUdvRX1Hmh/mTTDg=
379+
github.com/nats-io/nats.go v1.48.0 h1:pSFyXApG+yWU/TgbKCjmm5K4wrHu86231/w84qRVR+U=
380+
github.com/nats-io/nats.go v1.48.0/go.mod h1:iRWIPokVIFbVijxuMQq4y9ttaBTMe0SFdlZfMDd+33g=
381+
github.com/nats-io/nkeys v0.4.12 h1:nssm7JKOG9/x4J8II47VWCL1Ds29avyiQDRn0ckMvDc=
382+
github.com/nats-io/nkeys v0.4.12/go.mod h1:MT59A1HYcjIcyQDJStTfaOY6vhy9XTUjOFo+SVsvpBg=
371383
github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw=
372384
github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
373385
github.com/ncruces/go-strftime v1.0.0 h1:HMFp8mLCTPp341M/ZnA4qaf7ZlsbTc+miZjCLOFAw7w=

module/eventbus_bridge.go

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
"sync"
88

99
"github.com/CrisisTextLine/modular"
10-
"github.com/CrisisTextLine/modular/modules/eventbus"
10+
"github.com/CrisisTextLine/modular/modules/eventbus/v2"
1111
)
1212

1313
// EventBusBridgeName is the default service name for the EventBus bridge adapter.
@@ -107,11 +107,7 @@ func (b *EventBusBridge) Subscribe(topic string, handler MessageHandler) error {
107107
}
108108

109109
eventHandler := func(_ context.Context, event eventbus.Event) error {
110-
jsonBytes, err := json.Marshal(event.Payload)
111-
if err != nil {
112-
return fmt.Errorf("marshalling event payload: %w", err)
113-
}
114-
return handler.HandleMessage(jsonBytes)
110+
return handler.HandleMessage(event.Data())
115111
}
116112

117113
sub, err := b.eventBus.Subscribe(context.Background(), topic, eventHandler)

module/eventbus_bridge_test.go

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
"time"
1010

1111
"github.com/CrisisTextLine/modular"
12-
"github.com/CrisisTextLine/modular/modules/eventbus"
12+
"github.com/CrisisTextLine/modular/modules/eventbus/v2"
1313
)
1414

1515
// setupEventBusForBridge creates a working EventBusModule backed by the in-memory engine.
@@ -193,13 +193,13 @@ func TestEventBusBridge_SendMessageThenReceiveViaEventBus(t *testing.T) {
193193

194194
select {
195195
case evt := <-received:
196-
if evt.Topic != "test.send" {
197-
t.Fatalf("expected topic %q, got %q", "test.send", evt.Topic)
196+
if evt.Type() != "test.send" {
197+
t.Fatalf("expected topic %q, got %q", "test.send", evt.Type())
198198
}
199199
// The payload went through JSON unmarshal in SendMessage then was published.
200-
payloadMap, ok := evt.Payload.(map[string]any)
201-
if !ok {
202-
t.Fatalf("expected map payload, got %T", evt.Payload)
200+
var payloadMap map[string]any
201+
if err := evt.DataAs(&payloadMap); err != nil {
202+
t.Fatalf("expected map payload, got error: %v", err)
203203
}
204204
if payloadMap["hello"] != "world" {
205205
t.Fatalf("expected hello=world, got %v", payloadMap["hello"])
@@ -309,10 +309,7 @@ func TestEventBusBridge_SendInvalidJSON(t *testing.T) {
309309
select {
310310
case evt := <-received:
311311
// Payload should be the raw bytes since JSON unmarshal failed.
312-
b, ok := evt.Payload.([]byte)
313-
if !ok {
314-
t.Fatalf("expected []byte payload for invalid JSON, got %T", evt.Payload)
315-
}
312+
b := evt.Data()
316313
if string(b) != "this is not json" {
317314
t.Fatalf("expected raw message, got %q", string(b))
318315
}

module/eventbus_trigger.go

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,11 @@ package module
22

33
import (
44
"context"
5-
"encoding/json"
65
"fmt"
76
"maps"
87

98
"github.com/CrisisTextLine/modular"
10-
"github.com/CrisisTextLine/modular/modules/eventbus"
9+
"github.com/CrisisTextLine/modular/modules/eventbus/v2"
1110
)
1211

1312
const (
@@ -185,17 +184,9 @@ func (t *EventBusTrigger) SetEventBusAndEngine(eb *eventbus.EventBusModule, engi
185184
func (t *EventBusTrigger) createHandler(sub EventBusTriggerSubscription) eventbus.EventHandler {
186185
return func(ctx context.Context, ev eventbus.Event) error {
187186
// Extract payload as map[string]interface{}.
188-
data, ok := ev.Payload.(map[string]any)
189-
if !ok {
190-
// JSON round-trip for non-map payloads.
191-
raw, err := json.Marshal(ev.Payload)
192-
if err != nil {
193-
return fmt.Errorf("failed to marshal event payload: %w", err)
194-
}
195-
data = make(map[string]any)
196-
if err := json.Unmarshal(raw, &data); err != nil {
197-
return fmt.Errorf("failed to unmarshal event payload: %w", err)
198-
}
187+
data := make(map[string]any)
188+
if err := ev.DataAs(&data); err != nil {
189+
return fmt.Errorf("failed to unmarshal event payload: %w", err)
199190
}
200191

201192
// Event type filtering.

module/pipeline_step_publish.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
"log/slog"
88

99
"github.com/CrisisTextLine/modular"
10-
"github.com/CrisisTextLine/modular/modules/eventbus"
10+
"github.com/CrisisTextLine/modular/modules/eventbus/v2"
1111
)
1212

1313
// PublishStep publishes data to an EventBus topic or a MessageBroker.

module/workflow_events.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import (
55
"time"
66

77
"github.com/CrisisTextLine/modular"
8-
"github.com/CrisisTextLine/modular/modules/eventbus"
8+
"github.com/CrisisTextLine/modular/modules/eventbus/v2"
99
)
1010

1111
// Lifecycle constants for workflow and step events.

module/workflow_events_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
"time"
1010

1111
"github.com/CrisisTextLine/modular"
12-
"github.com/CrisisTextLine/modular/modules/eventbus"
12+
"github.com/CrisisTextLine/modular/modules/eventbus/v2"
1313
)
1414

1515
// --- helpers -----------------------------------------------------------------

0 commit comments

Comments
 (0)