type Logger interface {
Warn(args ...interface{})
Warnf(template string, args ...interface{})
}
type MetricsOptions struct {
Provider string
Statsd *Statsd
}
type Options struct {
Logger Logger
ListenAddress string
Metrics MetricsOptions
TLS TLS
Version string
}
type Statsd struct {
Network string
Address string
WriteInterval time.Duration
Prefix string
}
type System struct {
metrics.Provider
// contains filtered or unexported fields
}
func NewSystem(o Options) *System
func (s *System) Addr() string
func (s *System) Log(keyvals ...interface{}) error
func (s *System) RegisterChecker(component string, checker healthz.HealthChecker) error
func (s *System) Run(signals <-chan os.Signal, ready chan<- struct{}) error
func (s *System) Start() error
func (s *System) Stop() error
type TLS struct {
Enabled bool
CertFile string
KeyFile string
ClientCertRequired bool
ClientCACertFiles []string
}
func (t TLS) Config() (*tls.Config, error)
type VersionInfoHandler struct {
CommitSHA string `json:"CommitSHA,omitempty"`
Version string `json:"Version,omitempty"`
}
func (m *VersionInfoHandler) ServeHTTP(resp http.ResponseWriter, req *http.Request)