From 563f4d44c41aa83380a63f0f0043cfc23beb7711 Mon Sep 17 00:00:00 2001 From: Brian Ketelsen Date: Mon, 27 Oct 2014 21:14:46 -0400 Subject: [PATCH] add support for consul --- viper.go | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/viper.go b/viper.go index b065a08..d4e7fdc 100644 --- a/viper.go +++ b/viper.go @@ -523,17 +523,6 @@ func (rce RemoteConfigError) Error() string { } func getRemoteConfig(provider *remoteProvider) (map[string]interface{}, error) { - switch provider.provider { - case "etcd": - return getEtcdConfig(provider) - case "consul": - // not implemented yet - - } - return config, nil -} - -func getEtcdConfig(provider *remoteProvider) (map[string]interface{}, error) { var cm crypt.ConfigManager var err error @@ -543,9 +532,17 @@ func getEtcdConfig(provider *remoteProvider) (map[string]interface{}, error) { if err != nil { return nil, err } - cm, err = crypt.NewEtcdConfigManager([]string{provider.endpoint}, kr) + if provider.provider == "etcd" { + cm, err = crypt.NewEtcdConfigManager([]string{provider.endpoint}, kr) + } else { + cm, err = crypt.NewConsulConfigManager([]string{provider.endpoint}, kr) + } } else { - cm, err = crypt.NewStandardEtcdConfigManager([]string{provider.endpoint}) + if provider.provider == "etcd" { + cm, err = crypt.NewStandardEtcdConfigManager([]string{provider.endpoint}) + } else { + cm, err = crypt.NewStandardConsulConfigManager([]string{provider.endpoint}) + } } if err != nil { return nil, err