package module
v0.0.0-...-4fe21aa Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Jan 19, 2020 License: Apache-2.0 Imports: 9 Imported by: 3


Consul Source

The consul source reads config from consul key/values

Consul Format

The consul source expects keys under the default prefix /micro/config

Values are expected to be json

// set database
consul kv put micro/config/database '{"address": "", "port": 3306}'
// set cache
consul kv put micro/config/cache '{"address": "", "port": 6379}'

Keys are split on / so access becomes

conf.Get("micro", "config", "database")

New Source

Specify source with data

consulSource := consul.NewSource(
	// optionally specify consul address; default to localhost:8500
	// optionally specify prefix; defaults to /micro/config
  // optionally strip the provided prefix from the keys, defaults to false

Load Source

Load the source into config

// Create new config
conf := config.NewConfig()

// Load consul source




This section is empty.


View Source
var (
	// DefaultPrefix is the prefix that consul keys will be assumed to have if you
	// haven't specified one
	DefaultPrefix = "/micro/config/"


func NewSource

func NewSource(opts ...source.Option) source.Source

NewSource creates a new consul source

func StripPrefix

func StripPrefix(strip bool) source.Option

StripPrefix indicates whether to remove the prefix from config entries, or leave it in place.

func WithAddress

func WithAddress(a string) source.Option

WithAddress sets the consul address

func WithConfig

func WithConfig(c *api.Config) source.Option

WithConfig set consul-specific options

func WithDatacenter

func WithDatacenter(p string) source.Option

func WithPrefix

func WithPrefix(p string) source.Option

WithPrefix sets the key prefix to use

func WithToken

func WithToken(p string) source.Option

WithToken sets the key token to use


This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL