Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Cmd = &cobra.Command{ Use: "run", Example: "run --config ./config/vigie.toml", Short: "Start Tests", PreRun: func(cmd *cobra.Command, args []string) { // // Create Vigie Instance // var err error vigieInstance, err = vigie.NewVigie() if err != nil { utils.Log.WithFields(logrus.Fields{"component": "vigie", "status": "error", "error": "Vigie cannot start"}).Fatal(err) os.Exit(1) } }, Run: func(cmd *cobra.Command, args []string) { vigieConf := loadVigieConfigFile(configfile) utils.InitLogger(vigieConf.Log) vigieConf.Host.AddHostSytemInfo() vigieInstance.HostInfo = vigieConf.Host _, errValidate := govalidator.ValidateStruct(vigieConf) if errValidate != nil { utils.Log.WithFields(logrus.Fields{"component": "configfile", "status": "invalid", "error": "Vigie Config File is invalid"}).Fatal(errValidate) os.Exit(1) } utils.Log.WithFields(logrus.Fields{ "version": version.LdVersion, "goruntime": runtime.Version(), "arch": fmt.Sprintf("%s/%s", runtime.GOOS, runtime.GOARCH), "builddate": version.LdBuildDate, "configfile": configfile, }).Infof("Vigie") if vigieConf.API.Enable { errWebAPI := webapi.InitWebAPI(vigieConf.API, vigieInstance) if errWebAPI != nil { utils.Log.WithFields(logrus.Fields{"component": "api", "status": "failed", "error": errWebAPI}).Fatal("[ConfWebAPI] has failed to start") os.Exit(1) } } if vigieConf.InfluxDB.Enable { errInflux := tsdb.LoadInfluxDB(vigieConf.InfluxDB) if errInflux != nil { utils.Log.Fatal("Vigie failed to connect with InfluxDB:", errInflux) os.Exit(1) } } if vigieConf.Prometheus.Enable { go promexporter.InitPromExporter(vigieConf.Prometheus) } if vigieConf.Alerting.Enable { go alertmanager.InitAlertManager(vigieConf.Alerting, vigieInstance.HostInfo.Name, vigieInstance.HostInfo.URL) } if vigieConf.Git.Clone { errGit := load.CloneGitRepo(vigieConf.Git) if errGit != nil { utils.Log.Fatal("Failed to clone : ", errGit) } } // // Loading Conf to Vigie Instance // var errImportFile error vigieInstance.TestsFiles, vigieInstance.VarsFiles, errImportFile = load.ImportFileandVars(vigieConf.Testfiles, vigieConf.Variables) if errImportFile != nil { utils.Log.Fatalf("Failed to import tests from %q: %s", vigieConf.Testfiles.Included, errImportFile.Error()) os.Exit(1) } else { utils.Log.Infof("Files detected from %s : %s", vigieConf.Testfiles.Included, vigieInstance.TestsFiles) } utils.CACHEDDNSRESOLVER, _ = dnscache.NewCachedResolver() err := vigieInstance.Start() if err != nil { utils.Log.Fatal("Vigie failed to launch: ", err) os.Exit(1) } }, }
Cmd run
Functions ¶
This section is empty.
Types ¶
type VigieConf ¶
type VigieConf struct { ApiVersion float32 Environment string // Production, Dev Host vigie.HostInfo Git load.ConfGit Testfiles load.ConfTestfiles Variables load.ConfVariables API webapi.ConfWebAPI Prometheus promexporter.ConfPrometheus InfluxDB tsdb.ConfInfluxDB Alerting alertmanager.ConfAlerting Log utils.LogConf }
Click to show internal directories.
Click to hide internal directories.