clientconfig.go 956 B

12345678910111213141516171819202122232425262728293031323334
  1. package functions
  2. import (
  3. "github.com/gravitl/netmaker/logger"
  4. "github.com/gravitl/netmaker/netclient/config"
  5. "github.com/gravitl/netmaker/netclient/ncutils"
  6. )
  7. var updateRequired = false
  8. // UpdateClientConfig - function is called on daemon start to update clientConfig if required
  9. // Usage : set update required to true and and update logic to function
  10. func UpdateClientConfig() {
  11. if !updateRequired {
  12. return
  13. }
  14. networks, _ := ncutils.GetSystemNetworks()
  15. if len(networks) == 0 {
  16. return
  17. }
  18. for _, network := range networks {
  19. cfg := config.ClientConfig{}
  20. cfg.Network = network
  21. cfg.ReadConfig()
  22. //update any new fields
  23. logger.Log(0, "updating clientConfig for network", cfg.Network)
  24. //insert update logic here
  25. if err := config.Write(&cfg, cfg.Network); err != nil {
  26. logger.Log(0, "failed to update clientConfig for ", cfg.Network, err.Error())
  27. }
  28. }
  29. //reset so future calls will return immediately
  30. updateRequired = false
  31. }