diff options
Diffstat (limited to 'src/dkv/api/initialise.go')
-rw-r--r-- | src/dkv/api/initialise.go | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/src/dkv/api/initialise.go b/src/dkv/api/initialise.go index f4edc6c..20a5df4 100644 --- a/src/dkv/api/initialise.go +++ b/src/dkv/api/initialise.go @@ -16,19 +16,35 @@ package api -import "os" +import ( + "errors" + "os" +) + +var ( + Datastore DatastoreConnector + KeyValues KeyValuesInterface + Directory DirectoryOperationer +) func Initialise() error { - Consul = &ConsulStruct{} + if os.Getenv("DATASTORE") == "" { + return errors.New("DATASTORE environment variable not set.") + } + if os.Getenv("DATASTORE") == "consul" { + Datastore = &ConsulStruct{} + } else if os.Getenv("DATASTORE") == "cassandra" { + Datastore = &CassandraStruct{} + } KeyValues = &KeyValuesStruct{} Directory = &DirectoryStruct{directory: ""} - err := Consul.InitializeConsulClient() + err := Datastore.InitializeDatastoreClient() if err != nil { return err } - err = Consul.CheckConsulHealth() + err = Datastore.CheckDatastoreHealth() if err != nil { return err } |