- Move away from Webhook to APIRUL
- Make the Room ID a require field
- Set Authorization Credentails via Headers
Signed-off-by: gotjosh <josue.abreu@gmail.com>
Cisco's Webex has been one of the most requested notifiers on Grafana for a while now, please see: https://github.com/grafana/grafana/issues/11750#issue-318358659
Given it's straightforward implementation, low maintance overhead and request demand, I think it's worth including this directly in the Alertmanager.
Signed-off-by: gotjosh <josue.abreu@gmail.com>
While most integrations set a limit by UTF-8 compatible characters (some like Webex) use runes - as pointed out in https://github.com/prometheus/alertmanager/pull/3132. This PR makes it explicit wether the truncation is happening at a byte or rune level.
Signed-off-by: gotjosh <josue.abreu@gmail.com>
* Allow week to start at Monday or Sunday
Signed-off-by: Martin Schimandl <martin.schimandl@gmail.com>
* refactor from Int to DataType
Signed-off-by: Martin Schimandl <martin.schimandl@gmail.com>
* refactor to use name 'firstDayOfWeek' everywhere
Signed-off-by: Martin Schimandl <martin.schimandl@gmail.com>
* CSS fine tuning
Signed-off-by: Martin Schimandl <martin.schimandl@gmail.com>
* Check firstDayOfWeek with case statements
Signed-off-by: Martin Schimandl <martin.schimandl@gmail.com>
* Change default to Sunday. Use radio buttons
Signed-off-by: Martin Schimandl <martin.schimandl@gmail.com>
* Update ui/app/src/Views/Settings/Views.elm
Co-authored-by: Andrey Kuzmin <unsoundscapes@gmail.com>
Signed-off-by: Martin Schimandl <martin.schimandl@gmail.com>
* Regenerate assets_vfsdata.go
Signed-off-by: Martin Schimandl <martin.schimandl@gmail.com>
Signed-off-by: Martin Schimandl <martin.schimandl@gmail.com>
Co-authored-by: Andrey Kuzmin <unsoundscapes@gmail.com>
* Pass in response body to Retrier Check
* Custom error details for webhook notifier
Signed-off-by: Oktarian Tilney-Bassett <oktariantilneybassett@improbable.io>
No need to spawn a goroutine, nor wait for a channel.
Let's just put everything in a single select call.
Signed-off-by: Xavier Nicollet <xnicollet@gmail.com>
It seems useless to keep the notifications in the nflog for longer than
twice the repeat interval. This should help reduce memory usage of
clustered alertmanagers.
Signed-off-by: Julien Pivotto <roidelapluie@o11y.eu>
* Reduce memory utilization in downstream projects creating multiple Alertmanager instances
* Wrap the error instead of citing it
Signed-off-by: Marco Pracucci <marco@pracucci.com>
* add 'Link' button
adds a button to each alert that allows linking to a single alert.
This works by generating a link that filters on _all_ of the alert's
label values, similar to the button to create a new silence from an
alert.
Signed-off-by: Christopher Taylor <chris.taylor@soundcloud.com>
* update asset/assets_vfsdata.go
Signed-off-by: Christopher Taylor <chris.taylor@soundcloud.com>
Signed-off-by: Christopher Taylor <chris.taylor@soundcloud.com>
We don't need to test `getPassword()` separately as it can be covered
with the tests already checking the various authentication methods.
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
* Add explicit UTC to time interval tests
Signed-off-by: Ben Ridley <benridley29@gmail.com>
* Add timezone support to time intervals
Signed-off-by: Ben Ridley <benridley29@gmail.com>
* Update time interval documentation with time zone info
Signed-off-by: Ben Ridley <benridley29@gmail.com>
* Refactor notification tests to test timezone support
Signed-off-by: Ben Ridley <benridley29@gmail.com>
* Make use of Local more clear
Signed-off-by: Ben Ridley <benridley29@gmail.com>
* Fix documentation about timezone support.
Makes it clear that the default is UTC, but others are supported.
Signed-off-by: Ben Ridley <benridley29@gmail.com>
* Remove commented/unused function
Signed-off-by: Ben Ridley <benridley29@gmail.com>
* Fix tests using incorrect timezones
Previously tests were using time zone names that were unsupported by the
RFC822 parser. This switches the tests to use RFC822Z and specifies the
zones by number.
Signed-off-by: Ben Ridley <benridley29@gmail.com>
* Add a few more timezone test cases
Signed-off-by: Ben Ridley <benridley29@gmail.com>
* Remove unnecessary if/else branch
Co-authored-by: Sylvain Rabot <sylvain@abstraction.fr>
Signed-off-by: Ben Ridley <benridley29@gmail.com>
* Rename timezone to location for consistency with Go stdlib
Signed-off-by: Ben Ridley <benridley29@gmail.com>
* Make Windows timezone error more specific
Signed-off-by: Ben Ridley <benridley29@gmail.com>
* Update docs to use 'location'
Signed-off-by: Ben Ridley <benridley29@gmail.com>
* Apply suggestions from code review
Co-authored-by: Sylvain Rabot <sylvain@abstraction.fr>
Signed-off-by: Ben Ridley <benridley29@gmail.com>
Signed-off-by: Ben Ridley <benridley29@gmail.com>
Co-authored-by: Sylvain Rabot <sylvain@abstraction.fr>
* EmailConfig: Use CanonicalMIMEHeaderKey instead of TitleCasing for headers
Fixes#3064.
Signed-off-by: Joe Blubaugh <joe.blubaugh@grafana.com>
* Remove an unused field.
Signed-off-by: Joe Blubaugh <joe.blubaugh@grafana.com>
Signed-off-by: Joe Blubaugh <joe.blubaugh@grafana.com>
* SMTP config: add global and local password file fields
Add config fields (for both global email config and route-specific email
config) that specify path to file containing SMTP password. We don't
want the password in the config file itself, and reading the password
from a k8s-secret-backed file keeps the password itself "encrypted at
rest" in etcd, and cleanly separated from the rest of the AM config.
I used the same approach as pull request #2534 "Add support to set the
Slack URL in the file"
<https://github.com/prometheus/alertmanager/pull/2534/files> in the
upstream repo.
Signed-off-by: Eric R. Rath <eric.rath@oracle.com>
* changed *AuthPasswordFile field types to string per review feedback
Signed-off-by: Eric R. Rath <eric.rath@oracle.com>
* added error to getPassword() retval per review feedback
Signed-off-by: Eric R. Rath <eric.rath@oracle.com>
* simplified conf.smtp-* files
Signed-off-by: Eric R. Rath <eric.rath@oracle.com>
* update docs to reflect field type change
Signed-off-by: Eric R. Rath <eric.rath@oracle.com>
* don't treat username-without-password as invalid
Signed-off-by: Eric R. Rath <eric.rath@oracle.com>
* test cleanup
Signed-off-by: Eric R. Rath <eric.rath@oracle.com>
* Apply suggestions from code review
Co-authored-by: Simon Pasquier <spasquie@redhat.com>
Signed-off-by: Eric R. Rath <4080262+ericrrath@users.noreply.github.com>
* Updated per review feedback
Signed-off-by: Eric R. Rath <eric.rath@oracle.com>
* added sub-test per review feedback
Signed-off-by: Eric R. Rath <eric.rath@oracle.com>
* added test on Email.getPassword() per feedback
Signed-off-by: Eric R. Rath <eric.rath@oracle.com>
* only inherit global SMTP passwords if neither local password field is set
Signed-off-by: Eric R. Rath <eric.rath@oracle.com>
* removed blank line caught by gofumpt
Signed-off-by: Eric R. Rath <eric.rath@oracle.com>
Signed-off-by: Eric R. Rath <eric.rath@oracle.com>
Signed-off-by: Eric R. Rath <4080262+ericrrath@users.noreply.github.com>
Co-authored-by: Simon Pasquier <spasquie@redhat.com>
* Docs: Minor update to README.md to include links to receiver integrations
Updated receiver integrations with links to their landing pages for easier reference and accessibility.
Signed-off-by: sunb3am <57086182+sunb3am@users.noreply.github.com>
* Added link to integrations in documentation
Added a link to the integrations in our documentation for ease of access.
Signed-off-by: sunb3am <57086182+sunb3am@users.noreply.github.com>
* Added receiver integrations link
Signed-off-by: sunb3am <57086182+sunb3am@users.noreply.github.com>
* README.md: preserve Oxford comma :)
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
* Update README.md with clearer language
Rephrased receiver integrations text in README
Co-authored-by: Simon Pasquier <spasquie@redhat.com>
Signed-off-by: sunb3am <57086182+sunb3am@users.noreply.github.com>
Signed-off-by: sunb3am <57086182+sunb3am@users.noreply.github.com>
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
Co-authored-by: Simon Pasquier <spasquie@redhat.com>