diff --git a/cmd/db/main.go b/cmd/db/main.go index 8b8d25e..1166f44 100644 --- a/cmd/db/main.go +++ b/cmd/db/main.go @@ -136,7 +136,7 @@ func main() { DB = kv.InitDB(kv.Config{ Path: conf.Database.Path, - }) + }, false) defer DB.Close() if len(args) < 1 { diff --git a/cmd/meta_cli/main.go b/cmd/meta_cli/main.go index 971c370..a357991 100644 --- a/cmd/meta_cli/main.go +++ b/cmd/meta_cli/main.go @@ -31,7 +31,7 @@ func main() { db := kv.InitDB(kv.Config{ Path: conf.Database.Path, - }) + }, false) defer db.Close() if *start { diff --git a/internal/metadata/server.go b/internal/metadata/server.go index e44edaf..3a63cdb 100644 --- a/internal/metadata/server.go +++ b/internal/metadata/server.go @@ -30,7 +30,8 @@ func getFromDB(config Config) NoCloudData { conf_db, _ := configuration.LoadConfig(config.ConfFile) - db := kv.InitDB(kv.Config{Path: conf_db.Database.Path}) + db := kv.InitDB(kv.Config{Path: conf_db.Database.Path}, true) + defer db.Close() metadata, _ := kv.GetFromDB(db, "metadata/"+config.VmName+"/meta-data") userdata, _ := kv.GetFromDB(db, "metadata/"+config.VmName+"/user-data") diff --git a/pkg/db/kv/init.go b/pkg/db/kv/init.go index 18148df..cc09cb0 100644 --- a/pkg/db/kv/init.go +++ b/pkg/db/kv/init.go @@ -4,8 +4,9 @@ import ( "github.com/dgraph-io/badger/v4" ) -func InitDB(conf Config) *badger.DB { - opts := badger.DefaultOptions(conf.Path) +func InitDB(conf Config, readonly bool) *badger.DB { + opts := badger.DefaultOptions(conf.Path). + WithReadOnly(readonly) opts.Logger = nil opts.ValueLogFileSize = 10 << 20 // 10 Mo par fichier vlog opts.NumMemtables = 1