Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- "github.com/hashicorp/consul/api"
- "github.com/hashicorp/consul/watch"
- )
- func main() {
- client, err := api.NewClient(&api.Config{Address: ":8500"})
- if err != nil {
- panic(err)
- }
- _, err = client.KV().Put(&api.KVPair{Key: "volplugin/test"}, nil)
- if err != nil {
- panic(err)
- }
- wp, err := watch.Parse(map[string]interface{}{
- "type": "keyprefix",
- "prefix": "volplugin",
- })
- if err != nil {
- panic(err)
- }
- wp.Handler = func(u uint64, i interface{}) {
- pairs := i.(api.KVPairs)
- for _, pair := range pairs {
- fmt.Printf("%v %q\n", pair.Key, string(pair.Value))
- }
- }
- go func() {
- if err := wp.Run(":8500"); err != nil {
- panic(err)
- }
- }()
- _, err = client.KV().Put(&api.KVPair{Key: "volplugin/test2", Value: []byte("hi")}, nil)
- if err != nil {
- panic(err)
- }
- select {}
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement