github.com/filecoin-project/bacalhau@v0.3.23-0.20230228154132-45c989550ace/main.go (about)

     1  package main
     2  
     3  import (
     4  	"os"
     5  
     6  	"github.com/filecoin-project/bacalhau/pkg/config"
     7  	_ "github.com/filecoin-project/bacalhau/pkg/version"
     8  
     9  	"github.com/filecoin-project/bacalhau/cmd/bacalhau"
    10  
    11  	"github.com/filecoin-project/bacalhau/pkg/logger"
    12  	"github.com/filecoin-project/bacalhau/pkg/system"
    13  	"github.com/joho/godotenv"
    14  	"github.com/rs/zerolog/log"
    15  )
    16  
    17  func main() {
    18  	defer func() {
    19  		// Make sure any buffered logs are written if something failed before logging was configured.
    20  		logger.LogBufferedLogs(nil)
    21  	}()
    22  
    23  	_ = godotenv.Load()
    24  
    25  	devstackEnvFile := config.DevstackEnvFile()
    26  	if _, err := os.Stat(devstackEnvFile); err == nil {
    27  		log.Debug().Msgf("Loading environment from %s", devstackEnvFile)
    28  		_ = godotenv.Overload(devstackEnvFile)
    29  	}
    30  
    31  	if err := system.InitConfig(); err != nil {
    32  		log.Error().Msgf("Failed to initialize config: %s", err)
    33  		os.Exit(1)
    34  	}
    35  
    36  	bacalhau.Execute()
    37  }