Documentation ¶
Index ¶
- func NewBasicAuthRoundTripper(username string, password Secret, passwordFile string, rt http.RoundTripper) http.RoundTripper
- func NewBearerAuthFileRoundTripper(bearerFile string, rt http.RoundTripper) http.RoundTripper
- func NewBearerAuthRoundTripper(token Secret, rt http.RoundTripper) http.RoundTripper
- func NewClientFromConfig(cfg HTTPClientConfig, name string) (*http.Client, error)
- func NewRoundTripperFromConfig(cfg HTTPClientConfig, name string) (http.RoundTripper, error)
- func NewTLSConfig(cfg *TLSConfig) (*tls.Config, error)
- type BasicAuth
- type HTTPClientConfig
- type Secret
- type TLSConfig
- type URL
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewBasicAuthRoundTripper ¶
func NewBasicAuthRoundTripper(username string, password Secret, passwordFile string, rt http.RoundTripper) http.RoundTripper
NewBasicAuthRoundTripper will apply a BASIC auth authorization header to a request unless it has already been set.
func NewBearerAuthFileRoundTripper ¶
func NewBearerAuthFileRoundTripper(bearerFile string, rt http.RoundTripper) http.RoundTripper
NewBearerAuthFileRoundTripper adds the bearer token read from the provided file to a request unless the authorization header has already been set. This file is read for every request.
func NewBearerAuthRoundTripper ¶
func NewBearerAuthRoundTripper(token Secret, rt http.RoundTripper) http.RoundTripper
NewBearerAuthRoundTripper adds the provided bearer token to a request unless the authorization header has already been set.
func NewClientFromConfig ¶
func NewClientFromConfig(cfg HTTPClientConfig, name string) (*http.Client, error)
NewClientFromConfig returns a new HTTP client configured for the given config.HTTPClientConfig. The name is used as go-conntrack metric label.
func NewRoundTripperFromConfig ¶
func NewRoundTripperFromConfig(cfg HTTPClientConfig, name string) (http.RoundTripper, error)
NewRoundTripperFromConfig returns a new HTTP RoundTripper configured for the given config.HTTPClientConfig. The name is used as go-conntrack metric label.
Types ¶
type BasicAuth ¶
type BasicAuth struct { Username string `yaml:"username"` Password Secret `yaml:"password,omitempty"` PasswordFile string `yaml:"password_file,omitempty"` }
BasicAuth contains basic HTTP authentication credentials.
func (*BasicAuth) UnmarshalYAML ¶
UnmarshalYAML implements the yaml.Unmarshaler interface.
type HTTPClientConfig ¶
type HTTPClientConfig struct { // The HTTP basic authentication credentials for the targets. BasicAuth *BasicAuth `yaml:"basic_auth,omitempty"` // The bearer token for the targets. BearerToken Secret `yaml:"bearer_token,omitempty"` // The bearer token file for the targets. BearerTokenFile string `yaml:"bearer_token_file,omitempty"` // HTTP proxy server to use to connect to the targets. ProxyURL URL `yaml:"proxy_url,omitempty"` // TLSConfig to use to connect to the targets. TLSConfig TLSConfig `yaml:"tls_config,omitempty"` }
HTTPClientConfig configures an HTTP client.
func (HTTPClientConfig) String ¶
func (c HTTPClientConfig) String() string
func (*HTTPClientConfig) UnmarshalYAML ¶
func (c *HTTPClientConfig) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements the yaml.Unmarshaler interface
func (*HTTPClientConfig) Validate ¶
func (c *HTTPClientConfig) Validate() error
Validate validates the HTTPClientConfig to check only one of BearerToken, BasicAuth and BearerTokenFile is configured.
type Secret ¶
type Secret = string
Secret replaces Prometheus' Secret type to be able to read secrets (password) from config file.
type TLSConfig ¶
type TLSConfig struct { // The CA cert to use for the targets. CAFile string `yaml:"ca_file,omitempty"` // The client cert file for the targets. CertFile string `yaml:"cert_file,omitempty"` // The client key file for the targets. KeyFile string `yaml:"key_file,omitempty"` // Used to verify the hostname for the targets. ServerName string `yaml:"server_name,omitempty"` // Disable target certificate validation. InsecureSkipVerify bool `yaml:"insecure_skip_verify"` }
TLSConfig configures the options for TLS connections.
func (*TLSConfig) UnmarshalYAML ¶
UnmarshalYAML implements the yaml.Unmarshaler interface.
type URL ¶
URL is a custom URL type that allows validation at configuration load time.
func (URL) MarshalYAML ¶
MarshalYAML implements the yaml.Marshaler interface for URLs.
func (*URL) UnmarshalYAML ¶
UnmarshalYAML implements the yaml.Unmarshaler interface for URLs.