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