github.com/thanos-io/thanos@v0.32.5/internal/cortex/util/flagext/register.go (about)

     1  // Copyright (c) The Cortex Authors.
     2  // Licensed under the Apache License 2.0.
     3  
     4  package flagext
     5  
     6  import "flag"
     7  
     8  // Registerer is a thing that can RegisterFlags
     9  type Registerer interface {
    10  	RegisterFlags(*flag.FlagSet)
    11  }
    12  
    13  // DefaultValues initiates a set of configs (Registerers) with their defaults.
    14  func DefaultValues(rs ...Registerer) {
    15  	fs := flag.NewFlagSet("", flag.PanicOnError)
    16  	for _, r := range rs {
    17  		r.RegisterFlags(fs)
    18  	}
    19  	_ = fs.Parse([]string{})
    20  }