mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-06 17:29:15 +08:00
allow adding address
This commit is contained in:
@@ -214,19 +214,28 @@ func CreateNode(node *models.Node) error {
|
|||||||
node.DNSOn = "no"
|
node.DNSOn = "no"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SetNodeDefaults(node)
|
SetNodeDefaults(node)
|
||||||
|
|
||||||
if node.IsServer == "yes" {
|
if node.IsServer == "yes" {
|
||||||
node.Address, err = UniqueAddressServer(node.Network)
|
if node.Address, err = UniqueAddressServer(node.Network); err != nil {
|
||||||
} else {
|
|
||||||
node.Address, err = UniqueAddress(node.Network)
|
|
||||||
}
|
|
||||||
if err != nil {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
node.Address6, err = UniqueAddress6(node.Network)
|
} else if node.Address == "" {
|
||||||
if err != nil {
|
if node.Address, err = UniqueAddress(node.Network); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
} else if !IsIPUnique(node.Network, node.Address, database.NODES_TABLE_NAME, false) {
|
||||||
|
return fmt.Errorf("invalid address: ipv4 " + node.Address + " is not unique")
|
||||||
|
}
|
||||||
|
|
||||||
|
if node.Address6 == "" {
|
||||||
|
if node.Address6, err = UniqueAddress6(node.Network); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
} else if !IsIPUnique(node.Network, node.Address6, database.NODES_TABLE_NAME, true) {
|
||||||
|
return fmt.Errorf("invalid address: ipv6 " + node.Address6 + " is not unique")
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: This covers legacy nodes, eventually want to remove legacy check
|
// TODO: This covers legacy nodes, eventually want to remove legacy check
|
||||||
if node.IsServer == "yes" {
|
if node.IsServer == "yes" {
|
||||||
|
@@ -77,6 +77,7 @@ func (config *ClientConfig) ReadConfig() {
|
|||||||
nofile := false
|
nofile := false
|
||||||
//home, err := homedir.Dir()
|
//home, err := homedir.Dir()
|
||||||
home := ncutils.GetNetclientPathSpecific()
|
home := ncutils.GetNetclientPathSpecific()
|
||||||
|
|
||||||
file := fmt.Sprintf(home + "netconfig-" + config.Network)
|
file := fmt.Sprintf(home + "netconfig-" + config.Network)
|
||||||
//f, err := os.Open(file)
|
//f, err := os.Open(file)
|
||||||
f, err := os.OpenFile(file, os.O_RDONLY, 0600)
|
f, err := os.OpenFile(file, os.O_RDONLY, 0600)
|
||||||
|
@@ -42,11 +42,17 @@ func SetupSystemDDaemon(interval string) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
systemservice := `[Unit]
|
systemservice := `[Unit]
|
||||||
Description=Netclient message queue
|
Description=Netclient Daemon
|
||||||
|
Documentation=https://docs.netmaker.org https://k8s.netmaker.org
|
||||||
|
After=network-online.target
|
||||||
|
Wants=network-online.target systemd-networkd-wait-online.service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
|
User=root
|
||||||
Type=simple
|
Type=simple
|
||||||
ExecStart=/usr/sbin/netclient daemon
|
ExecStart=/sbin/netclient daemon
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=15s
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
@@ -116,7 +116,6 @@ func JoinNetwork(cfg config.ClientConfig, privateKey string) error {
|
|||||||
cfg.Node.DNSOn = "no"
|
cfg.Node.DNSOn = "no"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ncutils.IsFreeBSD() {
|
if ncutils.IsFreeBSD() {
|
||||||
cfg.Node.UDPHolePunch = "no"
|
cfg.Node.UDPHolePunch = "no"
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user