consul

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Feb 1, 2021 License: Apache-2.0 Imports: 10 Imported by: 0

README

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": "10.0.0.1", "port": 3306}'
// set cache
consul kv 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

consulSource := consul.NewSource(
	// optionally specify consul address; default to localhost:8500
	consul.WithAddress("10.0.0.10:8500"),
	// optionally specify prefix; defaults to /micro/config
	consul.WithPrefix("/my/prefix"),
  // optionally strip the provided prefix from the keys, defaults to false
  consul.StripPrefix(true),
)

Load Source

Load the source into config

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

// Load file source
conf.Load(consulSource)

Documentation

Index

Constants

This section is empty.

Variables

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

Functions

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 WithPrefix

func WithPrefix(p string) source.Option

WithPrefix sets the key prefix to use

Types

This section is empty.

Jump to

Keyboard shortcuts

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