Skip to content
Closed
Show file tree
Hide file tree
Changes from 56 commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
d1ae694
chore: initial and incomplete refactor
alepane21 Mar 3, 2025
bca3e2b
feat(pubsub): refactor pubsub handling and add Kafka/NATS support
alepane21 Mar 18, 2025
d72f8c8
Merge branch 'refs/heads/main' into ale/eng-6482-edfs-refactor-kafka-…
alepane21 Mar 18, 2025
5df3613
feat(plan-generator): add logger to router initialization
alepane21 Mar 18, 2025
efaa122
refactor(pubsub): nats is now working
alepane21 Mar 20, 2025
23eb5bb
test(kafka): fix mutation kafka test
alepane21 Mar 21, 2025
b0660d9
chore: initial refactor to reduce code needed to start new provider
alepane21 Mar 22, 2025
163aa5b
refactor(pubsub): implement lazy connection handling for NATS and Kaf…
alepane21 Mar 24, 2025
1ccf0c7
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 Mar 24, 2025
9dd59b2
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 Mar 24, 2025
33603e8
refactor(pubsub): remove unused variables and comments in datasource …
alepane21 Mar 24, 2025
ebab2e3
Merge remote-tracking branch 'origin/main' into ale/eng-6482-edfs-ref…
alepane21 Apr 4, 2025
a473fdd
make it works with different providers in the same datasource
alepane21 Apr 7, 2025
fa7e378
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 Apr 7, 2025
e6645c8
chore: cleaning up a little, reintroduced host and listener vars
alepane21 Apr 8, 2025
5e900cb
feat: introduce InstanceData struct for improved configuration manage…
alepane21 Apr 8, 2025
3b9ac24
chore: improved naming, simplify code
alepane21 Apr 8, 2025
51f1343
chore: remove unused pub/sub configuration code
alepane21 Apr 8, 2025
60c9b4b
chore: remove unused field
alepane21 Apr 8, 2025
4017c9f
chore: remove registry
alepane21 Apr 8, 2025
cbd58e0
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 Apr 8, 2025
e76ceb3
fix: improve error message in Kafka provider
alepane21 Apr 9, 2025
47e83bd
chore: remove commented error handling code in Planner.ConfigureFetch
alepane21 Apr 9, 2025
546be70
chore: add adapter interfaces and tests
alepane21 Apr 9, 2025
3a023e2
chore: add github.com/stretchr/objx v0.5.2 dependency
alepane21 Apr 9, 2025
2a96355
chore: remove unused bytesBuffer helper from Kafka pubsub tests
alepane21 Apr 9, 2025
04e425e
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 Apr 9, 2025
fe2f388
chore: add tests
alepane21 Apr 10, 2025
d4ed48a
chore: cleaned a bit the implementation, add a README to make it easi…
alepane21 Apr 11, 2025
592cbb6
feat: implement PubSub provider startup and shutdown on graphServer
alepane21 Apr 11, 2025
c2bb1cb
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 Apr 11, 2025
bb77254
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 Apr 14, 2025
8295c26
refactor: update Kafka and NATS adapters to use direct client connect…
alepane21 Apr 14, 2025
0a6e8a0
refactor: enhance NATS adapter with flush timeout and update test exp…
alepane21 Apr 14, 2025
3aeba04
test: log unexpected errors during WebSocket message read in tests
alepane21 Apr 14, 2025
5096734
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 Apr 14, 2025
f5e8e90
feat: add custom JSON unmarshalling for WebSocketMessage to improve e…
alepane21 Apr 14, 2025
ad96e3d
refactor: replace custom JSON unmarshalling in WebSocketMessage with …
alepane21 Apr 15, 2025
85adb37
fix: adapter base interface
alepane21 Apr 16, 2025
c571d9a
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 Apr 16, 2025
1bb2dfd
docs: update README for PubSub Provider usage section
alepane21 Apr 16, 2025
389d330
Merge remote-tracking branch 'origin/main' into ale/eng-6482-edfs-ref…
alepane21 Apr 18, 2025
a1e3cb8
Merge remote-tracking branch 'origin/main' into ale/eng-6482-edfs-ref…
alepane21 Apr 18, 2025
bb4e0a1
Merge remote-tracking branch 'origin/main' into ale/eng-6482-edfs-ref…
alepane21 Apr 23, 2025
43977a0
refactor: remove unused EnginePubSubProviders struct and related impo…
alepane21 Apr 23, 2025
13f8d33
refactor: update MoodHandler and NewSchema to include GetPubSubName p…
alepane21 Apr 23, 2025
5f95739
refactor: enhance NATS publishing logic in UpdateMood resolver to han…
alepane21 Apr 23, 2025
5886403
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 May 7, 2025
01e12bc
chore: pass up providers instead of passing down a callback, small fixes
alepane21 May 7, 2025
b5c7357
fix: rename NatParams to NatsParams for consistency in pubsub.go
alepane21 May 7, 2025
8eb72eb
refactor: replace datasource package with pubsubtest for common PubSu…
alepane21 May 7, 2025
3148ce3
docs: enhance PubSubDataSource interface documentation with detailed …
alepane21 May 7, 2025
02c0a45
fix: improve pubsub provider startup and shutdown processes with time…
alepane21 May 7, 2025
711c37d
feat: add tests for Kafka and NATS startup/shutdown behavior with inc…
alepane21 May 8, 2025
25e15aa
refactor: extract JSON reading and checking logic into a reusable fun…
alepane21 May 8, 2025
1874521
refactor: move ReadAndCheckJSON function to improve code organization…
alepane21 May 8, 2025
8b7fbb1
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 May 8, 2025
92b91d7
refactor: remove outdated comment regarding Kafka client connection b…
alepane21 May 9, 2025
802659a
refactor: rename datasource import to pubsub_datasource for clarity i…
alepane21 May 9, 2025
86fada3
fix: instanceData not set in the structure
alepane21 May 9, 2025
ee87b59
refactor: streamline pubsub provider startup and shutdown with unifie…
alepane21 May 9, 2025
afe6ac6
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 May 9, 2025
39517e8
fix: replace timeout error formatting with errors.New for consistency…
alepane21 May 9, 2025
914f21c
refactor: update ExecutorConfigurationBuilder and Loader to return Pu…
alepane21 May 9, 2025
ddb437d
refactor: update BuildEventDataBytes to use operation from ast.Docume…
alepane21 May 9, 2025
abdfcfd
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
devsergiy May 13, 2025
da50cc7
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 May 15, 2025
2f9c870
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 May 27, 2025
562b96d
Merge remote-tracking branch 'origin/main' into ale/eng-6482-edfs-ref…
alepane21 May 28, 2025
49db63a
refactor: update datasource import to use pubsub_datasource in factor…
alepane21 May 28, 2025
ce969a2
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 May 29, 2025
dc206b5
Merge remote-tracking branch 'origin/main' into ale/eng-6482-edfs-ref…
alepane21 Jun 6, 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
7 changes: 5 additions & 2 deletions demo/cmd/mood/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@ package main
import (
"context"
"fmt"
"github.com/wundergraph/cosmo/demo/pkg/subgraphs/mood"
"log"
"net/http"
"os"

"github.com/wundergraph/cosmo/demo/pkg/subgraphs/mood"

"github.com/99designs/gqlgen/graphql"
"github.com/99designs/gqlgen/graphql/handler/debug"
"github.com/99designs/gqlgen/graphql/playground"
Expand All @@ -31,7 +32,9 @@ func main() {
port = defaultPort
}

srv := subgraphs.NewDemoServer(mood.NewSchema(nil))
srv := subgraphs.NewDemoServer(mood.NewSchema(nil, func(name string) string {
return name
}))

srv.Use(&debug.Tracer{})
srv.Use(otelgqlgen.Middleware(otelgqlgen.WithCreateSpanFromFields(func(ctx *graphql.FieldContext) bool {
Expand Down
4 changes: 2 additions & 2 deletions demo/pkg/subgraphs/availability/availability.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ package availability

import (
"github.com/99designs/gqlgen/graphql"
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"

"github.com/wundergraph/cosmo/demo/pkg/subgraphs/availability/subgraph"
"github.com/wundergraph/cosmo/demo/pkg/subgraphs/availability/subgraph/generated"
)

func NewSchema(pubSubBySourceName map[string]pubsub_datasource.NatsPubSub, pubSubName func(string) string) graphql.ExecutableSchema {
func NewSchema(pubSubBySourceName map[string]nats.AdapterInterface, pubSubName func(string) string) graphql.ExecutableSchema {
return generated.NewExecutableSchema(generated.Config{Resolvers: &subgraph.Resolver{
NatsPubSubByProviderID: pubSubBySourceName,
GetPubSubName: pubSubName,
Expand Down
4 changes: 2 additions & 2 deletions demo/pkg/subgraphs/availability/subgraph/resolver.go
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package subgraph

import (
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"
)

// This file will not be regenerated automatically.
//
// It serves as dependency injection for your app, add any dependencies you require here.

type Resolver struct {
NatsPubSubByProviderID map[string]pubsub_datasource.NatsPubSub
NatsPubSubByProviderID map[string]nats.AdapterInterface
GetPubSubName func(string) string
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions demo/pkg/subgraphs/countries/countries.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ package countries

import (
"github.com/99designs/gqlgen/graphql"
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"

"github.com/wundergraph/cosmo/demo/pkg/subgraphs/countries/subgraph"
"github.com/wundergraph/cosmo/demo/pkg/subgraphs/countries/subgraph/generated"
)

func NewSchema(pubSubBySourceName map[string]pubsub_datasource.NatsPubSub) graphql.ExecutableSchema {
func NewSchema(pubSubBySourceName map[string]nats.AdapterInterface) graphql.ExecutableSchema {
return generated.NewExecutableSchema(generated.Config{Resolvers: &subgraph.Resolver{
NatsPubSubByProviderID: pubSubBySourceName,
}})
Expand Down
5 changes: 3 additions & 2 deletions demo/pkg/subgraphs/countries/subgraph/resolver.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
package subgraph

import (
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"sync"

"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"
)

// This file will not be regenerated automatically.
Expand All @@ -11,5 +12,5 @@ import (

type Resolver struct {
mux sync.Mutex
NatsPubSubByProviderID map[string]pubsub_datasource.NatsPubSub
NatsPubSubByProviderID map[string]nats.AdapterInterface
}
5 changes: 2 additions & 3 deletions demo/pkg/subgraphs/employees/employees.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,12 @@ package employees

import (
"github.com/99designs/gqlgen/graphql"
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"

"github.com/wundergraph/cosmo/demo/pkg/subgraphs/employees/subgraph"
"github.com/wundergraph/cosmo/demo/pkg/subgraphs/employees/subgraph/generated"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"
)

func NewSchema(natsPubSubByProviderID map[string]pubsub_datasource.NatsPubSub) graphql.ExecutableSchema {
func NewSchema(natsPubSubByProviderID map[string]nats.AdapterInterface) graphql.ExecutableSchema {
return generated.NewExecutableSchema(generated.Config{Resolvers: &subgraph.Resolver{
NatsPubSubByProviderID: natsPubSubByProviderID,
EmployeesData: subgraph.Employees,
Expand Down
4 changes: 2 additions & 2 deletions demo/pkg/subgraphs/employees/subgraph/resolver.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import (
"sync"

"github.com/wundergraph/cosmo/demo/pkg/subgraphs/employees/subgraph/model"
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"
)

// This file will not be regenerated automatically.
Expand All @@ -15,7 +15,7 @@ import (

type Resolver struct {
mux sync.Mutex
NatsPubSubByProviderID map[string]pubsub_datasource.NatsPubSub
NatsPubSubByProviderID map[string]nats.AdapterInterface
EmployeesData []*model.Employee
}

Expand Down
4 changes: 2 additions & 2 deletions demo/pkg/subgraphs/family/family.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ package family

import (
"github.com/99designs/gqlgen/graphql"
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"

"github.com/wundergraph/cosmo/demo/pkg/subgraphs/family/subgraph"
"github.com/wundergraph/cosmo/demo/pkg/subgraphs/family/subgraph/generated"
)

func NewSchema(natsPubSubByProviderID map[string]pubsub_datasource.NatsPubSub) graphql.ExecutableSchema {
func NewSchema(natsPubSubByProviderID map[string]nats.AdapterInterface) graphql.ExecutableSchema {
return generated.NewExecutableSchema(generated.Config{Resolvers: &subgraph.Resolver{
NatsPubSubByProviderID: natsPubSubByProviderID,
}})
Expand Down
4 changes: 2 additions & 2 deletions demo/pkg/subgraphs/family/subgraph/resolver.go
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package subgraph

import (
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"
)

// This file will not be regenerated automatically.
//
// It serves as dependency injection for your app, add any dependencies you require here.

type Resolver struct {
NatsPubSubByProviderID map[string]pubsub_datasource.NatsPubSub
NatsPubSubByProviderID map[string]nats.AdapterInterface
}
4 changes: 2 additions & 2 deletions demo/pkg/subgraphs/hobbies/hobbies.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ package hobbies

import (
"github.com/99designs/gqlgen/graphql"
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"

"github.com/wundergraph/cosmo/demo/pkg/subgraphs/hobbies/subgraph"
"github.com/wundergraph/cosmo/demo/pkg/subgraphs/hobbies/subgraph/generated"
)

func NewSchema(natsPubSubByProviderID map[string]pubsub_datasource.NatsPubSub) graphql.ExecutableSchema {
func NewSchema(natsPubSubByProviderID map[string]nats.AdapterInterface) graphql.ExecutableSchema {
return generated.NewExecutableSchema(generated.Config{Resolvers: &subgraph.Resolver{
NatsPubSubByProviderID: natsPubSubByProviderID,
}})
Expand Down
4 changes: 2 additions & 2 deletions demo/pkg/subgraphs/hobbies/subgraph/resolver.go
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
package subgraph

import (
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"reflect"

"github.com/wundergraph/cosmo/demo/pkg/subgraphs/hobbies/subgraph/model"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"
)

// This file will not be regenerated automatically.
//
// It serves as dependency injection for your app, add any dependencies you require here.

type Resolver struct {
NatsPubSubByProviderID map[string]pubsub_datasource.NatsPubSub
NatsPubSubByProviderID map[string]nats.AdapterInterface
}

func (r *Resolver) Employees(hobby model.Hobby) ([]*model.Employee, error) {
Expand Down
5 changes: 3 additions & 2 deletions demo/pkg/subgraphs/mood/mood.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,15 @@ package mood

import (
"github.com/99designs/gqlgen/graphql"
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"

"github.com/wundergraph/cosmo/demo/pkg/subgraphs/mood/subgraph"
"github.com/wundergraph/cosmo/demo/pkg/subgraphs/mood/subgraph/generated"
)

func NewSchema(natsPubSubByProviderID map[string]pubsub_datasource.NatsPubSub) graphql.ExecutableSchema {
func NewSchema(natsPubSubByProviderID map[string]nats.AdapterInterface, getPubSubName func(string) string) graphql.ExecutableSchema {
return generated.NewExecutableSchema(generated.Config{Resolvers: &subgraph.Resolver{
NatsPubSubByProviderID: natsPubSubByProviderID,
GetPubSubName: getPubSubName,
}})
}
4 changes: 2 additions & 2 deletions demo/pkg/subgraphs/mood/subgraph/resolver.go
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package subgraph

import (
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"
)

// This file will not be regenerated automatically.
//
// It serves as dependency injection for your app, add any dependencies you require here.

type Resolver struct {
NatsPubSubByProviderID map[string]pubsub_datasource.NatsPubSub
NatsPubSubByProviderID map[string]nats.AdapterInterface
GetPubSubName func(string) string
}
28 changes: 28 additions & 0 deletions demo/pkg/subgraphs/mood/subgraph/schema.resolvers.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions demo/pkg/subgraphs/products/products.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ package products

import (
"github.com/99designs/gqlgen/graphql"
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"

"github.com/wundergraph/cosmo/demo/pkg/subgraphs/products/subgraph"
"github.com/wundergraph/cosmo/demo/pkg/subgraphs/products/subgraph/generated"
)

func NewSchema(natsPubSubByProviderID map[string]pubsub_datasource.NatsPubSub) graphql.ExecutableSchema {
func NewSchema(natsPubSubByProviderID map[string]nats.AdapterInterface) graphql.ExecutableSchema {
return generated.NewExecutableSchema(generated.Config{Resolvers: &subgraph.Resolver{
NatsPubSubByProviderID: natsPubSubByProviderID,
TopSecretFederationFactsData: subgraph.TopSecretFederationFacts,
Expand Down
7 changes: 4 additions & 3 deletions demo/pkg/subgraphs/products/subgraph/resolver.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package subgraph

import (
"github.com/wundergraph/cosmo/demo/pkg/subgraphs/products/subgraph/model"
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"sync"

"github.com/wundergraph/cosmo/demo/pkg/subgraphs/products/subgraph/model"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"
)

// This file will not be regenerated automatically.
Expand All @@ -12,6 +13,6 @@ import (

type Resolver struct {
mux sync.Mutex
NatsPubSubByProviderID map[string]pubsub_datasource.NatsPubSub
NatsPubSubByProviderID map[string]nats.AdapterInterface
TopSecretFederationFactsData []model.TopSecretFact
}
4 changes: 2 additions & 2 deletions demo/pkg/subgraphs/products_fg/products.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ package products_fg

import (
"github.com/99designs/gqlgen/graphql"
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"

"github.com/wundergraph/cosmo/demo/pkg/subgraphs/products_fg/subgraph"
"github.com/wundergraph/cosmo/demo/pkg/subgraphs/products_fg/subgraph/generated"
)

func NewSchema(natsPubSubByProviderID map[string]pubsub_datasource.NatsPubSub) graphql.ExecutableSchema {
func NewSchema(natsPubSubByProviderID map[string]nats.AdapterInterface) graphql.ExecutableSchema {
return generated.NewExecutableSchema(generated.Config{Resolvers: &subgraph.Resolver{
NatsPubSubByProviderID: natsPubSubByProviderID,
TopSecretFederationFactsData: subgraph.TopSecretFederationFacts,
Expand Down
7 changes: 4 additions & 3 deletions demo/pkg/subgraphs/products_fg/subgraph/resolver.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package subgraph

import (
"github.com/wundergraph/cosmo/demo/pkg/subgraphs/products_fg/subgraph/model"
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"sync"

"github.com/wundergraph/cosmo/demo/pkg/subgraphs/products_fg/subgraph/model"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"
)

// This file will not be regenerated automatically.
Expand All @@ -12,6 +13,6 @@ import (

type Resolver struct {
mux sync.Mutex
NatsPubSubByProviderID map[string]pubsub_datasource.NatsPubSub
NatsPubSubByProviderID map[string]nats.AdapterInterface
TopSecretFederationFactsData []model.TopSecretFact
}
Loading
Loading