1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package filer
- import (
- "os"
- "github.com/chrislusf/seaweedfs/weed/util/log"
- "github.com/spf13/viper"
- )
- var (
- Stores []FilerStore
- )
- func (f *Filer) LoadConfiguration(config *viper.Viper) {
- validateOneEnabledStore(config)
- for _, store := range Stores {
- if config.GetBool(store.GetName() + ".enabled") {
- if err := store.Initialize(config, store.GetName()+"."); err != nil {
- log.Fatalf("Failed to initialize store for %s: %+v",
- store.GetName(), err)
- }
- f.SetStore(store)
- log.Infof("Configure filer for %s", store.GetName())
- return
- }
- }
- println()
- println("Supported filer stores are:")
- for _, store := range Stores {
- println(" " + store.GetName())
- }
- os.Exit(-1)
- }
- func validateOneEnabledStore(config *viper.Viper) {
- enabledStore := ""
- for _, store := range Stores {
- if config.GetBool(store.GetName() + ".enabled") {
- if enabledStore == "" {
- enabledStore = store.GetName()
- } else {
- log.Fatalf("Filer store is enabled for both %s and %s", enabledStore, store.GetName())
- }
- }
- }
- }
|