diff options
Diffstat (limited to 'weed/filer2')
| -rw-r--r-- | weed/filer2/cassandra/cassandra_store.go | 3 | ||||
| -rw-r--r-- | weed/filer2/configuration.go | 36 | ||||
| -rw-r--r-- | weed/filer2/filerstore.go | 3 | ||||
| -rw-r--r-- | weed/filer2/leveldb/leveldb_store.go | 2 | ||||
| -rw-r--r-- | weed/filer2/memdb/memdb_store.go | 3 | ||||
| -rw-r--r-- | weed/filer2/mysql/mysql_store.go | 3 | ||||
| -rw-r--r-- | weed/filer2/postgres/postgres_store.go | 3 | ||||
| -rw-r--r-- | weed/filer2/redis/redis_cluster_store.go | 3 | ||||
| -rw-r--r-- | weed/filer2/redis/redis_store.go | 3 |
9 files changed, 20 insertions, 39 deletions
diff --git a/weed/filer2/cassandra/cassandra_store.go b/weed/filer2/cassandra/cassandra_store.go index 7552cb524..1309cd1ee 100644 --- a/weed/filer2/cassandra/cassandra_store.go +++ b/weed/filer2/cassandra/cassandra_store.go @@ -5,6 +5,7 @@ import ( "github.com/chrislusf/seaweedfs/weed/filer2" "github.com/chrislusf/seaweedfs/weed/glog" "github.com/gocql/gocql" + "github.com/chrislusf/seaweedfs/weed/util" ) func init() { @@ -20,7 +21,7 @@ func (store *CassandraStore) GetName() string { return "cassandra" } -func (store *CassandraStore) Initialize(configuration filer2.Configuration) (err error) { +func (store *CassandraStore) Initialize(configuration util.Configuration) (err error) { return store.initialize( configuration.GetString("keyspace"), configuration.GetStringSlice("hosts"), diff --git a/weed/filer2/configuration.go b/weed/filer2/configuration.go index dac537673..387672311 100644 --- a/weed/filer2/configuration.go +++ b/weed/filer2/configuration.go @@ -4,7 +4,7 @@ import ( "os" "github.com/chrislusf/seaweedfs/weed/glog" - "github.com/spf13/viper" + "github.com/spf13/viper" ) const ( @@ -91,29 +91,17 @@ var ( Stores []FilerStore ) -func (f *Filer) LoadConfiguration() { - - // find a filer store - viper.SetConfigName("filer") // name of config file (without extension) - viper.AddConfigPath(".") // optionally look for config in the working directory - viper.AddConfigPath("$HOME/.seaweedfs") // call multiple times to add many search paths - viper.AddConfigPath("/etc/seaweedfs/") // path to look for the config file in - if err := viper.ReadInConfig(); err != nil { // Handle errors reading the config file - glog.Fatalf("Failed to load filer.toml file from current directory, or $HOME/.seaweedfs/, or /etc/seaweedfs/" + - "\n\nPlease follow this example and add a filer.toml file to " + - "current directory, or $HOME/.seaweedfs/, or /etc/seaweedfs/:\n" + FILER_TOML_EXAMPLE) - } +func (f *Filer) LoadConfiguration(config *viper.Viper) { - glog.V(0).Infof("Reading filer configuration from %s", viper.ConfigFileUsed()) for _, store := range Stores { - if viper.GetBool(store.GetName() + ".enabled") { - viperSub := viper.Sub(store.GetName()) + if config.GetBool(store.GetName() + ".enabled") { + viperSub := config.Sub(store.GetName()) if err := store.Initialize(viperSub); err != nil { glog.Fatalf("Failed to initialize store for %s: %+v", store.GetName(), err) } f.SetStore(store) - glog.V(0).Infof("Configure filer for %s from %s", store.GetName(), viper.ConfigFileUsed()) + glog.V(0).Infof("Configure filer for %s", store.GetName()) return } } @@ -124,19 +112,5 @@ func (f *Filer) LoadConfiguration() { println(" " + store.GetName()) } - println() - println("Please configure a supported filer store in", viper.ConfigFileUsed()) - println() - os.Exit(-1) } - -// A simplified interface to decouple from Viper -type Configuration interface { - GetString(key string) string - GetBool(key string) bool - GetInt(key string) int - GetInt64(key string) int64 - GetFloat64(key string) float64 - GetStringSlice(key string) []string -} diff --git a/weed/filer2/filerstore.go b/weed/filer2/filerstore.go index 68fc06a5d..9ef1d9d48 100644 --- a/weed/filer2/filerstore.go +++ b/weed/filer2/filerstore.go @@ -2,13 +2,14 @@ package filer2 import ( "errors" + "github.com/chrislusf/seaweedfs/weed/util" ) type FilerStore interface { // GetName gets the name to locate the configuration in filer.toml file GetName() string // Initialize initializes the file store - Initialize(configuration Configuration) error + Initialize(configuration util.Configuration) error InsertEntry(*Entry) error UpdateEntry(*Entry) (err error) // err == filer2.ErrNotFound if not found diff --git a/weed/filer2/leveldb/leveldb_store.go b/weed/filer2/leveldb/leveldb_store.go index ac2fb0d66..5f3427a3d 100644 --- a/weed/filer2/leveldb/leveldb_store.go +++ b/weed/filer2/leveldb/leveldb_store.go @@ -27,7 +27,7 @@ func (store *LevelDBStore) GetName() string { return "leveldb" } -func (store *LevelDBStore) Initialize(configuration filer2.Configuration) (err error) { +func (store *LevelDBStore) Initialize(configuration weed_util.Configuration) (err error) { dir := configuration.GetString("dir") return store.initialize(dir) } diff --git a/weed/filer2/memdb/memdb_store.go b/weed/filer2/memdb/memdb_store.go index 08cee0afd..db3a86bd2 100644 --- a/weed/filer2/memdb/memdb_store.go +++ b/weed/filer2/memdb/memdb_store.go @@ -5,6 +5,7 @@ import ( "github.com/chrislusf/seaweedfs/weed/filer2" "github.com/google/btree" "strings" + "github.com/chrislusf/seaweedfs/weed/util" ) func init() { @@ -27,7 +28,7 @@ func (store *MemDbStore) GetName() string { return "memory" } -func (store *MemDbStore) Initialize(configuration filer2.Configuration) (err error) { +func (store *MemDbStore) Initialize(configuration util.Configuration) (err error) { store.tree = btree.New(8) return nil } diff --git a/weed/filer2/mysql/mysql_store.go b/weed/filer2/mysql/mysql_store.go index 6e0ca2b68..8adec161f 100644 --- a/weed/filer2/mysql/mysql_store.go +++ b/weed/filer2/mysql/mysql_store.go @@ -7,6 +7,7 @@ import ( "github.com/chrislusf/seaweedfs/weed/filer2" "github.com/chrislusf/seaweedfs/weed/filer2/abstract_sql" _ "github.com/go-sql-driver/mysql" + "github.com/chrislusf/seaweedfs/weed/util" ) const ( @@ -25,7 +26,7 @@ func (store *MysqlStore) GetName() string { return "mysql" } -func (store *MysqlStore) Initialize(configuration filer2.Configuration) (err error) { +func (store *MysqlStore) Initialize(configuration util.Configuration) (err error) { return store.initialize( configuration.GetString("username"), configuration.GetString("password"), diff --git a/weed/filer2/postgres/postgres_store.go b/weed/filer2/postgres/postgres_store.go index f5904ab21..8836e2be7 100644 --- a/weed/filer2/postgres/postgres_store.go +++ b/weed/filer2/postgres/postgres_store.go @@ -7,6 +7,7 @@ import ( "github.com/chrislusf/seaweedfs/weed/filer2" "github.com/chrislusf/seaweedfs/weed/filer2/abstract_sql" _ "github.com/lib/pq" + "github.com/chrislusf/seaweedfs/weed/util" ) const ( @@ -25,7 +26,7 @@ func (store *PostgresStore) GetName() string { return "postgres" } -func (store *PostgresStore) Initialize(configuration filer2.Configuration) (err error) { +func (store *PostgresStore) Initialize(configuration util.Configuration) (err error) { return store.initialize( configuration.GetString("username"), configuration.GetString("password"), diff --git a/weed/filer2/redis/redis_cluster_store.go b/weed/filer2/redis/redis_cluster_store.go index 02a62567c..8a3dce4b8 100644 --- a/weed/filer2/redis/redis_cluster_store.go +++ b/weed/filer2/redis/redis_cluster_store.go @@ -3,6 +3,7 @@ package redis import ( "github.com/chrislusf/seaweedfs/weed/filer2" "github.com/go-redis/redis" + "github.com/chrislusf/seaweedfs/weed/util" ) func init() { @@ -17,7 +18,7 @@ func (store *RedisClusterStore) GetName() string { return "redis_cluster" } -func (store *RedisClusterStore) Initialize(configuration filer2.Configuration) (err error) { +func (store *RedisClusterStore) Initialize(configuration util.Configuration) (err error) { return store.initialize( configuration.GetStringSlice("addresses"), ) diff --git a/weed/filer2/redis/redis_store.go b/weed/filer2/redis/redis_store.go index 85236a5af..77d157ab4 100644 --- a/weed/filer2/redis/redis_store.go +++ b/weed/filer2/redis/redis_store.go @@ -3,6 +3,7 @@ package redis import ( "github.com/chrislusf/seaweedfs/weed/filer2" "github.com/go-redis/redis" + "github.com/chrislusf/seaweedfs/weed/util" ) func init() { @@ -17,7 +18,7 @@ func (store *RedisStore) GetName() string { return "redis" } -func (store *RedisStore) Initialize(configuration filer2.Configuration) (err error) { +func (store *RedisStore) Initialize(configuration util.Configuration) (err error) { return store.initialize( configuration.GetString("address"), configuration.GetString("password"), |
