github.com/taubyte/tau-cli@v0.1.13-0.20240326000942-487f0d57edfc/singletons/config/load.go (about)

     1  package config
     2  
     3  import (
     4  	"os"
     5  	"path/filepath"
     6  
     7  	seer "github.com/taubyte/go-seer"
     8  	"github.com/taubyte/tau-cli/constants"
     9  	singletonsI18n "github.com/taubyte/tau-cli/i18n/singletons"
    10  	"github.com/taubyte/utils/fs/file"
    11  )
    12  
    13  func loadConfig() error {
    14  	if !file.Exists(constants.TauConfigFileName) {
    15  		_, err := os.Create(constants.TauConfigFileName)
    16  		if err != nil {
    17  			return singletonsI18n.CreatingConfigFileFailed(err)
    18  		}
    19  	}
    20  
    21  	_seer, err := seer.New(seer.SystemFS(filepath.Dir(constants.TauConfigFileName)))
    22  	if err != nil {
    23  		return singletonsI18n.CreatingSeerAtLocFailed(constants.TauConfigFileName, err)
    24  	}
    25  
    26  	_config = &tauConfig{
    27  		root: _seer,
    28  	}
    29  	return nil
    30  }