mirror of
https://github.com/go-micro/go-micro.git
synced 2024-12-12 08:23:58 +02:00
1.0 KiB
1.0 KiB
Etcd Source
The etcd source reads config from etcd key/values
This source supports etcd version 3 and beyond.
Etcd Format
The etcd source expects keys under the default prefix /micro/config
(prefix can be changed)
Values are expected to be JSON
// set database
etcdctl put /micro/config/database '{"address": "10.0.0.1", "port": 3306}'
// set cache
etcdctl put /micro/config/cache '{"address": "10.0.0.2", "port": 6379}'
Keys are split on /
so access becomes
conf.Get("micro", "config", "database")
New Source
Specify source with data
etcdSource := etcd.NewSource(
// optionally specify etcd address; default to localhost:8500
etcd.WithAddress("10.0.0.10:8500"),
// optionally specify prefix; defaults to /micro/config
etcd.WithPrefix("/my/prefix"),
// optionally strip the provided prefix from the keys, defaults to false
etcd.StripPrefix(true),
)
Load Source
Load the source into config
// Create new config
conf := config.NewConfig()
// Load file source
conf.Load(etcdSource)