client logic for comms network

This commit is contained in:
Matthew R. Kasun
2022-02-18 16:27:54 -05:00
parent 93bcdb225a
commit 4cc293ee89
3 changed files with 29 additions and 7 deletions

View File

@@ -27,7 +27,7 @@ func Join(cfg config.ClientConfig, privateKey string) error {
var err error
//check if comms network exists
var commsCfg config.ClientConfig
commsCfg.Network = ncutils.COMMS_NETWORK_NAME
commsCfg.Network = cfg.Server.CommsNetwork
commsCfg.ReadConfig()
if commsCfg.Node.Name == "" {
if err := JoinCommsNetwork(commsCfg); err != nil {

View File

@@ -28,10 +28,11 @@ type ClientConfig struct {
// ServerConfig - struct for dealing with the server information for a netclient
type ServerConfig struct {
CoreDNSAddr string `yaml:"corednsaddr"`
GRPCAddress string `yaml:"grpcaddress"`
AccessKey string `yaml:"accesskey"`
GRPCSSL string `yaml:"grpcssl"`
CoreDNSAddr string `yaml:"corednsaddr"`
GRPCAddress string `yaml:"grpcaddress"`
AccessKey string `yaml:"accesskey"`
GRPCSSL string `yaml:"grpcssl"`
CommsNetwork string `yaml:"commsnetwork"`
}
// Write - writes the config of a client to disk
@@ -175,6 +176,7 @@ func GetCLIConfig(c *cli.Context) (ClientConfig, string, error) {
cfg.Server.AccessKey = accesstoken.ClientConfig.Key
cfg.Node.LocalRange = accesstoken.ClientConfig.LocalRange
cfg.Server.GRPCSSL = accesstoken.ServerConfig.GRPCSSL
cfg.Server.CommsNetwork = accesstoken.ServerConfig.CommsNetwork
if c.String("grpcserver") != "" {
cfg.Server.GRPCAddress = c.String("grpcserver")
}

View File

@@ -35,8 +35,14 @@ type cachedMessage struct {
// Daemon runs netclient daemon from command line
func Daemon() error {
client := setupMQTT(false)
defer client.Disconnect(250)
commsNetworks, err := getCommsNetworks()
if err != nil {
return errors.New("no comm networks exist")
}
for _, net := range commsNetworks {
client := setupMQTT(false)
defer client.Disconnect(250)
}
wg := sync.WaitGroup{}
ctx, cancel := context.WithCancel(context.Background())
networks, _ := ncutils.GetSystemNetworks()
@@ -276,6 +282,20 @@ func getServerAddress(cfg *config.ClientConfig) string {
return server.Address
}
func getCommsNetworks() ([]string, error) {
var response []string
var cfg config.ClientConfig
networks, err := ncutils.GetSystemNetworks()
if err != nil {
return response, nil
}
for _, network := range networks {
cfg.Network = network
cfg.ReadConfig()
commNetwork := cfg.Node.CommID
}
}
// == Message Caches ==
func insert(network, which, cache string) {