From 84be0012a15ee7446e1e55f5e143a6e47b9e5b28 Mon Sep 17 00:00:00 2001 From: Akilan Selvacoumar Date: Tue, 8 Jun 2021 21:52:08 +0400 Subject: [PATCH] added cli command add server --- cmd/action.go | 22 ++++++++++++++++++++++ cmd/flags.go | 7 +++++++ 2 files changed, 29 insertions(+) diff --git a/cmd/action.go b/cmd/action.go index b5628db..2b97c5c 100644 --- a/cmd/action.go +++ b/cmd/action.go @@ -26,10 +26,32 @@ var CliAction = func(ctx *cli.Context) error { p2p.PrintIpTable() } + // Displays the IP table if ServerList { p2p.PrintIpTable() } + if AddServer != "" { + res, err := p2p.ReadIpTable() + if err != nil { + fmt.Println(err) + } + + //Create variable of type IpAddress and set IP address + // to it + var IpAddr p2p.IpAddress + IpAddr.Ipv4 = AddServer + + // Append IP address to variable result which + // is a list + res.IpAddress = append(res.IpAddress, IpAddr) + + // Adds the new server IP to the iptable + res.WriteIpTable() + + + } + // Function called to stop and remove server from Docker if RemoveVM != "" && ID != "" { err := client.RemoveContianer(RemoveVM,ID) diff --git a/cmd/flags.go b/cmd/flags.go index 8911f6f..138ab34 100644 --- a/cmd/flags.go +++ b/cmd/flags.go @@ -6,6 +6,7 @@ import ( // Variables declared for CLI var ( + AddServer string CreateVM string Ports string Mode string @@ -39,6 +40,12 @@ var AppConfigFlags = []cli.Flag{ EnvVars: []string{"LIST_SERVERS"}, Destination: &ServerList, }, + &cli.StringFlag{ + Name: "AddServer", + Usage: "Adds server IP address to iptables", + EnvVars: []string{"ADD_SERVER"}, + Destination: &AddServer, + }, &cli.StringFlag{ Name: "CreateVM", Usage: "Creates Docker container on the selected server",