* Make sure Metric field in Discord notification is never empty
Discord uniquely does not send the alert if the metric field is empty, which can happen in some cases, such as when the legend is {{hostname}}.
Signed-off-by: Levi Harrison <levisamuelharrison@gmail.com>
* Changed name of empty metric in Discord alert
Signed-off-by: Levi Harrison <levisamuelharrison@gmail.com>
Fixes behaviour of Notify that returns error when one of the dispatch
event return error, to maintain high availability, we should return error
when all dispatched events return error instead.
Fixes#30509
* Introduce PluginRequestValidator abstraction with a NoOp implementation
* Update PluginRequestValidator abstraction to use the dsURL instead
* Inject PluginRequestValidator into the HTTPServer and validate requests going through data source proxy
* Inject PluginRequestValidator into the BackendPluginManager and validate requests going through it
* Validate requests going through QueryMetrics & QueryMetricsV2
* Validate BackendPluginManager health requests
* Fix backend plugins manager tests
* Validate requests going through alerting service
* Fix tests
* fix tests
* goimports
Co-authored-by: Leonard Gram <leo@xlson.com>
* Add support for Sensu Go notification channel
Similar to current support for the older "Core" version of
Sensu, this commit add support for the newer version.
Closes#19908
Signed-off-by: Todd Campbell <todd@sensu.io>
* fix linter errors
Signed-off-by: Todd Campbell <todd@sensu.io>
* Apply suggestions from code review
PR review suggestions
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
* Fix no new variables error
* Replace convey testing with testify
Signed-off-by: Todd Campbell <todd@sensu.io>
* Wording suggestions
Signed-off-by: Todd Campbell <todd@sensu.io>
* Add docker compose environment for testing/maintenance
Signed-off-by: Todd Campbell <todd@sensu.io>
* Renamed and fixed docker-compose.yaml to work in devenv
Signed-off-by: Todd Campbell <todd@sensu.io>
* Change sensugo web UI port to 3080 so as not to conflict with grafana
Signed-off-by: Todd Campbell <todd@sensu.io>
* Apply suggestions from code review
Set the API key as a secure value.
Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
* Add Sensu Go information to notifications doc
Signed-off-by: Todd Campbell <todd@sensu.io>
* Update pkg/services/alerting/notifiers/sensugo.go
Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
* change assert to require for Error/NoError tests
Signed-off-by: Todd Campbell <todd@sensu.io>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
* implement edit page
* connectWithCleanup
* remove angular related code
* use loadingindicator
* use the correct loading component
* handle secureFields
* fixed implementation of secure fields
* Keep secureFields after rerendering the form
* CollapsableSection and Page refactor
* use checkbox instead of switch
* fix comment
* add cursor to section
* Fixed issues after PR review
* Fix issue with some settings being undefined
* new reducer and start with test
* algorithm to migrate secure fields
* UX: Minor UI Tweaks
* Added field around checkboxes, and missing required field
* fixed test
* tests for util
* minor tweaks and changes
* define as records
* fix typ error
* forward invalid to textarea and inputcontrol
* merge formdata and redux data in test
* fix issue with creating channel
* do not figure out securefields in migration
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Can be hard for users to understand what user is configured
when encrypting the username field why this reverts to
store the username in cleartext.
Also, we don't encrypt username for data sources.
Ref #25967
Support storing sensitive notification settings securely/encrypted.
Move slack notifier url and api token to secure settings.
Migrating slack notifier to store token and url encrypted is currently
a manual process by saving an existing slack alert notification channel.
saving an existing slack alert notification channel will reset the stored
non-secure url and token.
Closes#25113
Ref #25967
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
* creating page
* add types select
* adding switches
* start with converting angular templates to json
* converting more alert channels to new format
* convert remaining channels
* typing the form
* add validation, update models
* fix default value in type select
* fix type
* fix issue with validation rule
* add missing settings
* fix type errors
* test notification
* add comments to structs
* fix selectable value and minor things on each channel
* More typings
* fix strictnull
* rename ModelValue -> PropertyName
* rename show -> showWhen
* add enums and adding comments
* fix comment
* break out channel options to component
* use try catch
* adding default case to OptionElement if element not supported
* Alerting: Adds support for multiple URLs in Alertmanager notifier
Adds support for multiple URLs in Alertmanager notifier following
alertmanager documentation for high availability setup.
Update the documentation for alertmanager notifier.
Closes#24195
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-authored-by: bergquist <carl.bergquist@gmail.com>
* Hangouts: fixes notifications for alerts with empty message
* Update pkg/services/alerting/notifiers/googlechat.go
Co-Authored-By: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>