mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-15 13:21:14 +08:00
got server side client registration working
This commit is contained in:
@@ -21,6 +21,6 @@ services:
|
||||
ports:
|
||||
- "80:80"
|
||||
environment:
|
||||
BACKEND_URL: "http://3.235.190.90:8081"
|
||||
BACKEND_URL: "http://HOST_IP:8081"
|
||||
volumes:
|
||||
mongovol: {}
|
||||
|
@@ -44,7 +44,7 @@ services:
|
||||
ports:
|
||||
- "80:80"
|
||||
environment:
|
||||
BACKEND_URL: "http://3.235.190.90:8081"
|
||||
BACKEND_URL: "http://HOST_IP:8081"
|
||||
coredns:
|
||||
depends_on:
|
||||
- netmaker
|
||||
|
@@ -0,0 +1 @@
|
||||
10.10.10.1 netmaker.default
|
||||
|
@@ -3,7 +3,7 @@ package controller
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"log"
|
||||
"github.com/gravitl/netmaker/functions"
|
||||
nodepb "github.com/gravitl/netmaker/grpc"
|
||||
"github.com/gravitl/netmaker/models"
|
||||
@@ -162,7 +162,7 @@ func (s *NodeServiceServer) CreateNode(ctx context.Context, req *nodepb.CreateNo
|
||||
if err != nil {
|
||||
return nil, status.Errorf(codes.NotFound, fmt.Sprintf("Could not find network: %v", err))
|
||||
} else {
|
||||
fmt.Println("Creating node in network " + network.NetID)
|
||||
log.Println("Creating node in network " + network.NetID)
|
||||
}
|
||||
|
||||
if !validKey {
|
||||
@@ -356,7 +356,6 @@ func (s *NodeServiceServer) UpdateNode(ctx context.Context, req *nodepb.UpdateNo
|
||||
}
|
||||
|
||||
func (s *NodeServiceServer) DeleteNode(ctx context.Context, req *nodepb.DeleteNodeReq) (*nodepb.DeleteNodeRes, error) {
|
||||
fmt.Println("beginning node delete")
|
||||
macaddress := req.GetMacaddress()
|
||||
network := req.GetNetworkName()
|
||||
|
||||
|
@@ -46,7 +46,6 @@ func CreateServerToken(netID string) (string, error) {
|
||||
}
|
||||
accessstringdec := address + "|"+ address + "|" + address + "|" + netID + "|" + accesskey.Value + "|" + privAddr
|
||||
|
||||
log.Println("Access String: " + accessstringdec)
|
||||
accesskey.AccessString = base64.StdEncoding.EncodeToString([]byte(accessstringdec))
|
||||
|
||||
network.AccessKeys = append(network.AccessKeys, accesskey)
|
||||
|
9
main.go
9
main.go
@@ -10,7 +10,6 @@ import (
|
||||
"github.com/gravitl/netmaker/serverctl"
|
||||
"github.com/gravitl/netmaker/mongoconn"
|
||||
"github.com/gravitl/netmaker/functions"
|
||||
"fmt"
|
||||
"os"
|
||||
"os/exec"
|
||||
"net"
|
||||
@@ -33,12 +32,12 @@ func main() {
|
||||
output, err := cmd.Output()
|
||||
|
||||
if err != nil {
|
||||
fmt.Println("Error running 'id -u' for prereq check. Please investigate or disable client mode.")
|
||||
log.Println("Error running 'id -u' for prereq check. Please investigate or disable client mode.")
|
||||
log.Fatal(err)
|
||||
}
|
||||
i, err := strconv.Atoi(string(output[:len(output)-1]))
|
||||
if err != nil {
|
||||
fmt.Println("Error retrieving uid from 'id -u' for prereq check. Please investigate or disable client mode.")
|
||||
log.Println("Error retrieving uid from 'id -u' for prereq check. Please investigate or disable client mode.")
|
||||
log.Fatal(err)
|
||||
}
|
||||
if i != 0 {
|
||||
@@ -146,8 +145,8 @@ func runGRPC(wg *sync.WaitGroup, installserver bool) {
|
||||
}()
|
||||
log.Println("Agent Server succesfully started on port " + grpcport + " (gRPC)")
|
||||
|
||||
if !installserver {
|
||||
fmt.Println("Adding server to default network")
|
||||
if installserver {
|
||||
log.Println("Adding server to default network")
|
||||
success, err := serverctl.AddNetwork("default")
|
||||
if err != nil {
|
||||
log.Printf("Error adding to default network: %v", err)
|
||||
|
@@ -381,8 +381,9 @@ func GetCLIConfig(c *cli.Context) (ClientConfig, error){
|
||||
cfg.Network = tokenvals[3]
|
||||
cfg.Node.Network = tokenvals[3]
|
||||
cfg.Server.AccessKey = tokenvals[4]
|
||||
if len(tokenvals) > 5 {
|
||||
cfg.Node.LocalRange = tokenvals[5]
|
||||
|
||||
}
|
||||
if c.String("grpcserver") != "" {
|
||||
cfg.Server.GRPCAddress = c.String("grpcserver")
|
||||
}
|
||||
|
@@ -2,13 +2,13 @@ package local
|
||||
|
||||
import (
|
||||
//"github.com/davecgh/go-spew/spew"
|
||||
"errors"
|
||||
"github.com/gravitl/netmaker/netclient/config"
|
||||
"fmt"
|
||||
"log"
|
||||
"io/ioutil"
|
||||
"path/filepath"
|
||||
"io"
|
||||
"strings"
|
||||
"log"
|
||||
"os"
|
||||
"os/exec"
|
||||
)
|
||||
@@ -19,7 +19,7 @@ func RunCmds(commands []string) error {
|
||||
args := strings.Fields(command)
|
||||
out, err := exec.Command(args[0], args[1:]...).Output()
|
||||
if string(out) != "" {
|
||||
fmt.Println(string(out))
|
||||
log.Println(string(out))
|
||||
}
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -72,13 +72,11 @@ func ConfigureSystemD(network string) error {
|
||||
}
|
||||
binarypath := dir + "/netclient"
|
||||
|
||||
fmt.Println("Installing Binary from Path: " + binarypath)
|
||||
|
||||
_, err = os.Stat("/etc/netclient")
|
||||
if os.IsNotExist(err) {
|
||||
os.Mkdir("/etc/netclient", 744)
|
||||
} else if err != nil {
|
||||
fmt.Println("couldnt find or create /etc/netclient")
|
||||
log.Println("couldnt find or create /etc/netclient")
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -184,23 +182,23 @@ WantedBy=timers.target
|
||||
|
||||
err = cmdSysEnableService.Run()
|
||||
if err != nil {
|
||||
fmt.Println("Error enabling netclient@.service. Please investigate.")
|
||||
fmt.Println(err)
|
||||
log.Println("Error enabling netclient@.service. Please investigate.")
|
||||
log.Println(err)
|
||||
}
|
||||
err = cmdSysDaemonReload.Run()
|
||||
if err != nil {
|
||||
fmt.Println("Error reloading system daemons. Please investigate.")
|
||||
fmt.Println(err)
|
||||
log.Println("Error reloading system daemons. Please investigate.")
|
||||
log.Println(err)
|
||||
}
|
||||
err = cmdSysEnableTimer.Run()
|
||||
if err != nil {
|
||||
fmt.Println("Error enabling netclient.timer. Please investigate.")
|
||||
fmt.Println(err)
|
||||
log.Println("Error enabling netclient.timer. Please investigate.")
|
||||
log.Println(err)
|
||||
}
|
||||
err = cmdSysStartTimer.Run()
|
||||
if err != nil {
|
||||
fmt.Println("Error starting netclient-"+network+".timer. Please investigate.")
|
||||
fmt.Println(err)
|
||||
log.Println("Error starting netclient-"+network+".timer. Please investigate.")
|
||||
log.Println(err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -225,7 +223,7 @@ func RemoveSystemDServices(network string) error {
|
||||
|
||||
fullremove, err := isOnlyService(network)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
log.Println(err)
|
||||
}
|
||||
|
||||
cmdSysDisableService := exec.Command("systemctl","disable","netclient@.service")
|
||||
@@ -234,43 +232,43 @@ func RemoveSystemDServices(network string) error {
|
||||
cmdSysStopTimer := exec.Command("systemctl", "stop", "netclient-"+network+".timer")
|
||||
cmdSysDisableTimer := exec.Command("systemctl", "disable", "netclient-"+network+".timer")
|
||||
if err != nil {
|
||||
fmt.Println("Error stopping netclient@.service. Please investigate.")
|
||||
fmt.Println(err)
|
||||
log.Println("Error stopping netclient@.service. Please investigate.")
|
||||
log.Println(err)
|
||||
}
|
||||
if fullremove {
|
||||
err = cmdSysDisableService.Run()
|
||||
if err != nil {
|
||||
fmt.Println("Error disabling netclient@.service. Please investigate.")
|
||||
fmt.Println(err)
|
||||
log.Println("Error disabling netclient@.service. Please investigate.")
|
||||
log.Println(err)
|
||||
}
|
||||
}
|
||||
err = cmdSysStopTimer.Run()
|
||||
if err != nil {
|
||||
fmt.Println("Error stopping netclient-"+network+".timer. Please investigate.")
|
||||
fmt.Println(err)
|
||||
log.Println("Error stopping netclient-"+network+".timer. Please investigate.")
|
||||
log.Println(err)
|
||||
}
|
||||
err = cmdSysDisableTimer.Run()
|
||||
if err != nil {
|
||||
fmt.Println("Error disabling netclient-"+network+".timer. Please investigate.")
|
||||
fmt.Println(err)
|
||||
log.Println("Error disabling netclient-"+network+".timer. Please investigate.")
|
||||
log.Println(err)
|
||||
}
|
||||
if fullremove {
|
||||
err = os.Remove("/etc/systemd/system/netclient@.service")
|
||||
}
|
||||
err = os.Remove("/etc/systemd/system/netclient-"+network+".timer")
|
||||
if err != nil {
|
||||
fmt.Println("Error removing file. Please investigate.")
|
||||
fmt.Println(err)
|
||||
log.Println("Error removing file. Please investigate.")
|
||||
log.Println(err)
|
||||
}
|
||||
err = cmdSysDaemonReload.Run()
|
||||
if err != nil {
|
||||
fmt.Println("Error reloading system daemons. Please investigate.")
|
||||
fmt.Println(err)
|
||||
log.Println("Error reloading system daemons. Please investigate.")
|
||||
log.Println(err)
|
||||
}
|
||||
err = cmdSysResetFailed.Run()
|
||||
if err != nil {
|
||||
fmt.Println("Error reseting failed system services. Please investigate.")
|
||||
fmt.Println(err)
|
||||
log.Println("Error reseting failed system services. Please investigate.")
|
||||
log.Println(err)
|
||||
}
|
||||
return err
|
||||
|
||||
@@ -301,13 +299,13 @@ func WipeLocal(network string) error{
|
||||
}
|
||||
err = cmdIPLinkDel.Run()
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
log.Println(err)
|
||||
}
|
||||
if nodecfg.PostDown != "" {
|
||||
runcmds := strings.Split(nodecfg.PostDown, "; ")
|
||||
err = RunCmds(runcmds)
|
||||
if err != nil {
|
||||
fmt.Println("Error encountered running PostDown: " + err.Error())
|
||||
log.Println("Error encountered running PostDown: " + err.Error())
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -345,7 +343,7 @@ func copy(src, dst string) (int64, error) {
|
||||
}
|
||||
|
||||
if !sourceFileStat.Mode().IsRegular() {
|
||||
return 0, fmt.Errorf("%s is not a regular file", src)
|
||||
return 0, errors.New(src + " is not a regular file")
|
||||
}
|
||||
|
||||
source, err := os.Open(src)
|
||||
|
@@ -71,6 +71,13 @@ func main() {
|
||||
Value: 0,
|
||||
Usage: "Default PersistentKeepAlive for Peers in WireGuard Interface.",
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "operatingsystem",
|
||||
Aliases: []string{"os"},
|
||||
EnvVars: []string{"NETCLIENT_OS"},
|
||||
Value: "",
|
||||
Usage: "Identifiable name for machine within Netmaker network.",
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "name",
|
||||
EnvVars: []string{"NETCLIENT_NAME"},
|
||||
@@ -105,12 +112,17 @@ func main() {
|
||||
Usage: "WireGuard local network interface name.",
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "server",
|
||||
Aliases: []string{"s"},
|
||||
EnvVars: []string{"NETCLIENT_SERVER"},
|
||||
Name: "apiserver",
|
||||
EnvVars: []string{"NETCLIENT_API_SERVER"},
|
||||
Value: "",
|
||||
Usage: "Address + GRPC Port (e.g. 1.2.3.4:50051) of Netmaker server.",
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "grpcserver",
|
||||
EnvVars: []string{"NETCLIENT_GRPC_SERVER"},
|
||||
Value: "",
|
||||
Usage: "Address + API Port (e.g. 1.2.3.4:8081) of Netmaker server.",
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "key",
|
||||
Aliases: []string{"k"},
|
||||
@@ -179,6 +191,12 @@ func main() {
|
||||
Value: "on",
|
||||
Usage: "Installs daemon if 'on'. Ignores if 'off'. On by default.",
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "roaming",
|
||||
EnvVars: []string{"NETCLIENT_ROAMING"},
|
||||
Value: "on",
|
||||
Usage: "Checks for IP changes if 'on'. Ignores if 'off'. On by default.",
|
||||
},
|
||||
}
|
||||
|
||||
app.Commands = []*cli.Command{
|
||||
|
Reference in New Issue
Block a user