mirror of
https://github.com/gravitl/netmaker.git
synced 2025-09-06 05:04:27 +08:00
reorder register/join
This commit is contained in:
parent
0bebda718e
commit
f5aa1d1e62
7 changed files with 16 additions and 20 deletions
|
@ -1,2 +1 @@
|
|||
10.0.0.1 testnode.skynet
|
||||
10.0.0.2 myhost.skynet
|
||||
10.0.0.2 testnode.skynet myhost.skynet
|
||||
|
|
|
@ -22,7 +22,7 @@ func serverHandlers(r *mux.Router) {
|
|||
// r.HandleFunc("/api/server/addnetwork/{network}", securityCheckServer(true, http.HandlerFunc(addNetwork))).Methods("POST")
|
||||
r.HandleFunc("/api/server/getconfig", securityCheckServer(false, http.HandlerFunc(getConfig))).Methods("GET")
|
||||
r.HandleFunc("/api/server/removenetwork/{network}", securityCheckServer(true, http.HandlerFunc(removeNetwork))).Methods("DELETE")
|
||||
r.HandleFunc("/api/server/register", nodeauth(http.HandlerFunc(register))).Methods("POST")
|
||||
r.HandleFunc("/api/server/register", authorize(true, false, "node", http.HandlerFunc(register))).Methods("POST")
|
||||
}
|
||||
|
||||
//Security check is middleware for every function and just checks to make sure that its the master calling
|
||||
|
|
|
@ -26,7 +26,7 @@ func GetCommands(cliFlags []cli.Flag) []*cli.Command {
|
|||
err = errors.New("no network provided")
|
||||
return err
|
||||
}
|
||||
err = command.Register(&cfg, pvtKey)
|
||||
err = command.Join(&cfg, pvtKey)
|
||||
return err
|
||||
},
|
||||
},
|
||||
|
|
|
@ -53,6 +53,7 @@ func Join(cfg *config.ClientConfig, privateKey string) error {
|
|||
functions.Pull(cfg.Network, true)
|
||||
}
|
||||
*/
|
||||
config.Write(cfg, cfg.Network)
|
||||
return err
|
||||
}
|
||||
|
||||
|
@ -118,7 +119,3 @@ func Daemon() error {
|
|||
err := functions.Daemon()
|
||||
return err
|
||||
}
|
||||
|
||||
func Register(cfg *config.ClientConfig, key string) error {
|
||||
return functions.Register(cfg, key)
|
||||
}
|
||||
|
|
|
@ -23,6 +23,7 @@ import (
|
|||
// ClientConfig - struct for dealing with client configuration
|
||||
type ClientConfig struct {
|
||||
Server ServerConfig `yaml:"server"`
|
||||
Registered bool `yaml:"registered"`
|
||||
Node models.Node `yaml:"node"`
|
||||
NetworkSettings models.Network `yaml:"networksettings"`
|
||||
Network string `yaml:"network"`
|
||||
|
|
|
@ -186,7 +186,12 @@ func JoinNetwork(cfg *config.ClientConfig, privateKey string) error {
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if cfg.Daemon != "off" {
|
||||
if !cfg.Registered {
|
||||
if err := Register(cfg, privateKey); err != nil {
|
||||
logger.Log(0, "registration failed", err.Error())
|
||||
}
|
||||
}
|
||||
if cfg.Daemon != "off" && cfg.Registered {
|
||||
err = daemon.InstallDaemon(cfg)
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package functions
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"crypto/ed25519"
|
||||
"crypto/rand"
|
||||
"encoding/json"
|
||||
|
@ -47,7 +46,8 @@ func Register(cfg *config.ClientConfig, key string) error {
|
|||
} else if err != nil {
|
||||
return err
|
||||
}
|
||||
return JoinNetwork(cfg, key)
|
||||
cfg.Registered = true
|
||||
return nil
|
||||
}
|
||||
|
||||
// RegisterWithServer calls the register endpoint with privatekey and commonname - api returns ca and client certificate
|
||||
|
@ -56,20 +56,14 @@ func RegisterWithServer(private *ed25519.PrivateKey, cfg *config.ClientConfig) e
|
|||
Key: *private,
|
||||
CommonName: tls.NewCName(cfg.Node.Name),
|
||||
}
|
||||
payload, err := json.Marshal(data)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
url := "https://" + cfg.Server.API + "/api/server/register"
|
||||
log.Println("register at ", url)
|
||||
request, err := http.NewRequest(http.MethodPost, url, bytes.NewBuffer(payload))
|
||||
|
||||
token, err := Authenticate(cfg)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
request.Header.Set("Content-Type", "application/json")
|
||||
request.Header.Set("authorization", "Bearer "+cfg.Server.AccessKey)
|
||||
client := http.Client{}
|
||||
response, err := client.Do(request)
|
||||
response, err := API(data, http.MethodPut, url, token)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue