From 44b58b36142356811cb094aa2bac44c4e8bfb71c Mon Sep 17 00:00:00 2001 From: GnomeZworc Date: Wed, 7 Jan 2026 21:06:03 +0100 Subject: [PATCH 1/7] f-11: fix: clean print not usefull #11 Signed-off-by: GnomeZworc --- cmd/meta_cli/main.go | 1 - 1 file changed, 1 deletion(-) diff --git a/cmd/meta_cli/main.go b/cmd/meta_cli/main.go index 9782b5f..2c7982d 100644 --- a/cmd/meta_cli/main.go +++ b/cmd/meta_cli/main.go @@ -30,7 +30,6 @@ func main() { fmt.Println(err) return } - fmt.Print(conf) db := kv.InitDB(kv.Config{ Path: conf.Database.Path, From 24e3de808891e8a65ce959d2191d220fa6fbfe16 Mon Sep 17 00:00:00 2001 From: GnomeZworc Date: Wed, 7 Jan 2026 21:06:47 +0100 Subject: [PATCH 2/7] f-11: improvement: add a dryrun function Signed-off-by: GnomeZworc --- cmd/meta_cli/main.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/cmd/meta_cli/main.go b/cmd/meta_cli/main.go index 2c7982d..18cf391 100644 --- a/cmd/meta_cli/main.go +++ b/cmd/meta_cli/main.go @@ -20,6 +20,7 @@ func main() { password := flag.String("pass", "", "password user") start := flag.Bool("start", false, "start metadata server") stop := flag.Bool("stop", false, "stop metadata server") + dryrun := flag.Bool("dryrun", false, "launch in dry node") flag.Parse() @@ -45,9 +46,13 @@ func main() { Password: *password, SSHKEY: *ssh_key, }, db) - service.Start("metadata@" + *vm_name) + if !*dryrun { + service.Start("metadata@" + *vm_name) + } } else if *stop { nocloud.UnLoadNoCloudInDB(*vm_name, db) - service.Stop("metadata@" + *vm_name) + if !*dryrun { + service.Stop("metadata@" + *vm_name) + } } } From 37e345609e58307487af4e616aa14ca1834680fd Mon Sep 17 00:00:00 2001 From: GnomeZworc Date: Wed, 7 Jan 2026 21:09:04 +0100 Subject: [PATCH 3/7] f-11: fix: clean error in nocloud work #11 Signed-off-by: GnomeZworc --- internal/load_db/nocloud/render.go | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/internal/load_db/nocloud/render.go b/internal/load_db/nocloud/render.go index ad7eee1..4fa9386 100644 --- a/internal/load_db/nocloud/render.go +++ b/internal/load_db/nocloud/render.go @@ -26,25 +26,21 @@ func renderConfig(path string, cfg Config) (string, error) { return buf.String(), nil } -var DB *badger.DB - func LoadNcCloudInDB(config Config, db *badger.DB) { meta_data, _ := renderConfig("templates/meta-data.tmpl", config) user_data, _ := renderConfig("templates/user-data.tmpl", config) network_config, _ := renderConfig("templates/network-config.tmpl", config) vendor_data, _ := renderConfig("templates/vendor-data.tmpl", config) - DB = db - - kv.AddInDB(DB, "metadata/"+config.Name+"/meta-data", meta_data) - kv.AddInDB(DB, "metadata/"+config.Name+"/user-data", user_data) - kv.AddInDB(DB, "metadata/"+config.Name+"/network-config", network_config) - kv.AddInDB(DB, "metadata/"+config.Name+"/vendor-data", vendor_data) - kv.AddInDB(DB, "metadata/"+config.Name+"/vpc", config.VpcName) - kv.AddInDB(DB, "metadata/"+config.Name+"/bind_ip", config.BindIP) - kv.AddInDB(DB, "metadata/"+config.Name+"/bind_port", config.BindPort) + kv.AddInDB(db, "metadata/"+config.Name+"/meta-data", meta_data) + kv.AddInDB(db, "metadata/"+config.Name+"/user-data", user_data) + kv.AddInDB(db, "metadata/"+config.Name+"/network-config", network_config) + kv.AddInDB(db, "metadata/"+config.Name+"/vendor-data", vendor_data) + kv.AddInDB(db, "metadata/"+config.Name+"/vpc", config.VpcName) + kv.AddInDB(db, "metadata/"+config.Name+"/bind_ip", config.BindIP) + kv.AddInDB(db, "metadata/"+config.Name+"/bind_port", config.BindPort) } func UnLoadNoCloudInDB(vm_name string, db *badger.DB) { - kv.DeleteInDB(DB, "metadata/"+vm_name) + kv.DeleteInDB(db, "metadata/"+vm_name) } From 9780947805438fc884327528d94f11817ca04ee3 Mon Sep 17 00:00:00 2001 From: GnomeZworc Date: Wed, 7 Jan 2026 21:10:37 +0100 Subject: [PATCH 4/7] f-11: code: change struct name Signed-off-by: GnomeZworc --- cmd/metadata/main.go | 2 +- internal/metadata/server.go | 4 ++-- internal/metadata/struct.go | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cmd/metadata/main.go b/cmd/metadata/main.go index 4813ed5..96e3f75 100644 --- a/cmd/metadata/main.go +++ b/cmd/metadata/main.go @@ -17,7 +17,7 @@ var ( func main() { flag.Parse() - metadata.StartServer(metadata.Config{ + metadata.StartServer(metadata.ServerConfig{ Netns: *netns_name, Iface: *iface, Port: *port, diff --git a/internal/metadata/server.go b/internal/metadata/server.go index 3a63cdb..3b4e12f 100644 --- a/internal/metadata/server.go +++ b/internal/metadata/server.go @@ -23,7 +23,7 @@ func getIP(r *http.Request) string { return ip } -func getFromDB(config Config) NoCloudData { +func getFromDB(config ServerConfig) NoCloudData { var netns_name string var port int var iface string @@ -92,7 +92,7 @@ func rootHandler(w http.ResponseWriter, r *http.Request) { } } -func StartServer(config Config) { +func StartServer(config ServerConfig) { data = getFromDB(config) if data.NetNs != "" { diff --git a/internal/metadata/struct.go b/internal/metadata/struct.go index 9e95341..f2c364e 100644 --- a/internal/metadata/struct.go +++ b/internal/metadata/struct.go @@ -10,7 +10,7 @@ type NoCloudData struct { Port int } -type Config struct { +type ServerConfig struct { Netns string File string Iface string From a8ffeebb7262f0c8804cc82eeb8e0e6703e85c03 Mon Sep 17 00:00:00 2001 From: GnomeZworc Date: Wed, 7 Jan 2026 23:16:58 +0100 Subject: [PATCH 5/7] f-11: code: move start and stop metadata #11 Signed-off-by: GnomeZworc --- cmd/meta_cli/main.go | 17 +++--------- internal/load_db/nocloud/struct.go | 10 ------- internal/metadata/handle.go | 26 +++++++++++++++++++ .../{load_db/nocloud => metadata}/render.go | 14 +++++----- internal/metadata/struct.go | 9 +++++++ .../templates/meta-data.tmpl | 0 .../templates/network-config.tmpl | 0 .../templates/user-data.tmpl | 0 .../templates/vendor-data.tmpl | 0 9 files changed, 46 insertions(+), 30 deletions(-) delete mode 100644 internal/load_db/nocloud/struct.go create mode 100644 internal/metadata/handle.go rename internal/{load_db/nocloud => metadata}/render.go (70%) rename internal/{load_db/nocloud => metadata}/templates/meta-data.tmpl (100%) rename internal/{load_db/nocloud => metadata}/templates/network-config.tmpl (100%) rename internal/{load_db/nocloud => metadata}/templates/user-data.tmpl (100%) rename internal/{load_db/nocloud => metadata}/templates/vendor-data.tmpl (100%) diff --git a/cmd/meta_cli/main.go b/cmd/meta_cli/main.go index 18cf391..20706d2 100644 --- a/cmd/meta_cli/main.go +++ b/cmd/meta_cli/main.go @@ -5,9 +5,8 @@ import ( "fmt" configuration "git.g3e.fr/syonad/two/internal/config/agent" - "git.g3e.fr/syonad/two/internal/load_db/nocloud" + "git.g3e.fr/syonad/two/internal/metadata" "git.g3e.fr/syonad/two/pkg/db/kv" - "git.g3e.fr/syonad/two/pkg/systemd" ) func main() { @@ -24,8 +23,6 @@ func main() { flag.Parse() - service, _ := systemd.New() - conf, err := configuration.LoadConfig(*conf_file) if err != nil { fmt.Println(err) @@ -38,21 +35,15 @@ func main() { defer db.Close() if *start { - nocloud.LoadNcCloudInDB(nocloud.Config{ + metadata.StartMetadata(metadata.NoCloudConfig{ VpcName: *vpc, Name: *vm_name, BindIP: *bind_ip, BindPort: *bind_port, Password: *password, SSHKEY: *ssh_key, - }, db) - if !*dryrun { - service.Start("metadata@" + *vm_name) - } + }, db, *dryrun) } else if *stop { - nocloud.UnLoadNoCloudInDB(*vm_name, db) - if !*dryrun { - service.Stop("metadata@" + *vm_name) - } + metadata.StopMetadata(*vm_name, db, *dryrun) } } diff --git a/internal/load_db/nocloud/struct.go b/internal/load_db/nocloud/struct.go deleted file mode 100644 index 4134000..0000000 --- a/internal/load_db/nocloud/struct.go +++ /dev/null @@ -1,10 +0,0 @@ -package nocloud - -type Config struct { - VpcName string - BindIP string - BindPort string - Name string - Password string - SSHKEY string -} diff --git a/internal/metadata/handle.go b/internal/metadata/handle.go new file mode 100644 index 0000000..33ac088 --- /dev/null +++ b/internal/metadata/handle.go @@ -0,0 +1,26 @@ +package metadata + +import ( + "git.g3e.fr/syonad/two/pkg/systemd" + "github.com/dgraph-io/badger/v4" +) + +func StartMetadata(config NoCloudConfig, db *badger.DB, dryrun bool) { + service, _ := systemd.New() + defer service.Close() + + LoadNcCloudInDB(config, db) + if !dryrun { + service.Start("metadata@" + config.Name) + } +} + +func StopMetadata(vm_name string, db *badger.DB, dryrun bool) { + service, _ := systemd.New() + defer service.Close() + + UnLoadNoCloudInDB(vm_name, db) + if !dryrun { + service.Stop("metadata@" + vm_name) + } +} diff --git a/internal/load_db/nocloud/render.go b/internal/metadata/render.go similarity index 70% rename from internal/load_db/nocloud/render.go rename to internal/metadata/render.go index 4fa9386..f6c3cae 100644 --- a/internal/load_db/nocloud/render.go +++ b/internal/metadata/render.go @@ -1,4 +1,4 @@ -package nocloud +package metadata import ( "bytes" @@ -12,7 +12,7 @@ import ( //go:embed templates/*.tmpl var templateFS embed.FS -func renderConfig(path string, cfg Config) (string, error) { +func RenderConfig(path string, cfg NoCloudConfig) (string, error) { tpl, err := template.ParseFS(templateFS, path) if err != nil { return "", err @@ -26,11 +26,11 @@ func renderConfig(path string, cfg Config) (string, error) { return buf.String(), nil } -func LoadNcCloudInDB(config Config, db *badger.DB) { - meta_data, _ := renderConfig("templates/meta-data.tmpl", config) - user_data, _ := renderConfig("templates/user-data.tmpl", config) - network_config, _ := renderConfig("templates/network-config.tmpl", config) - vendor_data, _ := renderConfig("templates/vendor-data.tmpl", config) +func LoadNcCloudInDB(config NoCloudConfig, db *badger.DB) { + meta_data, _ := RenderConfig("templates/meta-data.tmpl", config) + user_data, _ := RenderConfig("templates/user-data.tmpl", config) + network_config, _ := RenderConfig("templates/network-config.tmpl", config) + vendor_data, _ := RenderConfig("templates/vendor-data.tmpl", config) kv.AddInDB(db, "metadata/"+config.Name+"/meta-data", meta_data) kv.AddInDB(db, "metadata/"+config.Name+"/user-data", user_data) diff --git a/internal/metadata/struct.go b/internal/metadata/struct.go index f2c364e..5810ff4 100644 --- a/internal/metadata/struct.go +++ b/internal/metadata/struct.go @@ -18,3 +18,12 @@ type ServerConfig struct { ConfFile string VmName string } + +type NoCloudConfig struct { + VpcName string + BindIP string + BindPort string + Name string + Password string + SSHKEY string +} diff --git a/internal/load_db/nocloud/templates/meta-data.tmpl b/internal/metadata/templates/meta-data.tmpl similarity index 100% rename from internal/load_db/nocloud/templates/meta-data.tmpl rename to internal/metadata/templates/meta-data.tmpl diff --git a/internal/load_db/nocloud/templates/network-config.tmpl b/internal/metadata/templates/network-config.tmpl similarity index 100% rename from internal/load_db/nocloud/templates/network-config.tmpl rename to internal/metadata/templates/network-config.tmpl diff --git a/internal/load_db/nocloud/templates/user-data.tmpl b/internal/metadata/templates/user-data.tmpl similarity index 100% rename from internal/load_db/nocloud/templates/user-data.tmpl rename to internal/metadata/templates/user-data.tmpl diff --git a/internal/load_db/nocloud/templates/vendor-data.tmpl b/internal/metadata/templates/vendor-data.tmpl similarity index 100% rename from internal/load_db/nocloud/templates/vendor-data.tmpl rename to internal/metadata/templates/vendor-data.tmpl From 07cf77ba7d04902c506e64201a2d0eb954b2c946 Mon Sep 17 00:00:00 2001 From: GnomeZworc Date: Wed, 7 Jan 2026 23:24:43 +0100 Subject: [PATCH 6/7] f-11: fix: rename meta_cli to metacli Signed-off-by: GnomeZworc --- .forgejo/workflows/prerelease.yml | 2 +- cmd/{meta_cli => metacli}/main.go | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename cmd/{meta_cli => metacli}/main.go (100%) diff --git a/.forgejo/workflows/prerelease.yml b/.forgejo/workflows/prerelease.yml index c6ea322..0326071 100644 --- a/.forgejo/workflows/prerelease.yml +++ b/.forgejo/workflows/prerelease.yml @@ -32,7 +32,7 @@ jobs: matrix: goos: [linux] goarch: [amd64] - binaries: [db, metadata, meta_cli, agent] + binaries: [db, metadata, metacli, agent] uses: ./.forgejo/workflows/build.yml with: tag: ${{ needs.set-release-target.outputs.release_cible }} diff --git a/cmd/meta_cli/main.go b/cmd/metacli/main.go similarity index 100% rename from cmd/meta_cli/main.go rename to cmd/metacli/main.go From 00852ec1d3f6386f310180f3a9e256489b5525e1 Mon Sep 17 00:00:00 2001 From: GnomeZworc Date: Wed, 7 Jan 2026 23:30:01 +0100 Subject: [PATCH 7/7] f-11: debug: remove debug print from db kv interface #11 Signed-off-by: GnomeZworc --- pkg/db/kv/deleteInDB.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkg/db/kv/deleteInDB.go b/pkg/db/kv/deleteInDB.go index 36d8669..1943c81 100644 --- a/pkg/db/kv/deleteInDB.go +++ b/pkg/db/kv/deleteInDB.go @@ -1,7 +1,6 @@ package kv import ( - "fmt" "log" "github.com/dgraph-io/badger/v4" @@ -29,7 +28,6 @@ func DeleteInDB(db *badger.DB, key string) error { key := item.Key() k := append([]byte{}, key...) - fmt.Println(string(k)) if err := deleteKey(db, string(k)); err != nil { return err }