github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/cmd/subd/loadConfiguration.go (about)

     1  package main
     2  
     3  import (
     4  	"os"
     5  	"path"
     6  
     7  	"github.com/Cloud-Foundations/Dominator/lib/json"
     8  	"github.com/Cloud-Foundations/Dominator/lib/log"
     9  	"github.com/Cloud-Foundations/Dominator/lib/verstr"
    10  	"github.com/Cloud-Foundations/Dominator/proto/sub"
    11  )
    12  
    13  func loadConfiguration(confDir string, conf *sub.Configuration,
    14  	logger log.Logger) {
    15  	file, err := os.Open(confDir)
    16  	if err != nil {
    17  		if !os.IsNotExist(err) {
    18  			logger.Println(err)
    19  		}
    20  		return
    21  	}
    22  	names, err := file.Readdirnames(-1)
    23  	file.Close()
    24  	if err != nil {
    25  		logger.Println(err)
    26  		return
    27  	}
    28  	verstr.Sort(names)
    29  	for _, name := range names {
    30  		filename := path.Join(confDir, name)
    31  		if err := json.ReadFromFile(filename, conf); err != nil {
    32  			if !os.IsNotExist(err) {
    33  				logger.Println(err)
    34  			}
    35  		}
    36  	}
    37  }