diff --git a/.forgejo/workflows/prerelease.yml b/.forgejo/workflows/prerelease.yml index 0326071..0248db4 100644 --- a/.forgejo/workflows/prerelease.yml +++ b/.forgejo/workflows/prerelease.yml @@ -32,7 +32,7 @@ jobs: matrix: goos: [linux] goarch: [amd64] - binaries: [db, metadata, metacli, agent] + binaries: [db, metadata, metacli, agent, netns] 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 new file mode 100644 index 0000000..e1729f7 --- /dev/null +++ b/cmd/netns/main.go @@ -0,0 +1,40 @@ +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) + } +}