MCPcopy Create free account
hub / github.com/actiontech/dtle / SetConfig

Method SetConfig

driver/driver.go:382–462  ·  view source on GitHub ↗
(c *base.Config)

Source from the content-addressed store, hash-verified

380}
381
382func (d *Driver) SetConfig(c *base.Config) (err error) {
383 if c != nil && c.AgentConfig != nil {
384 d.nomadConfig = c.AgentConfig.Driver
385 d.logger.Info("SetConfig 1", "DriverConfig", c.AgentConfig.Driver)
386 }
387
388 d.config = new(DriverConfig)
389 if len(c.PluginConfig) != 0 {
390 if err := base.MsgPackDecode(c.PluginConfig, d.config); err != nil {
391 return err
392 }
393 }
394
395 d.logger.Info("SetConfig 2", "config", d.config)
396
397 err = d.setupLogger()
398 if err != nil {
399 return errors.Wrap(err, "setupLogger")
400 }
401
402 //if dconfig.Memory != "" {
403 // g.MemAvailable = TODO
404 //}
405 if d.config.BigTxMaxJobs != 0 {
406 g.BigTxMaxJobs = d.config.BigTxMaxJobs
407 }
408 d.logger.Info("BigTxMaxJobs is set", "value", g.BigTxMaxJobs)
409
410 if "" != d.config.RsaPrivateKeyPath {
411 b, err := ioutil.ReadFile(d.config.RsaPrivateKeyPath)
412 if nil != err {
413 return fmt.Errorf("read rsa private key file failed: %v", err)
414 }
415 g.RsaPrivateKey = string(b)
416 }
417
418 if d.storeManager != nil {
419 // PluginLoader.validatePluginConfig() will call SetConfig() twice.
420 // This test avoids extra setup.
421 return nil
422 } else {
423 d.storeManager, err = common.NewStoreManager([]string{d.config.Consul}, d.logger)
424 if err != nil {
425 return err
426 }
427
428 go func() {
429 if d.config.ApiAddr == "" {
430 d.logger.Info("ApiAddr is empty in config. Will not start api_compat server.")
431 } else {
432 if d.config.NomadAddr == "" {
433 d.logger.Info("NomadAddr is empty in config. Will not handle api_compat request.")
434 go func() {
435 // for pprof
436 err := http.ListenAndServe(d.config.ApiAddr, http.DefaultServeMux)
437 if err != nil {
438 d.logger.Error("ListenAndServe error", "err", err, "addr", d.config.ApiAddr)
439 }

Callers

nothing calls this directly

Calls 4

setupLoggerMethod · 0.95
SetupNatsServerMethod · 0.95
loopCleanRelayDirMethod · 0.95
NewStoreManagerFunction · 0.92

Tested by

no test coverage detected