Merge pull request #84 from gravitl/bugfix_v0.2_040821

fixing some netclient bugs
This commit is contained in:
Alex 2021-04-08 09:05:02 -04:00 committed by GitHub
commit 0a94d42c2e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
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
sudo ./netclient -c install -s $SERVER_URL -g $NET_NAME -k $KEY
rm -f netclient

View file

@ -79,6 +79,12 @@ func Install(accesskey string, password string, server string, group string, noa
tnetwork := ""
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" {
btoken, err := base64.StdEncoding.DecodeString(accesstoken)
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)
if os.IsNotExist(err) {
return false
@ -45,14 +45,17 @@ func ConfigureSystemD(network string) error {
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")
if err != nil {
log.Println(err)
return err
}
*/
}
if !fileExists("/etc/netclient/netclient") {
if !FileExists("/etc/netclient/netclient") {
_, err = copy(binarypath, "/etc/netclient/netclient")
if err != nil {
log.Println(err)
@ -100,7 +103,7 @@ WantedBy=timers.target
servicebytes := []byte(systemservice)
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)
if err != nil {
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)
if err != nil {
log.Println(err)

View file

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