This lib provides methods to build maas clients with defaults required parameters: logger, namespace, maasAgentUrl and authSupplier.
To use any client it's necessary to register security implemention - dummy or your own, the followning example shows registration of required services:
import (
"github.com/netcracker/qubership-core-lib-go/v3/serviceloader"
"github.com/netcracker/qubership-core-lib-go/v3/security"
)
func init() {
serviceloader.Register(2, &security.DummyToken{})
}import (
"context"
"fmt"
"github.com/netcracker/qubership-core-lib-go/v3/serviceloader"
"github.com/netcracker/qubership-core-lib-go/v3/security"
"github.com/netcracker/qubership-core-lib-go-maas-client/v3/classifier"
maas "github.com/netcracker/qubership-core-lib-go-maas-core/v3"
)
func init() {
serviceloader.Register(2, &security.DummyToken{})
}
func kafkaClientWithDefaults(ctx context.Context) error {
maasKafkaClient := maas.NewKafkaClient()
topicAddr, err := maasKafkaClient.GetTopic(ctx, classifier.New("demo").WithNamespace("namespace"))
if err != nil {
return err
}
fmt.Printf("topic = %s", topicAddr.TopicName)
return nil
}import (
"github.com/netcracker/qubership-core-lib-go/v3/serviceloader"
"github.com/netcracker/qubership-core-lib-go/v3/security"
"github.com/netcracker/qubership-core-lib-go-maas-client/v3/logging"
maas "github.com/netcracker/qubership-core-lib-go-maas-core/v3"
)
var myNamespace string
var myMaaSAgentUrl string
var myAuthSupplier func(ctx context.Context) (string, error)
func init() {
serviceloader.Register(2, &security.DummyToken{})
}
func kafkaClientWithCustomParams() {
maasKafkaClient := maas.NewKafkaClient(
maas.WithNamespace(myNamespace),
maas.WithMaaSAgentUrl(myMaaSAgentUrl),
maas.WithAuthSupplier(myAuthSupplier))
}See example tenant-topics-watch.go
import (
"context"
"fmt"
"github.com/netcracker/qubership-core-lib-go/v3/serviceloader"
"github.com/netcracker/qubership-core-lib-go/v3/security"
"github.com/netcracker/qubership-core-lib-go-maas-client/v3/classifier"
maas "github.com/netcracker/qubership-core-lib-go-maas-core/v3"
)
func init() {
serviceloader.Register(2, &security.DummyToken{})
}
func kafkaClientWithDefaults(ctx context.Context) error {
maasRabbitClient := maas.NewRabbitClient()
vhost, err := maasRabbitClient.GetVhost(ctx, classifier.New("demo").WithNamespace("namespace"))
if err != nil {
return err
}
fmt.Printf("vhost user = %s", vhost.Username)
return nil
}