base.yaml
main.go
package main
import (
"go.uber.org/config"
"fmt"
)
func main() {
type ServiceConfig struct {
Name string
}
type cfg struct {
Name string `yaml:"service.name"`
Service ServiceConfig
}
// provider, err := config.NewYAML(config.File("base.yaml"))
provider, err := config.NewYAMLProviderFromFiles("base.yaml")
if err != nil {
panic(err) // handle error
}
var c cfg
if err := provider.Get("").Populate(&c); err != nil {
panic(err) // handle error
}
fmt.Printf("%+v\n", c)
}
Expected result:
{Name:abc {Service:{Name:abc}}
Actual result:
{Name: {Service:{Name:abc}}
Pinned down to 46dea54 after git bisect