Merge pull request #24 from gravitl/develop

dependencies hotfix
This commit is contained in:
Alex 2021-03-27 13:50:22 -04:00 committed by GitHub
commit 631d6927ca
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 26 additions and 2 deletions

View file

@ -203,7 +203,6 @@ func readConfig() *ClientConfig {
f, err := os.Open(file) f, err := os.Open(file)
if err != nil { if err != nil {
nofile = true nofile = true
fmt.Println("Could not access " + home + "/.netconfig, proceeding...")
} }
defer f.Close() defer f.Close()

View file

@ -9,6 +9,7 @@ import (
"os" "os"
"os/exec" "os/exec"
"strconv" "strconv"
"strings"
"log" "log"
) )
@ -36,7 +37,8 @@ func main() {
taccesskey := flag.String("k", "badkey", "an access key generated by the server and used for one-time access (install only)") taccesskey := flag.String("k", "badkey", "an access key generated by the server and used for one-time access (install only)")
tserver := flag.String("s", "localhost:50051", "The location (including port) of the remote gRPC server.") tserver := flag.String("s", "localhost:50051", "The location (including port) of the remote gRPC server.")
tgroup := flag.String("g", "badgroup", "The node group you are attempting to join.") tgroup := flag.String("g", "badgroup", "The node group you are attempting to join.")
tnoauto := flag.Bool("na", false, "No auto mode. If true, netmaker will not be installed as a system service and you will have to retrieve updates manually via checkin command.") tnoauto := flag.Bool("na", false, "No auto mode. If true, netmclient will not be installed as a system service and you will have to retrieve updates manually via checkin command.")
tnoforward := flag.Bool("nf", false, "No Forward mode. If true, netclient will not check for IP forwarding. This may break functionality")
command := flag.String("c", "required", "The command to run") command := flag.String("c", "required", "The command to run")
@ -61,12 +63,35 @@ func main() {
} }
_, err = exec.LookPath("wg")
if err != nil {
log.Println(err)
log.Fatal("WireGuard not installed. Please install WireGuard (wireguard-tools) and try again.")
}
switch *command { switch *command {
case "required": case "required":
fmt.Println("command flag 'c' is required. Pick one of |install|checkin|update|remove|") fmt.Println("command flag 'c' is required. Pick one of |install|checkin|update|remove|")
os.Exit(1) os.Exit(1)
log.Fatal("Exiting") log.Fatal("Exiting")
case "install": case "install":
if !*tnoforward {
forward := exec.Command("sysctl", "net.ipv4.ip_forward")
out, err := forward.Output()
if err != nil {
log.Fatal(err)
}
//s := strings.Split(string(out), " ", "\n")
s := strings.Fields(string(out))
if err != nil {
log.Fatal(err)
}
if s[2] != "1" {
log.Fatal("It is recommended to enable IP Forwarding. Current status is: " + s[2] + ", but should be 1. if you would like to run without IP Forwarding, re-run with flag '-nf true'")
}
}
fmt.Println("Beginning agent installation.") fmt.Println("Beginning agent installation.")
err := functions.Install(*taccesskey, *tpassword, *tserver, *tgroup, *tnoauto) err := functions.Install(*taccesskey, *tpassword, *tserver, *tgroup, *tnoauto)
if err != nil { if err != nil {