add files

This commit is contained in:
2021-04-11 01:26:55 +04:00
parent d2b050b14b
commit fdbb7bc587
77 changed files with 10832 additions and 0 deletions

69
cmd/action.go Normal file
View File

@@ -0,0 +1,69 @@
package cmd
import (
"fmt"
"git.sr.ht/~akilan1999/p2p-rendering-computation/client"
"git.sr.ht/~akilan1999/p2p-rendering-computation/p2p"
"git.sr.ht/~akilan1999/p2p-rendering-computation/server"
"github.com/urfave/cli/v2"
)
var CliAction = func(ctx *cli.Context) error {
if Mode == "server" {
// TODO: with RPC calls
server.Server()
//server.Rpc()
}
//Listing servers and also updates IP tables (Default 3 hops)
if ListServers {
err := client.UpdateIpTableListClient()
if err != nil {
fmt.Print(err)
}
p2p.PrintIpTable()
}
// Function called to stop and remove server from Docker
if RemoveVM != "" && ID != "" {
err := client.RemoveContianer(RemoveVM,ID)
if err != nil {
fmt.Print(err)
}
}
//Call function to create Docker container
if CreateVM != "" {
var PortsInt int
PortsInt = 0
if Ports != "" {
// Convert Get Request value to int
fmt.Sscanf(Ports, "%d", &PortsInt)
}
imageRes, err := client.StartContainer(CreateVM,PortsInt,GPU)
if err != nil {
fmt.Print(err)
}
client.PrettyPrint(imageRes)
}
//Call if specs flag is called
if Specs != "" {
specs, err := client.GetSpecs(Specs)
if err != nil {
return err
}
// Pretty print
client.PrettyPrint(specs)
}
return nil
}

70
cmd/flags.go Normal file
View File

@@ -0,0 +1,70 @@
package cmd
import (
"github.com/urfave/cli/v2"
)
// Variables declared for CLI
var (
CreateVM string
Ports string
Mode string
RemoveVM string
ID string
Specs string
GPU bool
ListServers bool
)
var AppConfigFlags = []cli.Flag{
// Deprecated to be implemented using GRPC
&cli.StringFlag{
Name: "Mode",
Value: "client",
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: &ListServers,
},
&cli.StringFlag{
Name: "CreateVM",
Usage: "Creates Docker container on the selected server",
EnvVars: []string{"CREATE_VM"},
Destination: &CreateVM,
},
&cli.StringFlag{
Name: "RemoveVM",
Usage: "Stop and Remove Docker container",
EnvVars: []string{"REMOVE_VM"},
Destination: &RemoveVM,
},
&cli.StringFlag{
Name: "ID",
Usage: "Docker Container ID",
EnvVars: []string{"ID"},
Destination: &ID,
},
&cli.StringFlag{
Name: "Ports",
Usage: "Number of ports to open for the Docker Container",
EnvVars: []string{"NUM_PORTS"},
Destination: &ID,
},
&cli.BoolFlag{
Name: "GPU",
Usage: "Create Docker Containers to access GPU",
EnvVars: []string{"USE_GPU"},
Destination: &GPU,
},
&cli.StringFlag{
Name: "Specs",
Usage: "Specs of the server node",
EnvVars: []string{"SPECS"},
Destination: &Specs,
},
}