From 7dbb508058f34037e50f314ef5739ccfd0f1a9e2 Mon Sep 17 00:00:00 2001 From: GnomeZworc Date: Thu, 1 Jan 2026 23:24:11 +0100 Subject: [PATCH 1/3] f-8: fix: close db for metadata Signed-off-by: GnomeZworc --- internal/metadata/server.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/metadata/server.go b/internal/metadata/server.go index e44edaf..a72a52e 100644 --- a/internal/metadata/server.go +++ b/internal/metadata/server.go @@ -31,6 +31,7 @@ func getFromDB(config Config) NoCloudData { conf_db, _ := configuration.LoadConfig(config.ConfFile) db := kv.InitDB(kv.Config{Path: conf_db.Database.Path}) + defer db.Close() metadata, _ := kv.GetFromDB(db, "metadata/"+config.VmName+"/meta-data") userdata, _ := kv.GetFromDB(db, "metadata/"+config.VmName+"/user-data") From 87879048338f86db1bf9035abeb1d279fec133dc Mon Sep 17 00:00:00 2001 From: GnomeZworc Date: Fri, 2 Jan 2026 22:51:15 +0100 Subject: [PATCH 2/3] f-8: code: add readonly feature in kv db #8 Signed-off-by: GnomeZworc --- pkg/db/kv/init.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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 From de7a678640394042ae0dfea4499cac777720ad79 Mon Sep 17 00:00:00 2001 From: GnomeZworc Date: Fri, 2 Jan 2026 22:51:53 +0100 Subject: [PATCH 3/3] f-8: fix: implemente readonly usage #8 Signed-off-by: GnomeZworc --- cmd/db/main.go | 2 +- cmd/meta_cli/main.go | 2 +- internal/metadata/server.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) 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 a72a52e..3a63cdb 100644 --- a/internal/metadata/server.go +++ b/internal/metadata/server.go @@ -30,7 +30,7 @@ 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")