Merge branch 'consul_path_prefix_leading_slash' into dev
This commit is contained in:
commit
3c82b2e9e8
@ -4,7 +4,7 @@ The consul source reads config from consul key/values
|
|||||||
|
|
||||||
## Consul Format
|
## Consul Format
|
||||||
|
|
||||||
The consul source expects keys under the default prefix `micro/config`
|
The consul source expects keys under the default prefix `/micro/config`
|
||||||
|
|
||||||
Values are expected to be json
|
Values are expected to be json
|
||||||
|
|
||||||
@ -29,8 +29,8 @@ Specify source with data
|
|||||||
consulSource := consul.NewSource(
|
consulSource := consul.NewSource(
|
||||||
// optionally specify consul address; default to localhost:8500
|
// optionally specify consul address; default to localhost:8500
|
||||||
consul.WithAddress("10.0.0.10:8500"),
|
consul.WithAddress("10.0.0.10:8500"),
|
||||||
// optionally specify prefix; defaults to micro/config
|
// optionally specify prefix; defaults to /micro/config
|
||||||
consul.WithPrefix("my/prefix"),
|
consul.WithPrefix("/my/prefix"),
|
||||||
// optionally strip the provided prefix from the keys, defaults to false
|
// optionally strip the provided prefix from the keys, defaults to false
|
||||||
consul.StripPrefix(true),
|
consul.StripPrefix(true),
|
||||||
)
|
)
|
||||||
|
@ -21,7 +21,7 @@ type consul struct {
|
|||||||
var (
|
var (
|
||||||
// DefaultPrefix is the prefix that consul keys will be assumed to have if you
|
// DefaultPrefix is the prefix that consul keys will be assumed to have if you
|
||||||
// haven't specified one
|
// haven't specified one
|
||||||
DefaultPrefix = "micro/config/"
|
DefaultPrefix = "/micro/config/"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (c *consul) Read() (*source.ChangeSet, error) {
|
func (c *consul) Read() (*source.ChangeSet, error) {
|
||||||
|
@ -36,7 +36,7 @@ func makeMap(e encoder.Encoder, kv api.KVPairs, stripPrefix string) (map[string]
|
|||||||
|
|
||||||
// consul guarantees lexicographic order, so no need to sort
|
// consul guarantees lexicographic order, so no need to sort
|
||||||
for _, v := range kv {
|
for _, v := range kv {
|
||||||
pathString := strings.TrimPrefix(strings.TrimPrefix(v.Key, stripPrefix), "/")
|
pathString := strings.TrimPrefix(strings.TrimPrefix(v.Key, strings.TrimPrefix(stripPrefix, "/")), "/")
|
||||||
if pathString == "" {
|
if pathString == "" {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@ -58,6 +58,7 @@ func makeMap(e encoder.Encoder, kv api.KVPairs, stripPrefix string) (map[string]
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// set target at the root
|
||||||
target := data
|
target := data
|
||||||
path := strings.Split(pathString, "/")
|
path := strings.Split(pathString, "/")
|
||||||
// find (or create) the leaf node we want to put this value at
|
// find (or create) the leaf node we want to put this value at
|
||||||
|
Loading…
Reference in New Issue
Block a user