chore: import upstream snapshot with attribution
govulncheck / govulncheck (push) Has been cancelled
Lint / golangci-lint (push) Has been cancelled
Run Tests / Unit Tests (push) Has been cancelled
Run Tests / Etcd Integration Tests (push) Has been cancelled
Harness (E2E) / Harnesses (mock LLM) (push) Has been cancelled
Harness (E2E) / Provider harnesses (live LLM conformance) (push) Has been cancelled
govulncheck / govulncheck (push) Has been cancelled
Lint / golangci-lint (push) Has been cancelled
Run Tests / Unit Tests (push) Has been cancelled
Run Tests / Etcd Integration Tests (push) Has been cancelled
Harness (E2E) / Harnesses (mock LLM) (push) Has been cancelled
Harness (E2E) / Provider harnesses (live LLM conformance) (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
# 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
|
||||
|
||||
```go
|
||||
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
|
||||
|
||||
```go
|
||||
// Create new config
|
||||
conf := config.NewConfig()
|
||||
|
||||
// Load nats source
|
||||
conf.Load(natsSource)
|
||||
```
|
||||
|
||||
## Watch
|
||||
|
||||
```go
|
||||
wh, _ := natsSource.Watch()
|
||||
|
||||
for {
|
||||
v, err := watcher.Next()
|
||||
if err != nil {
|
||||
log.Fatalf("err %v", err)
|
||||
}
|
||||
|
||||
log.Infof("data %v", string(v.Data))
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user