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 LoadConfig(cmd *cobra.Command, serviceName string, input interface{}) error
- func LoadConfigWithFile(serviceName, configFile string, input interface{}) error
- func LoadFromEnv(prefix, filename string, face interface{}) error
- func SetupBugSnag(config *BugSnagConfig, version string) error
- type BugSnagConfig
- type HTTPClientTimeoutConfig
- type HTTPServerTimeoutConfig
- type LoggingConfig
- type RootArgs
- 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 LoadConfig ¶
LoadConfig loads the config from a file if specified, otherwise from the environment
func LoadConfigWithFile ¶
LoadConfigWithFile loads the service configuration from an optional file, otherwise from the environment
func LoadFromEnv ¶
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.