made cli into sub files for modularity
This commit is contained in:
19
cmd/action.go
Normal file
19
cmd/action.go
Normal file
@@ -0,0 +1,19 @@
|
||||
package cmd
|
||||
|
||||
import (
|
||||
"git.sr.ht/~akilan1999/p2p-rendering-computation/server"
|
||||
"github.com/urfave/cli/v2"
|
||||
)
|
||||
|
||||
var CliAction = func(ctx *cli.Context) error {
|
||||
if Mode == "server" {
|
||||
server.Server()
|
||||
}
|
||||
|
||||
//Call function to create Docker container
|
||||
if IpAddress != "" {
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
31
cmd/flags.go
Normal file
31
cmd/flags.go
Normal file
@@ -0,0 +1,31 @@
|
||||
package cmd
|
||||
|
||||
import (
|
||||
"github.com/urfave/cli/v2"
|
||||
)
|
||||
|
||||
var Mode,IpAddress string
|
||||
var List_servers, Ip_table bool
|
||||
|
||||
var AppConfigFlags = []cli.Flag{
|
||||
// Deprecated to be implemented using GRPC
|
||||
&cli.StringFlag{
|
||||
Name: "Mode",
|
||||
Value: "server",
|
||||
Usage: "Specifies mode of running",
|
||||
EnvVars: []string{"P2P_MODE"},
|
||||
Destination: &Mode,
|
||||
},
|
||||
&cli.BoolFlag{
|
||||
Name: "ListServers",
|
||||
Usage: "List servers which can render tasks",
|
||||
EnvVars: []string{"LIST_SERVERS"},
|
||||
Destination: &List_servers,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "CreateVM",
|
||||
Usage: "Creates Docker container on the selected server",
|
||||
EnvVars: []string{"CREATE_VM"},
|
||||
Destination: &IpAddress,
|
||||
},
|
||||
}
|
||||
2
go.mod
2
go.mod
@@ -9,7 +9,7 @@ require (
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.0 // indirect
|
||||
github.com/docker/distribution v2.7.1+incompatible // indirect
|
||||
github.com/docker/docker v20.10.0-beta1.0.20201113105859-b6bfff2a628f+incompatible
|
||||
github.com/docker/go-connections v0.4.0 // indirect
|
||||
github.com/docker/go-connections v0.4.0
|
||||
github.com/docker/go-units v0.4.0 // indirect
|
||||
github.com/gin-gonic/gin v1.6.3
|
||||
github.com/go-ole/go-ole v1.2.5 // indirect
|
||||
|
||||
1
go.sum
1
go.sum
@@ -566,6 +566,7 @@ github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijb
|
||||
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
|
||||
github.com/urfave/cli v1.22.2 h1:gsqYFH8bb9ekPA12kRo0hfjngWQjkJPlN9R0N78BoUo=
|
||||
github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
|
||||
github.com/urfave/cli v1.22.5 h1:lNq9sAHXK2qfdI8W+GRItjCEkI+2oR4d+MEHy1CKXoU=
|
||||
github.com/urfave/cli/v2 v2.3.0 h1:qph92Y649prgesehzOrQjdWyxFOp/QVM+6imKHad91M=
|
||||
github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI=
|
||||
github.com/vishvananda/netlink v0.0.0-20181108222139-023a6dafdcdf/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk=
|
||||
|
||||
105
main.go
105
main.go
@@ -1,15 +1,14 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"git.sr.ht/~akilan1999/p2p-rendering-computation/p2p"
|
||||
"git.sr.ht/~akilan1999/p2p-rendering-computation/server"
|
||||
"git.sr.ht/~akilan1999/p2p-rendering-computation/cmd"
|
||||
"github.com/urfave/cli/v2"
|
||||
"log"
|
||||
"os"
|
||||
)
|
||||
|
||||
// VERSION specifies the version of the platform
|
||||
var VERSION = "0.0.1"
|
||||
var VERSION = "1.0.0"
|
||||
var mode string
|
||||
|
||||
// Varaibles if mode is client
|
||||
@@ -18,53 +17,59 @@ var List_servers, Ip_table bool
|
||||
|
||||
func main() {
|
||||
|
||||
app := &cli.App{
|
||||
Name: "p2p-rendering-computation",
|
||||
Usage: "allows you to batch tasks in a peer to peer network",
|
||||
Version: VERSION,
|
||||
Flags: []cli.Flag {
|
||||
&cli.StringFlag{
|
||||
Name: "mode",
|
||||
Value: "client",
|
||||
Usage: "Specifies mode of running",
|
||||
Destination: &mode,
|
||||
},
|
||||
/* list servers */
|
||||
&cli.BoolFlag{
|
||||
Name: "List-servers",
|
||||
Usage: "List servers which can render tasks",
|
||||
Destination: &List_servers,
|
||||
},
|
||||
/* List iptable */
|
||||
&cli.BoolFlag{
|
||||
Name: "Ip-table",
|
||||
Usage: "Listing servers that can be connected to",
|
||||
Destination: &Ip_table,
|
||||
},
|
||||
|
||||
},
|
||||
/*action for all flags*/
|
||||
Action: func(c *cli.Context) error {
|
||||
/* action when certain flags are selected */
|
||||
/*if Run_script == "None" {
|
||||
fmt.Println("script not excuted as run script not selected")
|
||||
}*/
|
||||
|
||||
if Ip_table == true || List_servers == true{
|
||||
err := p2p.PrintIpTable()
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
// If mode server is selected
|
||||
if mode == "server"{
|
||||
server.Server()
|
||||
}
|
||||
|
||||
return nil
|
||||
},
|
||||
}
|
||||
app := cli.NewApp()
|
||||
app.Name = "p2p-rendering-computation"
|
||||
app.Usage = "p2p cli application to create and access VMs in other servers"
|
||||
app.Version = VERSION
|
||||
app.Flags = cmd.AppConfigFlags
|
||||
app.Action = cmd.CliAction
|
||||
//app := &cli.App{
|
||||
// Name: "p2p-rendering-computation",
|
||||
// Usage: "allows you to batch tasks in a peer to peer network",
|
||||
// Version: VERSION,
|
||||
// Flags: []cli.Flag {
|
||||
// &cli.StringFlag{
|
||||
// Name: "mode",
|
||||
// Value: "client",
|
||||
// Usage: "Specifies mode of running",
|
||||
// Destination: &mode,
|
||||
// },
|
||||
// /* list servers */
|
||||
// &cli.BoolFlag{
|
||||
// Name: "List-servers",
|
||||
// Usage: "List servers which can render tasks",
|
||||
// Destination: &List_servers,
|
||||
// },
|
||||
// /* List iptable */
|
||||
// &cli.BoolFlag{
|
||||
// Name: "Ip-table",
|
||||
// Usage: "Listing servers that can be connected to",
|
||||
// Destination: &Ip_table,
|
||||
// },
|
||||
//
|
||||
// },
|
||||
// /*action for all flags*/
|
||||
// Action: func(c *cli.Context) error {
|
||||
// /* action when certain flags are selected */
|
||||
// /*if Run_script == "None" {
|
||||
// fmt.Println("script not excuted as run script not selected")
|
||||
// }*/
|
||||
//
|
||||
// if Ip_table == true || List_servers == true{
|
||||
// err := p2p.PrintIpTable()
|
||||
// if err != nil {
|
||||
// log.Fatal(err)
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// // If mode server is selected
|
||||
// if mode == "server"{
|
||||
// server.Server()
|
||||
// }
|
||||
//
|
||||
// return nil
|
||||
// },
|
||||
//}
|
||||
|
||||
err := app.Run(os.Args)
|
||||
if err != nil {
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user