Skip to content
Merged
Show file tree
Hide file tree
Changes from 110 commits
Commits
Show all changes
140 commits
Select commit Hold shift + click to select a range
1d520ea
chore: add rfc
alepane21 Jul 10, 2025
290aa5f
Add some more description
alepane21 Jul 10, 2025
da3f6a1
feat: improved RFC base on feedback received
alepane21 Jul 11, 2025
82fed9f
chore: clean a bit structures
alepane21 Jul 11, 2025
1252790
chore: small fixes
alepane21 Jul 11, 2025
0008025
chore: fix indentations
alepane21 Jul 11, 2025
26bb7db
chore: small fixes
alepane21 Jul 11, 2025
d909dc0
chore: improved english flow
alepane21 Jul 11, 2025
d032b67
chore: fix wrong logic in an example
alepane21 Jul 11, 2025
9c69cdc
chore: change StreamOnEventFilter meaning of the returned boolean
alepane21 Jul 11, 2025
80f7097
chore: small fixes to example
alepane21 Jul 11, 2025
7969ec9
chore: address feedback
alepane21 Jul 12, 2025
5312f14
chore: limit filter example to inbound events
alepane21 Jul 12, 2025
259b2a0
chore: separate inbound and outbound hooks, added some complete examples
alepane21 Jul 13, 2025
23f3e19
chore: add some comments
alepane21 Jul 13, 2025
4d76c66
chore: moved interfaces and types to an appendix
alepane21 Jul 13, 2025
e35ac47
chore: improve example checks
alepane21 Jul 13, 2025
df62784
chore: improve data structure to expose ProviderId/Type and Specific …
alepane21 Jul 13, 2025
ace1c5c
chore: removed logic in the examples
alepane21 Jul 13, 2025
e6fc78f
chore: add proposal about how we could integrate AsyncAPI
alepane21 Jul 13, 2025
95a3941
core: add usage of FieldName()
alepane21 Jul 13, 2025
5adb360
chore: remove second example
alepane21 Jul 13, 2025
bfe2651
chore: explicit that the second async schema can be used by outside s…
alepane21 Jul 13, 2025
368413e
chore: change sent to published to be more consistent
alepane21 Jul 13, 2025
9015adf
chore: add enums for provider types
alepane21 Jul 13, 2025
cc83382
chore: remove Data and SetData, they break immutability!
alepane21 Jul 13, 2025
b5f188c
chore: FieldName -> RootFieldName
alepane21 Jul 14, 2025
68e7874
chore: improve data mapping description
alepane21 Jul 14, 2025
127a08a
chore: explicit that WriteEvent is writing event only to the current …
alepane21 Jul 14, 2025
083bf70
chore: explicit the WriteEvent behaviour also in the example
alepane21 Jul 14, 2025
ef36c76
chore: add an outlook on the Appendix 2 about a possible evolution
alepane21 Jul 14, 2025
93e4b04
chore: fixes example code to avoid panic on request not authenticated
alepane21 Jul 14, 2025
1fdeec3
chore: add explicit reference to Filtering hook that could be used fo…
alepane21 Jul 14, 2025
d38018e
chore: added description on the event filtering about authorization
alepane21 Jul 14, 2025
1ae023e
Merge branch 'main' into ale/eng-7470-rfc-cosmo-streams-v1-authorizat…
alepane21 Jul 14, 2025
f58970f
chore: add StreamHookError to allow error response customization from…
alepane21 Jul 14, 2025
8ac629c
chore: add more details and an example with kafka
alepane21 Jul 14, 2025
434c61c
chore: add an example on how to use the metadata field
alepane21 Jul 14, 2025
35e8077
fix: ignore marshal error
alepane21 Jul 14, 2025
fa562c9
chore: add PublishEventConfiguration, ProviderType and specialized ev…
alepane21 Jul 15, 2025
7ececf0
chore: remove local file
alepane21 Jul 15, 2025
93db159
Merge branch 'main' into ale/eng-7599-introduce-base-structures-to-pu…
alepane21 Jul 15, 2025
1ec4816
chore: use ProviderID()
alepane21 Jul 15, 2025
b938232
chore: update demo to use no Event structure
alepane21 Jul 15, 2025
f69b4cd
fix: align event configuration format
alepane21 Jul 15, 2025
74f32fc
fix: update MarshalJSONTemplate for new internal event format
alepane21 Jul 15, 2025
1649ef5
chore: remove duplicated test
alepane21 Jul 15, 2025
b83e4ef
chore: improve naming
alepane21 Jul 15, 2025
9ed94fd
chore: make the ADR from the approved RFC
alepane21 Jul 16, 2025
e61ad7a
Merge branch 'main' into ale/eng-7470-rfc-cosmo-streams-v1-authorizat…
alepane21 Jul 16, 2025
62a0882
chore: add an example to adr
alepane21 Jul 16, 2025
7d8a782
Merge branch 'ale/eng-7470-rfc-cosmo-streams-v1-authorization-init-ma…
alepane21 Jul 16, 2025
b4838be
Merge branch 'main' into ale/eng-7599-introduce-base-structures-to-pu…
alepane21 Jul 16, 2025
0e60603
feat: add SubscriptionOnStartHandler
alepane21 Jul 17, 2025
9fc67d2
Merge branch 'main' into ale/eng-7600-add-subscriptiononstarthandler
alepane21 Jul 17, 2025
73c3fb2
feat: add WriteEvent to context
alepane21 Jul 17, 2025
8b3d17b
chore: add test, improve method signature
alepane21 Jul 18, 2025
1977d3a
Merge branch 'main' into ale/eng-7600-add-subscriptiononstarthandler
alepane21 Jul 18, 2025
17984ce
feat: pass down additional event data to pubsub system
alepane21 Jul 18, 2025
0992ef6
chore: add SubscriptionEventUpdater to mockery
alepane21 Jul 18, 2025
6622459
chore: improved structure, add support for start hook also on subgrap…
alepane21 Jul 18, 2025
19ca6fd
chore: update deps
alepane21 Jul 19, 2025
79f05e5
chore: go mod tidy
alepane21 Jul 19, 2025
4b9c8a7
fix: properly escapes values
alepane21 Jul 19, 2025
9257565
chore: align MarshalJSONTemplate and improve the kafka one
alepane21 Jul 21, 2025
d6c6ec6
chore: small fix to MarshalJSONTemplate format
alepane21 Jul 21, 2025
a8b7f7d
chore: use the new subscription hooks on the engine
alepane21 Jul 22, 2025
18bee17
chore: update engine version
alepane21 Jul 22, 2025
bda2ed6
chore: tidy mods of router-tests
alepane21 Jul 22, 2025
5873131
Merge branch 'main' into ale/eng-7600-add-subscriptiononstarthandler
alepane21 Jul 22, 2025
638c6f7
chore: hooks can close subscription and specify custom errors
alepane21 Jul 22, 2025
cf1c868
chore: WriteEvents now calls directly resolveCtx.EmitSubscriptionUpdate
alepane21 Jul 23, 2025
831222e
Merge remote-tracking branch 'origin/main' into ale/eng-7600-add-subs…
alepane21 Jul 23, 2025
89832b9
fix: minor typos on adr
alepane21 Jul 23, 2025
7b8239f
chore: aligned names in the engine with the ones here
alepane21 Jul 23, 2025
9c8609f
chore: use new engine hooks
alepane21 Jul 23, 2025
d6dd642
chore: update engine
alepane21 Jul 23, 2025
6ad6f59
chore: update engine
alepane21 Jul 23, 2025
c330e46
Merge branch 'main' into ale/eng-7600-add-subscriptiononstarthandler
alepane21 Jul 23, 2025
c4dd131
fix: make CustomModuleError panic-free
alepane21 Jul 23, 2025
2e737da
fix: make NewPubSubOnSubscriptionStartHook and NewEngineOnSubscriptio…
alepane21 Jul 23, 2025
6ea1ee1
chore: clarify SubscriptionOnStartHookContext interface
alepane21 Jul 23, 2025
057a01f
chore: small coherency fixes
alepane21 Jul 23, 2025
73292a7
chore: small fixes and made names more coherent
alepane21 Jul 24, 2025
45a71e0
chore: add comments
alepane21 Jul 24, 2025
c58e79a
chore: add headers on kafka publish
alepane21 Jul 24, 2025
7c4a508
chore: use new TryEmitSubscriptionUpdate, added Headers on nats
alepane21 Jul 24, 2025
87faf10
chore: headers were not managed when nats was using channels
alepane21 Jul 24, 2025
4d4e675
Merge branch 'main' into ale/eng-7600-add-subscriptiononstarthandler
alepane21 Jul 24, 2025
9f661f3
chore: update graphql-go-tools to v2.0.0-rc.213 and use new Subscript…
alepane21 Jul 29, 2025
cb6d326
Revert "chore: update graphql-go-tools to v2.0.0-rc.213 and use new S…
alepane21 Jul 29, 2025
bff8717
chore: update graphql-go-tools to v2.0.0-rc.213 and use new Subscript…
alepane21 Jul 29, 2025
21c6366
chore: improve adr
alepane21 Jul 29, 2025
057d0f0
Merge branch 'topic/streams-v1' into ale/eng-7600-add-subscriptionons…
alepane21 Jul 29, 2025
35aceb0
refactor: rename ProviderLifecycle to Lifecycle and replaced hookedda…
alepane21 Jul 30, 2025
85a1bdb
chore: add a description to PubSubSubscriptionDataSource
alepane21 Jul 30, 2025
27e2b84
chore: add PubSubSubscriptionDataSource tests
alepane21 Jul 30, 2025
ffbd209
chore: implement PR suggestions
alepane21 Jul 30, 2025
ed22545
chore: implement suggestion
alepane21 Jul 31, 2025
d014b3a
chore: fix test
alepane21 Jul 31, 2025
82b5521
chore: update go.mod
alepane21 Aug 4, 2025
6ab1463
chore: go mod tidy
alepane21 Aug 4, 2025
4d93bd1
chore: change SubscriptionOnStartHandler to return only the error and…
alepane21 Aug 4, 2025
e309be2
chore: add what changes should be made to cosmo streams hooks with mo…
alepane21 Aug 4, 2025
cfc7a57
chore: add failing test
alepane21 Aug 5, 2025
fca32f6
chore: update engine
alepane21 Aug 5, 2025
61e0ddc
chore: update router
alepane21 Aug 5, 2025
cd9e4e4
chore: update engine
alepane21 Aug 6, 2025
1c4a1a9
chore: update router
alepane21 Aug 6, 2025
ceac255
chore: rename CloseConnection to CloseSubscription
alepane21 Aug 8, 2025
511a172
chore: remove close option from subscription start hook
alepane21 Aug 19, 2025
e34b6fe
chore: use updated engine
alepane21 Aug 19, 2025
70ef951
chore: use update router
alepane21 Aug 19, 2025
fb6c1a4
chore: fix test for new behaviour when an error is returned
alepane21 Aug 19, 2025
103443b
chore: remove closeSubscription field from StreamHookError and update…
alepane21 Aug 20, 2025
384d027
chore: update to new engine
alepane21 Aug 20, 2025
8177f80
chore: update engine
alepane21 Aug 21, 2025
0614486
chore: update graphql-go-tools dependency to latest version
alepane21 Aug 21, 2025
f3c67c7
chore: update graphql-go-tools dependency to new release version
alepane21 Aug 21, 2025
4a8bcbd
chore: update router and graphql-go-tools dependencies to latest vers…
alepane21 Aug 21, 2025
aa67e6d
chore: make the SubscriptionOnStartHookContext more restricted
alepane21 Aug 22, 2025
5caae33
chore: fix compile issues
StarpTech Aug 23, 2025
0756819
chore: remove test module
alepane21 Aug 25, 2025
3ac47c4
chore: restore Authentication on SubscriptionOnStart context
alepane21 Aug 25, 2025
665269e
chore: update graphql-go-tools dependency to new release version
alepane21 Aug 25, 2025
806a9cf
chore: update graphql-go-tools dependency to latest release version
alepane21 Aug 25, 2025
31d35e9
chore: update graphql-go-tools dependency to new release version
alepane21 Aug 25, 2025
ba23381
chore: update router and graphql-go-tools dependencies to latest vers…
alepane21 Aug 25, 2025
4a4fdd0
chore: upgrade engine
alepane21 Sep 3, 2025
14b5007
chore: upgrade deps
alepane21 Sep 3, 2025
d046fcd
chore: tidy modules
alepane21 Sep 3, 2025
bd4263a
chore: updage engine
alepane21 Sep 3, 2025
02e79be
chore: update router and graphql-go-tools dependencies to latest vers…
alepane21 Sep 3, 2025
7f93003
chore: go mod tidy
alepane21 Sep 3, 2025
90dba99
chore: update graphql-go-tools dependency to latest version
alepane21 Sep 9, 2025
e0583e8
chore: update router and graphql-go-tools dependencies to latest vers…
alepane21 Sep 9, 2025
564837a
chore: go mod tidy
alepane21 Sep 15, 2025
2af75cb
chore: update ADR to reflect implementation of SubscriptionOnStart
alepane21 Sep 16, 2025
af3bb30
Merge branch 'topic/streams-v1' into ale/eng-7600-add-subscriptionons…
dkorittki Sep 30, 2025
57bb4d9
chore: go mod tidy
dkorittki Oct 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
403 changes: 403 additions & 0 deletions adr/cosmo-streams-v1.md

Large diffs are not rendered by default.

30 changes: 5 additions & 25 deletions demo/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ require (
github.com/rs/cors v1.11.0
github.com/vektah/gqlparser/v2 v2.5.30
github.com/wundergraph/cosmo/composition-go v0.0.0-20240124120900-5effe48a4a1d
github.com/wundergraph/cosmo/router v0.0.0-20250715110703-10f2e5f9c79e
github.com/wundergraph/cosmo/router-tests v0.0.0-20250603094938-922424d50778
github.com/wundergraph/cosmo/router v0.0.0-20250806075617-cd9e4e4994fd
github.com/wundergraph/cosmo/router-tests v0.0.0-20250718080012-21acbd83c77f
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1
go.opentelemetry.io/otel v1.28.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.23.1
Expand All @@ -24,13 +24,9 @@ require (

require (
connectrpc.com/connect v1.16.2 // indirect
dario.cat/mergo v1.0.0 // indirect
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 // indirect
github.com/KimMachineGun/automemlimit v0.6.1 // indirect
github.com/MicahParks/jwkset v0.9.0 // indirect
github.com/MicahParks/keyfunc/v3 v3.3.5 // indirect
github.com/Microsoft/go-winio v0.6.2 // indirect
github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 // indirect
github.com/agnivade/levenshtein v1.2.1 // indirect
github.com/andybalholm/brotli v1.1.0 // indirect
github.com/benbjohnson/clock v1.3.0 // indirect
Expand All @@ -44,16 +40,12 @@ require (
github.com/cilium/ebpf v0.16.0 // indirect
github.com/cloudflare/backoff v0.0.0-20240920015135-e46b80a3a7d0 // indirect
github.com/containerd/cgroups/v3 v3.0.2 // indirect
github.com/containerd/continuity v0.4.5 // indirect
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.7 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/dgraph-io/ristretto/v2 v2.1.0 // indirect
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
github.com/dlclark/regexp2 v1.11.0 // indirect
github.com/docker/cli v27.4.1+incompatible // indirect
github.com/docker/docker v27.1.1+incompatible // indirect
github.com/docker/go-connections v0.5.0 // indirect
github.com/docker/go-units v0.5.0 // indirect
github.com/dop251/goja v0.0.0-20230906160731-9410bcaa81d2 // indirect
github.com/dustin/go-humanize v1.0.1 // indirect
Expand All @@ -74,11 +66,9 @@ require (
github.com/goccy/go-json v0.10.3 // indirect
github.com/goccy/go-yaml v1.17.1 // indirect
github.com/godbus/dbus/v5 v5.1.0 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang-jwt/jwt/v5 v5.2.2 // indirect
github.com/golang/protobuf v1.5.4 // indirect
github.com/google/pprof v0.0.0-20230207041349-798e818bf904 // indirect
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0 // indirect
github.com/hashicorp/consul/sdk v0.16.1 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
Expand All @@ -103,18 +93,11 @@ require (
github.com/minio/md5-simd v1.1.2 // indirect
github.com/minio/minio-go/v7 v7.0.74 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/moby/docker-image-spec v1.3.1 // indirect
github.com/moby/sys/user v0.3.0 // indirect
github.com/moby/term v0.5.0 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/nats-io/nkeys v0.4.7 // indirect
github.com/nats-io/nuid v1.0.1 // indirect
github.com/oklog/run v1.0.0 // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect
github.com/opencontainers/image-spec v1.1.0 // indirect
github.com/opencontainers/runc v1.2.3 // indirect
github.com/opencontainers/runtime-spec v1.2.0 // indirect
github.com/ory/dockertest/v3 v3.12.0 // indirect
github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect
github.com/phf/go-queue v0.0.0-20170504031614-9abe38d0371d // indirect
github.com/pierrec/lz4/v4 v4.1.21 // indirect
Expand Down Expand Up @@ -151,10 +134,8 @@ require (
github.com/twmb/franz-go/pkg/kmsg v1.7.0 // indirect
github.com/urfave/cli/v2 v2.27.7 // indirect
github.com/wundergraph/astjson v0.0.0-20250106123708-be463c97e083 // indirect
github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.203 // indirect
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
github.com/xeipuuv/gojsonschema v1.2.0 // indirect
github.com/wundergraph/cosmo/demo/pkg/subgraphs/projects v0.0.0-20250715110703-10f2e5f9c79e // indirect
github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.213.0.20250806074950-2ed6134af313 // indirect
github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 // indirect
github.com/yosida95/uritemplate/v3 v3.0.2 // indirect
github.com/yusufpapurcu/wmi v1.2.4 // indirect
Expand Down Expand Up @@ -183,11 +164,10 @@ require (
golang.org/x/time v0.9.0 // indirect
golang.org/x/tools v0.34.0 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a // indirect
google.golang.org/grpc v1.68.1 // indirect
google.golang.org/protobuf v1.36.6 // indirect
gopkg.in/cenkalti/backoff.v1 v1.1.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
rogchap.com/v8go v0.9.0 // indirect
)
Expand Down
Loading
Loading