Commit Graph

157 Commits

Author SHA1 Message Date
Konrad Lalik
87383b1c8b Alerting: FGAC for alert rules page (#47418)
* Apply FGAC on the alert rules list page

* Add tests for edit, delete and silence buttons

* Unify access-control helpers

* Fix import

* Add route permissions for alert groups, unify access control helpers

* Improve buttons with data source explore permission

* Fix test
2022-04-08 13:34:02 +02:00
Nathan Rodman
49505b9a3b Alerting: fgac for notification policies and contact points (#46939)
* add FGAC actions for silences table

* redirect users without permissions

* add permissions checks to routes

* add fgac to notifications and contact points

* fgac for notification policies

* fix mute timing authorization

* use consistent naming for checking grafana alertmanager

* tests for fgac in contact points and notification policies

* bump up timeout on rule editor test

* use new permissions util

* break out route evaluation into util

* Remove test timeout

* Change permissions for the alert-notifiers endpoint

* Use signed in handler for alert-notifiers when unified alerting enabled

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2022-04-06 18:24:33 +02:00
Konrad Lalik
6992d17924 Alerting: Add support to distinguish Prometheus datasource subtypes (Mimir, Cortex and Vanilla Prometheus) (#46771)
* Add basic UI for custom ruler URL

* Add build info fetching for alerting data sources

* Add keeping data sources build info in the store

* Use data source build info to construct data source urls

* Remove unused code

* Add custom ruler support in prometheus api calls

* Migrate actions

* Use thunk condition to prevent multiple data source buildinfo fetches

* Unify prom and ruler rules loading

* Upgrade RuleEditor tests

* Upgrade RuleList tests

* Upgrade PanelAlertTab tests

* Upgrade actions tests

* Build info refactoring

* Get rid of lotex ruler support action

* Add prom ruler availability checking when the buildinfo is not available

* Add rulerUrlBuilder tests

* Improve prometheus data source validation, small build info refactoring

* Change prefix based on Prometheus subtype

* Use the correct path

* Revert config routing

* Add deprecation notice for /api/prom prefix

* Add tests to the datasource subtype

* Remove custom ruler support

* Remove deprecation notice

* Prevent fetching ruler rules when ruler api is not available

* Add build info tests

* Unify naming of ruler methods

* Fix test

* Change buildinfo data source validation

* Use strings for subtype params and unveil mimir

* organise imports

* frontend changes and wordsmithing

* fix test suite

* add a nicer verbose message for prometheus datasources

* detect Mimir datasource

* fix test

* fix buildinfo test for Mimir

* shrink vectors

* add some code documentation

* DRY prepareRulesFilterQueryParams

* clarify that Prometheus does not support managing rules

* Improve buildinfo error handling

Co-authored-by: gotjosh <josue.abreu@gmail.com>
Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
2022-04-04 18:30:17 +01:00
Gilles De Mey
473fa6d997 Alerting: add Mimir to the list of cloud rules (#47258) 2022-04-04 12:04:03 +00:00
CommanderRoot
d29b8e8858 Chore: Replace deprecated String.prototype.substr() (#46763)
.substr() is deprecated so we replace it with .slice() which works similarily but isn't deprecated
Signed-off-by: Tobias Speicher <rootcommander@gmail.com>
2022-04-04 11:08:06 +02:00
Peter Holmberg
cb03b05ced Alerting: Add yaml editor to cloud rules (#46533)
* ruleinspector component

* Adding yaml component

* setvalues

* update yarn.lock

* bump types

* chore: update lockfile

* move apply button position

* move button back to tab

Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
2022-04-01 16:34:08 +02:00
Yaelle Chaudy
d217d2aa40 A11y : Fix a11y in CollapsibleSection (#46455)
* Fix a11y in CollapsibleSection

* Added type to button to avoid form submit on enter
2022-04-01 14:00:09 +02:00
Peter Holmberg
32ad1199e1 Alerting: Colorize labels and matchers (#46678)
* Replace AlertLabel with TagsList

* left align labels

* restart drone
2022-03-31 15:20:57 +02:00
Gilles De Mey
18862a22a6 Alerting: use mimir logo (#47063) 2022-03-30 17:57:18 +02:00
Nathan Rodman
5a25ada3d0 Alerting: Add FGAC for Silences (#46479)
* add FGAC actions for silences table

* redirect users without permissions

* hide silence button in rules list

* add permissions checks to routes

* add read action for silences page

* add permissions checks to navigation

* add additional access checks for rule viewing

* create authorize component

* add tests for silences

* hide alerting nav for users without access

* nolint: gocyclo

* add permission check to alert details

* add check for external instances

* remove unecessary new lines

* use correct actions for alert details

* fix failing tests

Co-authored-by: Yuriy Tseretyan <yuriy.tseretyan@grafana.com>
2022-03-21 16:54:37 -07:00
Santiago
18c1c6ca6a fix double slash in share link (#46757) 2022-03-21 08:00:54 -06:00
Gilles De Mey
64d4e6fcaa Alerting: visual alert type picker (#46111) 2022-03-18 14:33:32 +01:00
Yaelle Chaudy
0b0d612372 A11y : Fix option panes not accessible when collapsed (#46405)
* Turned div into text button to make it accessible

* Only icon as button to avoid embedded buttons with overrides delete button

* use icon in Button directly

* Removed unused import

* moving id for labelledBy to h6 elem instead of icon

* Tweaking style, bigger caret

* Fixed aria-expanded

* Modifying and using CollapseToggle from unified alerting

* Added restOfProps to CollapseToggle
2022-03-14 15:37:13 +01:00
Gilles De Mey
a9b1a964b0 Alerting: adds support for federated rules (#46037) 2022-03-04 10:16:13 +01:00
Peter Holmberg
4ef58e595c Alerting: Add validation to slack contact point (#45618)
* add requiredifempty

* rename field, fix logic

* update mockdata

* remove logs

* update test

* fix json expected payload in e2e tests

* fix test

* fix test again

Co-authored-by: Jean-Philippe Quémémer <jeanphilippe.quemener@grafana.com>
2022-02-25 15:10:21 +01:00
Peter Holmberg
9d61dcb02b Alerting: Disable Alertmanager picker if there's only one Alertmanager (#45781) 2022-02-25 11:17:28 +01:00
Konrad Lalik
d6c580e338 Alerting: Lotex alert groups removal (#45150)
* Add lotex group removal UI

* Connect UI to delete group action

* Add rules' refreshing after deletion of a group

* Improve confirmation message

* Add tests for RulesGroup

* Remove redundant check
2022-02-24 11:31:36 +01:00
kay delaney
59317a22e4 AppNotifications: Migrate usage of deprecated appEvents.emit method to redux actions (#45607) 2022-02-23 11:31:15 +00:00
Jack Westbrook
d0d5304662 Revert "Update dependency react-hook-form to v7.26.1" (#45761)
* Revert "Update dependency react-hook-form to v7.26.1 (#43670)"

This reverts commit 175891a5e3.

* chore(renovate): prevent bumping react-hook-form so plugins dont break
2022-02-23 12:22:45 +01:00
renovate[bot]
175891a5e3 Update dependency react-hook-form to v7.26.1 (#43670)
* Update dependency react-hook-form to v7.27.0

* fix type errors for alerting components with new react-hook-form version (#45341)

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Nathan Rodman <nathanrodman@gmail.com>
2022-02-18 17:13:31 +01:00
Peter Holmberg
0502a84922 Alerting: Add choice to external alertmanagers (#45157)
* implement alertmanagersChoice

* return empty array and remove non null assertion
2022-02-17 12:47:38 +01:00
Konrad Lalik
1886a59a12 Fix notification routes editing when filters are applied (#45380)
* Fix route editing when filters are applied

* Fix route delete operation, reset expanded item when filters change

* Refactor edit and delete functions, add tests

* Fix comment
2022-02-16 11:03:53 +01:00
Torkel Ödegaard
089d6d7f7a Alerting: Fixing minor styling issues (#45236) 2022-02-11 12:34:32 +01:00
Torkel Ödegaard
cc49537965 Alerting: Refactor ActionIcon to use our normal Button and LinkButton components (#45227)
* Alerting: Refactor ActionIcon to use our normal Button and LinkButton components

* Fixed test

* Fixed test
2022-02-11 10:12:26 +01:00
Josh Hunt
c7a5d2c5c7 Chore: Remove our typeAsJestMock in favor of jest.mocked (#45114) 2022-02-09 23:50:59 +01:00
Torkel Ödegaard
7c0b453e19 Tooltips: Make tooltips non interactive by default (#45053)
* Tooltips: Make tooltips non interactive by default

* More updates and cleanup

* Update

* Make time range picker tooltip interactive

* Fix issue

* Trying to make Receivers test faster

* Make JSONCell tooltip interactive
2022-02-08 22:58:20 +01:00
Gilles De Mey
1680e284e5 Alerting: validate namespace and groupname for Grafana manages and Lotex alerts (#44872) 2022-02-04 15:04:11 +01:00
Josh Hunt
de7a920967 Chore: Suppress messages and logs from tests (#44629)
* Suppress "not wrapped in act()" warning in UserPicker test

* Add menuShouldPortal to AmRoutesExpandedForm to suppress deprecation warning

* use forwardRef in alerting ActionIcon to suppress ref warning

* Add menuShouldPortal to alerting GroupBy to suppress deprecation warning
2022-02-04 12:36:44 +11:00
Gilles De Mey
c1a0c2664c Alerting: add custom grouping to Alert Panel (#44559)
Co-authored-by: Peter Holmberg <peterholmberg@users.noreply.github.com>
2022-02-03 19:07:27 +01:00
renovate[bot]
d87cd6f26c Update dependency prettier to v2.5.1 (#43473)
* Update dependency prettier to v2.5.1

* prettier fixes

* chore(toolkit): bump prettier to 2.5.1

* style(eslint): bump grafana config to 2.5.2 in core and toolkit

* style(mssql-datasource): fix no-inferrable-types eslint errors

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2022-02-02 12:02:32 +00:00
Peter Holmberg
552c24a66e Alerting: Show affected alert rules when creating Silence (#44307)
* first things

* show affected rules when creating silence

* revert typescript bump

* fix yarn lock

* fix import order

* fixing tests

* some layout for affected alerts

* fix test

* add default description

* review part 1

* Add a badge for number of affected alerts

* fix test

* remove blank space
2022-02-01 09:49:05 +01:00
Gilles De Mey
26ddeaf3d7 fix: multiple queries in alerting regression (#44585) 2022-01-28 16:05:19 +01:00
Konrad Lalik
c6e6e92a80 Alerting: Filtering for notification policies (#44363)
* Add filtering by matching label

* Add label and contact based filters to Notification policies

* Improve filters UI, add clear filters option

* Add clearing of filters before switching to adding mode

* Move filtering code to the AmRoutesTable component

* Fix the clearing of silences filter

* Remove key-based input resetting

* Use uniqueId for input key generation

* Add tests for notification policies filtering
2022-01-28 09:40:05 +01:00
Christopher Norris
f2da409703 Chore: fix typo (#44188) 2022-01-21 15:58:40 +01:00
Kyle Brandt
74193b3c1b SSE: Remove beta tooltip (#43912) 2022-01-20 08:52:36 -05:00
Nathan Rodman
b98a1d79cf Alerting: mute timing improvements (#43940)
* mute timing table ui fixes

* add options for CTA to use link

* fix validation for time range
2022-01-18 10:46:36 -08:00
Gilles De Mey
bd9df4f829 Alerting: show deleted datasource (#43891) 2022-01-17 14:30:00 +01:00
Konrad Lalik
c829535f14 Alerting: Fix the silence url's matcher parameters (#43898)
* Split silence matchers parameter into a separate entry for each label

* Unify the silence link creation

* Remove duplicated matchers when parsing to/from query params

* Add tests for matchers

* Add a comment with a duplication removal explanation

* Improve label duplication comment

* Remove redundant code

* Use uniqBy to simplify the code. Rename matchers parameter

* Fix Silence test data
2022-01-13 10:48:13 +01:00
Peter Holmberg
fc037e1798 Alerting: Add delete to rule edit (#43673) 2022-01-11 09:46:21 +01:00
Gilles De Mey
7b841c7947 Alerting: run validation before testing contact point (#43721) 2022-01-10 13:28:36 +01:00
Gilles De Mey
be61f192c8 Alerting: add support for absolute URLs in ActionIcon (#43367) 2022-01-10 13:11:43 +01:00
Nathan Rodman
0dd88d9480 only show datasources that support alerting in query editor (#43776) 2022-01-07 09:27:20 -08:00
Nathan Rodman
825edddfb6 Alerting: UI for mute timings (#41578)
* wip: add form inputs for creating mute timing

* form for mute timings

* add action for submitting config

* fix bug in payload

* add table for viewing mute timings

* remove mute timing from routes when deleted

* attach mute timing to route

* edit a mute timing

* use field array for multiple intervals

* Add confirmation modal for deleting mute timing

* add default values to form inputs

* fetch am config prior to renderring form

* validation for mute timing fields

* fix tests

* tests for mute timing form

* small ui fixes for the form and table

* pass mute name as query param

* make time fields inline

* fix validation for an existing alert and overwrite on edit

* rename mute timing in routes on edit

* fix validation for time inputs

* make time interval its own component

* add descriptions for mute timings

* refactor time interval parsing functions

* fix linting and tests

* refactor makeAmLink

* docs for mute timings

* reorganize docs and add intro for mute timings

* doc review edits

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* run prettier

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-01-05 10:16:43 -08:00
Gilles De Mey
7de5d5fbd1 Alerting: adds missing type info to the FieldConfigSource (#43619) 2022-01-03 17:16:43 +01:00
Gilles De Mey
d7273c1158 Alerting: fix error dismiss tooltip placement (#43616) 2022-01-03 16:09:08 +01:00
Gilles De Mey
43c81ddd23 Alerting: persist error dismissal to localstorage (#43406) 2021-12-28 20:56:43 +01:00
Peter Holmberg
5db03cf91a Alerting: Fix remaining a11y issues (#43420)
* add aria labels

* reverting

* chore: revert yarn.lock

Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
2021-12-21 16:06:23 +01:00
Travis Patterson
d52a6e3d3b Change 'grafana-expression' to ExpressionDatasourceRef.type so isExpr… (#43379)
* Change 'grafana-expression' to ExpressionDatasourceRef.type so isExpressionReference works

* use constant ref in tests

* import from package
2021-12-21 07:11:11 -07:00
Gilles De Mey
db3cc738d6 Alerting: fixes rewiring unrelated reduce and resample expressions (#43174) 2021-12-17 14:46:55 +01:00
Gilles De Mey
02039d7532 Alerting: show state history (#42362) 2021-12-14 16:36:54 +01:00