|
@@ -25,25 +25,13 @@ var (
|
|
|
|
|
|
// ClientConfig - struct for dealing with client configuration
|
|
|
type ClientConfig struct {
|
|
|
- Server ServerConfig `yaml:"server"`
|
|
|
- Node models.Node `yaml:"node"`
|
|
|
- NetworkSettings models.Network `yaml:"networksettings"`
|
|
|
- Network string `yaml:"network"`
|
|
|
- Daemon string `yaml:"daemon"`
|
|
|
- OperatingSystem string `yaml:"operatingsystem"`
|
|
|
-}
|
|
|
-
|
|
|
-// ServerConfig - struct for dealing with the server information for a netclient
|
|
|
-type ServerConfig struct {
|
|
|
- CoreDNSAddr string `yaml:"corednsaddr"`
|
|
|
- API string `yaml:"apihost"`
|
|
|
- APIPort string `yaml:"apiport"`
|
|
|
- ClientMode string `yaml:"clientmode"`
|
|
|
- DNSMode string `yaml:"dnsmode"`
|
|
|
- Version string `yaml:"version"`
|
|
|
- MQPort string `yaml:"mqport"`
|
|
|
- Server string `yaml:"server"`
|
|
|
- AccessKey string `yaml:"accesskey"`
|
|
|
+ Server models.ServerConfig `yaml:"server"`
|
|
|
+ Node models.Node `yaml:"node"`
|
|
|
+ NetworkSettings models.Network `yaml:"networksettings"`
|
|
|
+ Network string `yaml:"network"`
|
|
|
+ Daemon string `yaml:"daemon"`
|
|
|
+ OperatingSystem string `yaml:"operatingsystem"`
|
|
|
+ AccessKey string `yaml:"accesskey"`
|
|
|
}
|
|
|
|
|
|
// RegisterRequest - struct for registation with netmaker server
|
|
@@ -134,8 +122,8 @@ func (config *ClientConfig) ReadConfig() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-// ModConfig - overwrites the node inside client config on disk
|
|
|
-func ModConfig(node *models.Node) error {
|
|
|
+// ModNodeConfig - overwrites the node inside client config on disk
|
|
|
+func ModNodeConfig(node *models.Node) error {
|
|
|
network := node.Network
|
|
|
if network == "" {
|
|
|
return errors.New("no network provided")
|
|
@@ -154,6 +142,21 @@ func ModConfig(node *models.Node) error {
|
|
|
return Write(&modconfig, network)
|
|
|
}
|
|
|
|
|
|
+// ModNodeConfig - overwrites the server settings inside client config on disk
|
|
|
+func ModServerConfig(scfg *models.ServerConfig, network string) error {
|
|
|
+ var modconfig ClientConfig
|
|
|
+ if FileExists(ncutils.GetNetclientPathSpecific() + "netconfig-" + network) {
|
|
|
+ useconfig, err := ReadConfig(network)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ modconfig = *useconfig
|
|
|
+ }
|
|
|
+
|
|
|
+ modconfig.Server = (*scfg)
|
|
|
+ return Write(&modconfig, network)
|
|
|
+}
|
|
|
+
|
|
|
// SaveBackup - saves a backup file of a given network
|
|
|
func SaveBackup(network string) error {
|
|
|
|
|
@@ -202,12 +205,12 @@ func GetCLIConfig(c *cli.Context) (ClientConfig, string, error) {
|
|
|
}
|
|
|
cfg.Network = accesstoken.ClientConfig.Network
|
|
|
cfg.Node.Network = accesstoken.ClientConfig.Network
|
|
|
- cfg.Server.AccessKey = accesstoken.ClientConfig.Key
|
|
|
+ cfg.AccessKey = accesstoken.ClientConfig.Key
|
|
|
cfg.Node.LocalRange = accesstoken.ClientConfig.LocalRange
|
|
|
//cfg.Server.Server = accesstoken.ServerConfig.Server
|
|
|
- cfg.Server.API = accesstoken.ServerConfig.APIConnString
|
|
|
+ cfg.Server.API = accesstoken.APIConnString
|
|
|
if c.String("key") != "" {
|
|
|
- cfg.Server.AccessKey = c.String("key")
|
|
|
+ cfg.AccessKey = c.String("key")
|
|
|
}
|
|
|
if c.String("network") != "all" {
|
|
|
cfg.Network = c.String("network")
|
|
@@ -223,7 +226,7 @@ func GetCLIConfig(c *cli.Context) (ClientConfig, string, error) {
|
|
|
cfg.Server.API = c.String("apiserver")
|
|
|
}
|
|
|
} else {
|
|
|
- cfg.Server.AccessKey = c.String("key")
|
|
|
+ cfg.AccessKey = c.String("key")
|
|
|
cfg.Network = c.String("network")
|
|
|
cfg.Node.Network = c.String("network")
|
|
|
cfg.Node.LocalRange = c.String("localrange")
|