github.com/vseinstrumentiru/lego@v1.0.2/internal/lego/monitor/config.go (about)

     1  package monitor
     2  
     3  import (
     4  	"emperror.dev/errors"
     5  	"github.com/spf13/pflag"
     6  	"github.com/spf13/viper"
     7  	"github.com/vseinstrumentiru/lego/internal/lego/monitor/errorhandler"
     8  	"github.com/vseinstrumentiru/lego/internal/lego/monitor/exporter"
     9  	"github.com/vseinstrumentiru/lego/internal/lego/monitor/log"
    10  	"github.com/vseinstrumentiru/lego/internal/lego/monitor/telemetry"
    11  	"github.com/vseinstrumentiru/lego/internal/lego/monitor/tracer"
    12  )
    13  
    14  type Config struct {
    15  	Log          log.Config
    16  	Errorhandler errorhandler.Config
    17  	Exporter     exporter.Config
    18  	Trace        tracer.Config
    19  	Telemetry    telemetry.Config
    20  }
    21  
    22  func (c Config) SetDefaults(env *viper.Viper, flag *pflag.FlagSet) {
    23  	c.Log.SetDefaults(env, flag)
    24  	c.Errorhandler.SetDefaults(env, flag)
    25  	c.Exporter.SetDefaults(env, flag)
    26  	c.Trace.SetDefaults(env, flag)
    27  	c.Telemetry.SetDefaults(env, flag)
    28  }
    29  
    30  func (c Config) Validate() (err error) {
    31  	err = errors.Append(err, c.Log.Validate())
    32  	err = errors.Append(err, c.Errorhandler.Validate())
    33  	err = errors.Append(err, c.Exporter.Validate())
    34  	err = errors.Append(err, c.Trace.Validate())
    35  	err = errors.Append(err, c.Telemetry.Validate())
    36  
    37  	return
    38  }