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

     1  package telemetry
     2  
     3  import (
     4  	"emperror.dev/errors"
     5  	"github.com/spf13/pflag"
     6  	"github.com/spf13/viper"
     7  
     8  	"go.opencensus.io/stats/view"
     9  )
    10  
    11  type Config struct {
    12  	// Telemetry HTTP server address
    13  	Addr string
    14  
    15  	Stats []*view.View
    16  }
    17  
    18  func (c Config) SetDefaults(env *viper.Viper, flag *pflag.FlagSet) {
    19  	flag.String("telemetry-addr", ":10000", "Telemetry HTTP server address")
    20  	_ = env.BindPFlag("srv.monitor.telemetry.addr", flag.Lookup("telemetry-addr"))
    21  	env.SetDefault("srv.monitor.telemetry.addr", ":10000")
    22  }
    23  
    24  func (c Config) Validate() (err error) {
    25  	if c.Addr == "" {
    26  		err = errors.Append(err, errors.New("srv.monitor.telemetry.addr is required"))
    27  	}
    28  
    29  	return err
    30  }