Documentation
¶
Index ¶
- func ConfigureLogging(config *LoggingConfig) (*logrus.Entry, error)
- func LoadCAFromFiles(cafiles []string) (*x509.CertPool, error)
- func LoadCAFromValue(ca string) (*x509.CertPool, error)
- func LoadCertFromFiles(certFile, keyFile string) (tls.Certificate, error)
- func LoadCertFromValues(certPEM, keyPEM string) (tls.Certificate, error)
- func LoadFromEnv(prefix, filename string, face interface{}) error
- func LoadFromFile(configFile string, input interface{}) error
- func SetupBugSnag(config *BugSnagConfig, version string) error
- type BugSnagConfig
- type HTTPClientTimeoutConfig
- type HTTPServerTimeoutConfig
- type LoggingConfig
- type RootArgs
- func (args *RootArgs) AddFlags(cmd *cobra.Command) *cobra.Command
- func (args *RootArgs) ConfigFlag() *pflag.Flag
- func (args *RootArgs) MustSetup(config interface{}, serviceName, version string) logrus.FieldLogger
- func (args *RootArgs) PrefixFlag() *pflag.Flag
- func (args *RootArgs) Setup(config interface{}, serviceName, version string) (logrus.FieldLogger, error)
- type TLSConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConfigureLogging ¶
func ConfigureLogging(config *LoggingConfig) (*logrus.Entry, error)
func LoadCertFromFiles ¶
func LoadCertFromFiles(certFile, keyFile string) (tls.Certificate, error)
func LoadCertFromValues ¶
func LoadCertFromValues(certPEM, keyPEM string) (tls.Certificate, error)
func LoadFromEnv ¶
func LoadFromFile ¶ added in v0.40.1
LoadFromFile will load the configuration from the specified file based on the file type There is only support for .json and .yml now
func SetupBugSnag ¶
func SetupBugSnag(config *BugSnagConfig, version string) error
Types ¶
type BugSnagConfig ¶
type HTTPClientTimeoutConfig ¶
type HTTPClientTimeoutConfig struct { // Dial = net.Dialer.Timeout Dial time.Duration `mapstructure:"dial"` // KeepAlive = net.Dialer.KeepAlive KeepAlive time.Duration `mapstructure:"keep_alive" split_words:"true"` // TLSHandshake = http.Transport.TLSHandshakeTimeout TLSHandshake time.Duration `mapstructure:"tls_handshake" split_words:"true"` // ResponseHeader = http.Transport.ResponseHeaderTimeout ResponseHeader time.Duration `mapstructure:"response_header" split_words:"true"` // Total = http.Client.Timeout or equivalent // The maximum amount of time a client request can take. Total time.Duration `mapstructure:"total"` }
HTTPClientTimeoutConfig represents common HTTP client timeout values
type HTTPServerTimeoutConfig ¶
type HTTPServerTimeoutConfig struct { // Read = http.Server.ReadTimeout Read time.Duration `mapstructure:"read"` // Write = http.Server.WriteTimeout Write time.Duration `mapstructure:"write"` // Handler = http.TimeoutHandler (or equivalent). // The maximum amount of time a server handler can take. Handler time.Duration `mapstructure:"handler"` }
HTTPServerTimeoutConfig represents common HTTP server timeout values
type LoggingConfig ¶
type LoggingConfig struct { Level string `mapstructure:"log_level" json:"log_level"` File string `mapstructure:"log_file" json:"log_file"` DisableColors bool `mapstructure:"disable_colors" split_words:"true" json:"disable_colors"` QuoteEmptyFields bool `mapstructure:"quote_empty_fields" split_words:"true" json:"quote_empty_fields"` TSFormat string `mapstructure:"ts_format" json:"ts_format"` Fields map[string]interface{} `mapstructure:"fields" json:"fields"` UseNewLogger bool `mapstructure:"use_new_logger",split_words:"true"` }
type RootArgs ¶
func (*RootArgs) ConfigFlag ¶
func (*RootArgs) MustSetup ¶
func (args *RootArgs) MustSetup(config interface{}, serviceName, version string) logrus.FieldLogger
func (*RootArgs) PrefixFlag ¶
type TLSConfig ¶
type TLSConfig struct { CAFiles []string `mapstructure:"ca_files" envconfig:"ca_files"` KeyFile string `mapstructure:"key_file" split_words:"true"` CertFile string `mapstructure:"cert_file" split_words:"true"` Cert string `mapstructure:"cert"` Key string `mapstructure:"key"` CA string `mapstructure:"ca"` Insecure bool `default:"false"` Enabled bool `default:"false"` }
Click to show internal directories.
Click to hide internal directories.