Files
Turbine/pkg/ring/clients/nats.go
2025-12-13 22:51:11 +08:00

30 lines
666 B
Go

package clients
import (
"github.com/nats-io/nats.go"
"github.com/rs/zerolog/log"
"github.com/spf13/viper"
)
var natsConn *nats.Conn
// InitNATSClient initializes the NATS client connection.
func InitNATSClient() {
natsURL := viper.GetString("nats.url")
if natsURL == "" {
log.Fatal().Msg("NATS URL not configured in viper (nats.url)")
}
var err error
natsConn, err = nats.Connect(natsURL)
if err != nil {
log.Fatal().Err(err).Msg("Failed to connect to NATS server")
}
log.Info().Msgf("Connected to NATS server: %s", natsURL)
}
// GetNATSClient returns the initialized NATS client connection.
func GetNATSClient() *nats.Conn {
return natsConn
}