Commit 4326b1eb authored by pasquier-s's avatar pasquier-s Committed by Brian Brazil

Add HTTP client configuration to AlertManager (#963)

parent e76d1c03
...@@ -83,6 +83,9 @@ global: ...@@ -83,6 +83,9 @@ global:
[ hipchat_url: <string> | default = "https://api.hipchat.com/" ] [ hipchat_url: <string> | default = "https://api.hipchat.com/" ]
[ hipchat_auth_token: <secret> ] [ hipchat_auth_token: <secret> ]
# The default HTTP client configuration
[ http_config: <http_config> ]
# Files from which custom notification template definitions are read. # Files from which custom notification template definitions are read.
# The last component may use a wildcard matcher, e.g. 'templates/*.tmpl'. # The last component may use a wildcard matcher, e.g. 'templates/*.tmpl'.
templates: templates:
...@@ -206,6 +209,43 @@ source_match_re: ...@@ -206,6 +209,43 @@ source_match_re:
``` ```
## `<http_config>`
A `http_config` allows configuring the HTTP client that the receiver uses to
communicate with HTTP-based API services.
```yaml
# Note that `basic_auth`, `bearer_token` and `bearer_token_file` options are
# mutually exclusive.
# Sets the `Authorization` header with the configured username and password.
basic_auth:
[ username: <string> ]
[ password: <secret> ]
# Sets the `Authorization` header with the configured bearer token.
[ bearer_token: <secret> ]
# Sets the `Authorization` header with the bearer token read from the configured file.
[ bearer_token_file: <filepath> ]
# Configures the TLS settings.
tls_config:
# CA certificate to validate the server certificate with.
[ ca_file: <filepath> ]
# Certificate and key files for client cert authentication to the server.
[ cert_file: <filepath> ]
[ key_file: <filepath> ]
# ServerName extension to indicate the name of the server.
# http://tools.ietf.org/html/rfc4366#section-3.1
[ server_name: <string> ]
# Disable validation of the server certificate.
[ insecure_skip_verity: <boolean> | default = false]
# Optional proxy URL.
[ proxy_url: <string> ]
```
## `<receiver>` ## `<receiver>`
Receiver is a named configuration of one or more notification integrations. Receiver is a named configuration of one or more notification integrations.
...@@ -293,6 +333,9 @@ room_id: <tmpl_string> ...@@ -293,6 +333,9 @@ room_id: <tmpl_string>
[ message_format: <string> | default = 'text' ] [ message_format: <string> | default = 'text' ]
# Background color for message. # Background color for message.
[ color: <tmpl_string> | default = '{{ if eq .Status "firing" }}red{{ else }}green{{ end }}' ] [ color: <tmpl_string> | default = '{{ if eq .Status "firing" }}red{{ else }}green{{ end }}' ]
# The HTTP client's configuration.
[ http_config: <http_config> | default = global.http_config ]
``` ```
## `<pagerduty_config>` ## `<pagerduty_config>`
...@@ -332,6 +375,9 @@ service_key: <tmpl_secret> ...@@ -332,6 +375,9 @@ service_key: <tmpl_secret>
num_firing: '{{ .Alerts.Firing | len }}' num_firing: '{{ .Alerts.Firing | len }}'
num_resolved: '{{ .Alerts.Resolved | len }}' num_resolved: '{{ .Alerts.Resolved | len }}'
} ] } ]
# The HTTP client's configuration.
[ http_config: <http_config> | default = global.http_config ]
``` ```
## `<pushover_config>` ## `<pushover_config>`
...@@ -367,6 +413,9 @@ token: <secret> ...@@ -367,6 +413,9 @@ token: <secret>
# How long your notification will continue to be retried for, unless the user # How long your notification will continue to be retried for, unless the user
# acknowledges the notification. # acknowledges the notification.
[ expire: <duration> | default = 1h ] [ expire: <duration> | default = 1h ]
# The HTTP client's configuration.
[ http_config: <http_config> | default = global.http_config ]
``` ```
## `<slack_config>` ## `<slack_config>`
...@@ -393,6 +442,9 @@ channel: <tmpl_string> ...@@ -393,6 +442,9 @@ channel: <tmpl_string>
[ pretext: <tmpl_string> | default = '{{ template "slack.default.pretext" . }}' ] [ pretext: <tmpl_string> | default = '{{ template "slack.default.pretext" . }}' ]
[ text: <tmpl_string> | default = '{{ template "slack.default.text" . }}' ] [ text: <tmpl_string> | default = '{{ template "slack.default.text" . }}' ]
[ fallback: <tmpl_string> | default = '{{ template "slack.default.fallback" . }}' ] [ fallback: <tmpl_string> | default = '{{ template "slack.default.fallback" . }}' ]
# The HTTP client's configuration.
[ http_config: <http_config> | default = global.http_config ]
``` ```
## `<opsgenie_config>` ## `<opsgenie_config>`
...@@ -433,6 +485,9 @@ OpsGenie notifications are sent via the [OpsGenie API](https://www.opsgenie.com/ ...@@ -433,6 +485,9 @@ OpsGenie notifications are sent via the [OpsGenie API](https://www.opsgenie.com/
# Priority level of alert. Possible values are P1, P2, P3, P4, and P5. # Priority level of alert. Possible values are P1, P2, P3, P4, and P5.
[ priority: <tmpl_string> ] [ priority: <tmpl_string> ]
# The HTTP client's configuration.
[ http_config: <http_config> | default = global.http_config ]
``` ```
## `<victorops_config>` ## `<victorops_config>`
...@@ -464,6 +519,8 @@ routing_key: <string> ...@@ -464,6 +519,8 @@ routing_key: <string>
# The monitoring tool the state message is from. # The monitoring tool the state message is from.
[ monitoring_tool: <tmpl_string> | default = '{{ template "victorops.default.monitoring_tool" . }}' ] [ monitoring_tool: <tmpl_string> | default = '{{ template "victorops.default.monitoring_tool" . }}' ]
# The HTTP client's configuration.
[ http_config: <http_config> | default = global.http_config ]
``` ```
## `<webhook_config>` ## `<webhook_config>`
...@@ -476,6 +533,9 @@ The webhook receiver allows configuring a generic receiver. ...@@ -476,6 +533,9 @@ The webhook receiver allows configuring a generic receiver.
# The endpoint to send HTTP POST requests to. # The endpoint to send HTTP POST requests to.
url: <string> url: <string>
# The HTTP client's configuration.
[ http_config: <http_config> | default = global.http_config ]
``` ```
The Alertmanager The Alertmanager
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment