Compare commits

..

3 commits

Author SHA1 Message Date
00852ec1d3
f-11: debug: remove debug print from db kv interface #11
All checks were successful
Pre Release Workflow / set-release-target (push) Successful in 1s
Pre Release Workflow / build (agent, amd64, linux) (push) Successful in 1m23s
Pre Release Workflow / build (db, amd64, linux) (push) Successful in 1m30s
Pre Release Workflow / build (metacli, amd64, linux) (push) Successful in 1m29s
Pre Release Workflow / build (metadata, amd64, linux) (push) Successful in 1m30s
Pre Release Workflow / prerelease (push) Successful in 11s
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-01-07 23:30:01 +01:00
07cf77ba7d
f-11: fix: rename meta_cli to metacli
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-01-07 23:24:43 +01:00
a8ffeebb72
f-11: code: move start and stop metadata #11
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-01-07 23:16:58 +01:00
11 changed files with 47 additions and 33 deletions

View file

@ -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 }}

View file

@ -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)
}
}

View file

@ -1,10 +0,0 @@
package nocloud
type Config struct {
VpcName string
BindIP string
BindPort string
Name string
Password string
SSHKEY string
}

View file

@ -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)
}
}

View file

@ -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)

View file

@ -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
}

View file

@ -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
}