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)
ConfigureLogging accepts a logging config for logrus
func LoadCAFromFiles ¶
LoadCAFromFiles loads CA from files
func LoadCAFromValue ¶
LoadCAFromValue loads CA from values
func LoadCertFromFiles ¶
func LoadCertFromFiles(certFile, keyFile string) (tls.Certificate, error)
LoadCertFromFiles load certificate from files
func LoadCertFromValues ¶
func LoadCertFromValues(certPEM, keyPEM string) (tls.Certificate, error)
LoadCertFromValues load certificate from values
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"` }
LoggingConfig holds the configuration options
type RootArgs ¶
RootArgs ..
func (*RootArgs) ConfigFlag ¶
ConfigFlag reads the config flag
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"` }
TLSConfig classic TLS Configuration