package
0.0.0-20240930111939-8d08343a7663
Repository: https://github.com/diycoder/elf.git
Documentation: pkg.go.dev
# README
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)
# Functions
Auth allows you to specify username/password.
No description provided by the author
StripPrefix indicates whether to remove the prefix from config entries, or leave it in place.
WithAddress sets the etcd address.
WithDialTimeout set the time out for dialing to etcd.
WithPrefix sets the key prefix to use.
# Variables
No description provided by the author