fixing some netclient bugs

This commit is contained in:
afeiszli
2021-04-08 09:04:21 -04:00
parent fad2138d7e
commit 9edf655887
4 changed files with 20 additions and 6 deletions

View File

@@ -7,7 +7,7 @@ set -e
wget -O netclient https://github.com/gravitl/netmaker/releases/download/v0.1/netclient wget -O netclient https://github.com/gravitl/netmaker/releases/download/v0.1/netclient netclient
chmod +x netclient chmod +x netclient
sudo ./netclient -c install -s $SERVER_URL -g $NET_NAME -k $KEY sudo ./netclient -c install -s $SERVER_URL -g $NET_NAME -k $KEY
rm -f netclient rm -f netclient

View File

@@ -79,6 +79,12 @@ func Install(accesskey string, password string, server string, group string, noa
tnetwork := "" tnetwork := ""
tkey := "" tkey := ""
if FileExists("/etc/systemd/system/netclient-"+group+".timer") ||
FileExists("/etc/netclient/netconfig-"+group) {
err := errors.New("ALREADY_INSTALLED. Netclient appears to already be installed for network " + group + ". To re-install, please remove by executing 'sudo netclient -c remove -n " + group + "'. Then re-run the install command.")
return err
}
if accesstoken != "" && accesstoken != "badtoken" { if accesstoken != "" && accesstoken != "badtoken" {
btoken, err := base64.StdEncoding.DecodeString(accesstoken) btoken, err := base64.StdEncoding.DecodeString(accesstoken)
if err != nil { if err != nil {

View File

@@ -12,7 +12,7 @@ import (
) )
func fileExists(f string) bool { func FileExists(f string) bool {
info, err := os.Stat(f) info, err := os.Stat(f)
if os.IsNotExist(err) { if os.IsNotExist(err) {
return false return false
@@ -45,14 +45,17 @@ func ConfigureSystemD(network string) error {
return err return err
} }
if !fileExists("/usr/local/bin/netclient") { if !FileExists("/usr/local/bin/netclient") {
os.Symlink("/etc/netclient/netclient","/usr/local/bin/netclient")
/*
_, err = copy(binarypath, "/usr/local/bin/netclient") _, err = copy(binarypath, "/usr/local/bin/netclient")
if err != nil { if err != nil {
log.Println(err) log.Println(err)
return err return err
} }
*/
} }
if !fileExists("/etc/netclient/netclient") { if !FileExists("/etc/netclient/netclient") {
_, err = copy(binarypath, "/etc/netclient/netclient") _, err = copy(binarypath, "/etc/netclient/netclient")
if err != nil { if err != nil {
log.Println(err) log.Println(err)
@@ -100,7 +103,7 @@ WantedBy=timers.target
servicebytes := []byte(systemservice) servicebytes := []byte(systemservice)
timerbytes := []byte(systemtimer) timerbytes := []byte(systemtimer)
if !fileExists("/etc/systemd/system/netclient@.service") { if !FileExists("/etc/systemd/system/netclient@.service") {
err = ioutil.WriteFile("/etc/systemd/system/netclient@.service", servicebytes, 0644) err = ioutil.WriteFile("/etc/systemd/system/netclient@.service", servicebytes, 0644)
if err != nil { if err != nil {
log.Println(err) log.Println(err)
@@ -108,7 +111,7 @@ WantedBy=timers.target
} }
} }
if !fileExists("/etc/systemd/system/netclient-"+network+".timer") { if !FileExists("/etc/systemd/system/netclient-"+network+".timer") {
err = ioutil.WriteFile("/etc/systemd/system/netclient-"+network+".timer", timerbytes, 0644) err = ioutil.WriteFile("/etc/systemd/system/netclient-"+network+".timer", timerbytes, 0644)
if err != nil { if err != nil {
log.Println(err) log.Println(err)

View File

@@ -110,6 +110,7 @@ func main() {
fmt.Println("Beginning agent installation.") fmt.Println("Beginning agent installation.")
err := functions.Install(*taccesskey, *tpassword, *tserver, *tnetwork, *tnoauto, *taccesstoken, *tname) err := functions.Install(*taccesskey, *tpassword, *tserver, *tnetwork, *tnoauto, *taccesstoken, *tname)
if err != nil { if err != nil {
if !strings.Contains(err.Error(), "ALREADY_INSTALLED") {
fmt.Println("Error installing: ", err) fmt.Println("Error installing: ", err)
fmt.Println("Cleaning up (uninstall)") fmt.Println("Cleaning up (uninstall)")
err = functions.Remove(*tnetwork) err = functions.Remove(*tnetwork)
@@ -126,6 +127,10 @@ func main() {
} }
} }
os.Exit(1) os.Exit(1)
} else {
fmt.Println(err.Error())
os.Exit(1)
}
} }
/* /*
case "service-install": case "service-install":