diff --git a/.forgejo/workflows/prerelease.yml b/.forgejo/workflows/prerelease.yml index 42d3a75..0326071 100644 --- a/.forgejo/workflows/prerelease.yml +++ b/.forgejo/workflows/prerelease.yml @@ -32,12 +32,7 @@ jobs: matrix: goos: [linux] goarch: [amd64] - binaries: - - db - - metadata - - metacli - - agent - - netns + binaries: [db, metadata, metacli, agent] uses: ./.forgejo/workflows/build.yml with: tag: ${{ needs.set-release-target.outputs.release_cible }} diff --git a/cmd/netns/main.go b/cmd/netns/main.go deleted file mode 100644 index e1729f7..0000000 --- a/cmd/netns/main.go +++ /dev/null @@ -1,40 +0,0 @@ -package main - -import ( - "flag" - "fmt" - "os" - - "git.g3e.fr/syonad/two/internal/netns" -) - -var ( - netns_name = flag.String("netns", "", "Network namespace à faire") - action = flag.String("action", "", "Action a faire") -) - -func main() { - flag.Parse() - - switch *action { - case "create": - err := netns.Create(*netns_name) - if err != nil { - fmt.Println(err) - } - case "delete": - err := netns.Delete(*netns_name) - if err != nil { - fmt.Println(err) - } - case "check": - if netns.Exist(*netns_name) { - fmt.Printf("netns %s exist\n", *netns_name) - } else { - fmt.Printf("netns %s do not exist\n", *netns_name) - } - default: - fmt.Printf("Available commande:\n - create\n - delete\n - check\n") - os.Exit(1) - } -} diff --git a/internal/netns/call.go b/internal/netns/call.go deleted file mode 100644 index da326fd..0000000 --- a/internal/netns/call.go +++ /dev/null @@ -1,5 +0,0 @@ -package netns - -func Call(name string, fn func() error) error { - return call(name, fn) -} diff --git a/internal/netns/call_linux.go b/internal/netns/call_linux.go deleted file mode 100644 index b23ac19..0000000 --- a/internal/netns/call_linux.go +++ /dev/null @@ -1,44 +0,0 @@ -//go:build linux - -package netns - -import ( - "fmt" - "os" - "runtime" - - "golang.org/x/sys/unix" -) - -func call(name string, fn func() error) error { - runtime.LockOSThread() - defer runtime.UnlockOSThread() - - // sauvegarde du netns courant - orig, err := os.Open("/proc/self/ns/net") - if err != nil { - return err - } - defer orig.Close() - - // entrer dans le netns cible - f, err := os.Open(fmt.Sprintf("/var/run/netns/%s", name)) - if err != nil { - return err - } - defer f.Close() - - if err := unix.Setns(int(f.Fd()), unix.CLONE_NEWNET); err != nil { - return err - } - - // exécuter la fonction dans le netns - err = fn() - - // toujours revenir au netns d'origine - if restoreErr := unix.Setns(int(orig.Fd()), unix.CLONE_NEWNET); restoreErr != nil { - return restoreErr - } - - return err -} diff --git a/internal/netns/call_other.go b/internal/netns/call_other.go deleted file mode 100644 index 14a8924..0000000 --- a/internal/netns/call_other.go +++ /dev/null @@ -1,7 +0,0 @@ -//go:build !linux - -package netns - -func call(name string, fn func() error) error { - return fn() -} diff --git a/internal/netns/create.go b/internal/netns/create.go deleted file mode 100644 index d6ca305..0000000 --- a/internal/netns/create.go +++ /dev/null @@ -1,5 +0,0 @@ -package netns - -func Create(name string) error { - return create(name) -} diff --git a/internal/netns/create_linux.go b/internal/netns/create_linux.go deleted file mode 100644 index 8ee0afa..0000000 --- a/internal/netns/create_linux.go +++ /dev/null @@ -1,55 +0,0 @@ -//go:build linux - -package netns - -import ( - "os" - - "golang.org/x/sys/unix" -) - -func create(name string) error { - base := "/var/run/netns" - path := base + "/" + name - - if err := os.MkdirAll(base, 0755); err != nil { - return err - } - - // fichier cible - f, err := os.Create(path) - if err != nil { - return err - } - f.Close() - - // sauvegarde du netns courant - orig, err := os.Open("/proc/self/ns/net") - if err != nil { - return err - } - defer orig.Close() - - // nouveau netns - if err := unix.Unshare(unix.CLONE_NEWNET); err != nil { - return err - } - - // bind mount du netns courant vers /var/run/netns/ - if err := unix.Mount( - "/proc/self/ns/net", - path, - "", - unix.MS_BIND, - "", - ); err != nil { - return err - } - - // revenir au netns original - if err := unix.Setns(int(orig.Fd()), unix.CLONE_NEWNET); err != nil { - return err - } - - return nil -} diff --git a/internal/netns/create_other.go b/internal/netns/create_other.go deleted file mode 100644 index 3c0fd66..0000000 --- a/internal/netns/create_other.go +++ /dev/null @@ -1,5 +0,0 @@ -//go:build !linux - -package netns - -func create(string) error { return nil } diff --git a/internal/netns/delete.go b/internal/netns/delete.go deleted file mode 100644 index af0a585..0000000 --- a/internal/netns/delete.go +++ /dev/null @@ -1,5 +0,0 @@ -package netns - -func Delete(name string) error { - return delete(name) -} diff --git a/internal/netns/delete_linux.go b/internal/netns/delete_linux.go deleted file mode 100644 index ac0af1f..0000000 --- a/internal/netns/delete_linux.go +++ /dev/null @@ -1,18 +0,0 @@ -//go:build linux - -package netns - -import ( - "os" - - "golang.org/x/sys/unix" -) - -func delete(name string) error { - path := "/var/run/netns/" + name - - if err := unix.Unmount(path, unix.MNT_DETACH); err != nil { - return err - } - return os.Remove(path) -} diff --git a/internal/netns/delete_other.go b/internal/netns/delete_other.go deleted file mode 100644 index 186d355..0000000 --- a/internal/netns/delete_other.go +++ /dev/null @@ -1,5 +0,0 @@ -//go:build !linux - -package netns - -func delete(string) error { return nil } diff --git a/internal/netns/exist.go b/internal/netns/exist.go deleted file mode 100644 index 7783dd9..0000000 --- a/internal/netns/exist.go +++ /dev/null @@ -1,14 +0,0 @@ -package netns - -import ( - "os" -) - -func exist(name string) bool { - _, err := os.Stat("/var/run/netns/" + name) - return err == nil -} - -func Exist(name string) bool { - return exist(name) -}