nats

package module
v4.0.0-...-6e18eb5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 23, 2023 License: Apache-2.0 Imports: 9 Imported by: 0

README

Nats Source

The nats source reads config from nats key/values

Nats Format

The nats source expects keys under the default bucket default default key micro_config

Values are expected to be json

nats kv put default micro_config '{"nats": {"address": "10.0.0.1", "port": 8488}}'
conf.Get("nats")

New Source

Specify source with data

natsSource := nats.NewSource(
	nats.WithUrl("127.0.0.1:4222"),
	nats.WithBucket("my_bucket"),
	nats.WithKey("my_key"),
)

Load Source

Load the source into config

// Create new config
conf := config.NewConfig()

// Load nats source
conf.Load(natsSource)

Watch

wh, _ := natsSource.Watch()

for {
	v, err := watcher.Next()
	if err != nil {
		log.Fatalf("err %v", err)
	}

	log.Infof("data %v", string(v.Data))
}

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DefaultBucket = "default"
	DefaultKey    = "micro_config"
)

DefaultBucket is the bucket that nats keys will be assumed to have if you haven't specified one

Functions

func Client

func Client(url string) (natsgo.JetStreamContext, error)

func NewSource

func NewSource(opts ...source.Option) source.Source

func WithBucket

func WithBucket(a string) source.Option

WithBucket sets the nats key

func WithKey

func WithKey(a string) source.Option

WithKey sets the nats key

func WithUrl

func WithUrl(a string) source.Option

WithUrl sets the nats url

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL