Commit Graph

1466 Commits

Author SHA1 Message Date
Tom Ratcliffe
f4d55d2612 Alerting: Restructure mock server handlers slightly and remove unnecessary handlers (#87759) 2024-05-15 16:53:16 +01:00
Dominik Prokop
fa63e03df3 MultiSelect: Respect value passed to the component regardless of custom value being allowed or not (#87906)
* MultiSelect: Respect value passed to the component regardless of custom value being allowed or not

* reset input for test

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-05-15 16:24:30 +02:00
Sonia Aguilar
3aae2b7e04 Alerting: Assume built-in AM is receiving alerts in case of not having admin config (#87893) 2024-05-15 14:51:28 +02:00
Konrad Lalik
1cf1c5f03a Alerting: Add hide plugins rules filter (#87445)
* Add hide plugins rules filter

* Change the filter label and available values

* Setup plugins hook in tests

* Fix lint errors

* remove unused code
2024-05-15 14:09:56 +02:00
Sonia Aguilar
ca0dae6812 Gops: Add configuration tracker on the existing IRM page (#85838)
* WIP

* add configure irm componet and pass it to Nav

* add check if theres datasource for Alerts

* update incident steps links

* uncomment done property in the interface

* Fix not having data sources in store and removing warning using wrong Icon name type

* call incidents api in done step

* Show checked steps with an icon instead of a badge

* Implemnt check contact point ready in essentials

* Fix codeowners and prettify file

* Check if there is one oncall integration in at least one contact point

* Refactor

* Check for oncall integration being created

* Add the test oncall integration action

* Do not hide any card in irm page, and refactor

* Refactor: move hooks to a separate file

* Implement oncall chatops checks

* update incidents hook

* Show new irm page only on cloud and for admins

* fix prettier in irmhooks

* remove unused import

* fix prettier in irm hooks

* fix axios method

* Add progress bar on essentials

* Update texts and some styles

* Refactor

* fix api call

* fix check is plugin is installed

* fix async call

* fix lint

* Do not show check icon when done field is undefined in a step

* refactor

* Add test for Essentials

* check if incident plugin installed

* call incidents api to get steps

* add the new api to get config

* fix prettier

* memoize the api call

* fix lint

* add proper api call

* check if response is valid

* fix typo

* use state to save the values

* fix lint

* fix response schema

* fix prettier

* update incident steps copy

* udapte texts in respond tooltips

* Fix confiure IRM route check

* Fix logic for the data source check: check if there is a data source that is alerting compatible

* Use existing header prop in NavLandingPage instead of creating a new prop

* fix wrong updated file

* Update logic for default contact point check and update some links

* Update texts and show only one item for oncall integration with alerting checks

* Update texts following suggestions in the doc

* Fix getting default contact point and update oncall link for slack tab

* Update texts, buttons and checks following last meeting action items

* remove unnecessary component drawer

* Track interactions: user open or close essentials drawer

* Refactor

* remove unnecessary createMonitoringLogger for tracking irm events

* remove unnecessary style

* refactor

* refactor

* Add fallback links and labels for action buttons when step is done

* Update irm card styles

* remove extra space after progress bar numbers

* remove progress bar border

* Address pr review comments

* remove unnecessary AlertmanagerProvider

* fix logic behind default contact point check

* update test

* Address pr review comments part1

* add aria and properties role for Progressbar

* Reorganize hooks into separate folders/files for each app

* move done field to the step level

* Handle empty dropdown options

* Handle loading state

* Update tooltip for connecting alerting to oncall

* Use RTKQ for incidents

* handle loading for oncall hooks

* refactor getting configuration for each app

* fix incident rtkq query to be a query instead of mutation

* refactor: rename variable

* Address some nits in the review

---------

Co-authored-by: reemtariqq <reem.tariq@grafana.com>
2024-05-14 16:42:22 +02:00
Sonia Aguilar
6b1a662f6b Alerting: Fix deleting rules when silencing/resuming rule from a panel alert tab (#87710)
* Fix deleting rules when silencing/resuming rule from a panel alert tab

* fix test and return early when no group target is found

* address pr review comment
2024-05-14 10:01:08 +02:00
Konrad Lalik
c203a030e8 Alerting: Fix MatcherFilter onChange handling (#87511)
* Fix input onChange handler

* Remove unused variables
2024-05-10 15:42:23 +02:00
Ashley Harrison
670960f70c Chore: Upgrade redux (#86877)
* update packages

* fix type errors

* upgrade redux toolkit as well

* don't need eslint-disable command

* remove comment

* fix unit tests

* call rtk query selector directly

* remove unnecessary checks
2024-05-10 14:28:51 +01:00
kay delaney
cbe868b118 Chore: Use getNextRefId instead of deprecated getNextRefIdChar (#87460) 2024-05-10 12:00:17 +01:00
Sonia Aguilar
4b720206d4 Alerting: Reduce number of request fetching rules in the dashboard view using rtkq (#86991)
* Reduce number of request fetching rules in the dashboard view using rtkq

* Fix UnifiedAlertStatesWorker work

* refactor ungroupRulesByFileName

* Address review comments and fix test

* fix DashboardQueryRunner test

* Fix tests

* Update AlertStatesDataLayer to use RTKQ

* Fix PanelAlertTabContent test

* Fix PanelAlertTabContent test after adding RTKQ

* fix test and address PR review comments

* Update useCombinedRuleNamespaces to have both dashboardUID and panelId as optional params and rename the hook

* Address review pr comment

* remove test about template variables

* Use poll interval in useCombinedRules
2024-05-10 12:27:06 +02:00
kay delaney
bc67b88301 Chore: Rewrite alerting css using object styles (#87114)
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-05-07 10:57:25 +01:00
Gilles De Mey
19e8dca09c Alerting: Allow editing of provisioned mutable Alertmanagers (#87385) 2024-05-06 14:29:28 +02:00
Ashley Harrison
1d6d5cc2cd Chore: improve typings (#87306)
* some fixes

* some more fixes

* some canvas fixes

* use removeProperty instead

* few more

* fixy fix

* undo changes to ticks for now
2024-05-03 17:21:37 +01:00
Gilles De Mey
5e25afe6e9 Alerting: New settings page (#84501) 2024-05-03 17:42:42 +02:00
Gilles De Mey
7a12c5e0ef Alerting: Add OAuth2 to HTTP settings for vanilla Alertmanager / Mimir (#87272)
add OAuth2 to HTTP settings for vanilla Alertmanager / Mimir
2024-05-03 13:23:37 +02:00
Gilles De Mey
12fa9e56e6 Alerting: Fix max alerts (#87271) 2024-05-03 13:22:42 +02:00
Gilles De Mey
1d06f33a8e Alerting: Prevent search from locking the browser (#87132) 2024-05-02 14:41:33 +03:00
Tom Ratcliffe
b0f6913ef6 Alerting: unify alert rule actions between list and detail view (#86071)
* Add mock method for getting a plugin

* Update tests to find "more" button via label

* Remove test for Silence action in rule details

* Unify alert rule actions to pull from same place

* Restore behaviour of only showing incident button when firing

* Fix identifier and pause permission/logic

* Remove TODO comment related to refactor

* Update snapshot for useAbilities

* Undo optional param

* Rename alert rule menu hook to component

* Refactor hook to component

* Rename Rule action buttons component

* Chore: update style syntax for RuleDetails

* Add tests for refactored alert rule menu

* Only re-fetch Grafana managed alerts after pausing/resuming

* Remove console log and check for extensions

* Improve share rule generation of GMA rules

* Rename component

* Update action

* Refactor plugins and fix tests

* lint

---------

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-04-30 16:17:55 +01:00
Konrad Lalik
9369f07e32 Alerting: Immutable plugin rules and alerting plugins extensions (#86042)
* Add pluginsApi

* Add rule origin badge

* Make plugin provided rules read-only

* Add plugin settings caching, add plugin icon on the rule detail page

* Add basic extension point for custom plugin actions

* Add support for alerting and recording rule extensions

* Move plugin hooks to their own files

* Add plugin custom actions to the alert list more actions menu

* Add custom actions renderign test

* Add more tests

* Cleanup

* Use test-utils in RuleViewer tests

* Remove __grafana_origin label from the label autocomplete

* Remove pluginsApi

* Add plugin badge tooltip

* Update tests

* Add grafana origin constant key, remove unused code

* Hide the grafana origin label

* Fix typo, rename alerting extension points

* Unify private labels handling

* Add reactive plugins registry handling

* Update tests

* Fix tests

* Fix tests

* Fix panel tests

* Add getRuleOrigin tests

* Tests refactor, smalle improvements

* Rename rule origin to better reflect the intent

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2024-04-30 10:34:52 +02:00
Gilles De Mey
b679a32fad Alerting: Allow deleting contact points referenced only by auto-generated policies (#86800) 2024-04-29 17:48:54 +01:00
Tom Ratcliffe
0a02508415 Add more robust error handling for stringifying API responses 2024-04-29 14:15:48 +01:00
Tom Ratcliffe
a34d22dcbf Include alertmanager param on creation 2024-04-29 14:15:48 +01:00
Tom Ratcliffe
e0ee0b09db Add test to check that a broken alertmanager will handle errors correctly 2024-04-29 14:15:48 +01:00
Tom Ratcliffe
aa2f52a2a1 Tidy up error message handling 2024-04-29 14:15:48 +01:00
Tom Ratcliffe
fd07b3d431 Link silence test handlers together more clearly and test more cases 2024-04-29 14:15:48 +01:00
Tom Ratcliffe
a34c02fcf2 Address misc PR feedback 2024-04-29 14:15:48 +01:00
Tom Ratcliffe
9860117399 Add more fine grained tag invalidation/providing for Silences 2024-04-29 14:15:48 +01:00
Tom Ratcliffe
4fb1ac2bec Check error state more reliably 2024-04-29 14:15:48 +01:00
Tom Ratcliffe
a0373c66c3 Add fallback for alertmanager alerts 2024-04-29 14:15:48 +01:00
Tom Ratcliffe
9bf2cf0a52 Rename silences RTKQ tag 2024-04-29 14:15:48 +01:00
Tom Ratcliffe
4d4bf39184 Check for server received body
This is not ideal! Preference would be to have a more robust mock server
that responds to the received silence and appends it to a stateful list for the test
and then resets afterwards
2024-04-29 14:15:48 +01:00
Tom Ratcliffe
0dc003aadc Split handlers out into separate files 2024-04-29 14:15:48 +01:00
Tom Ratcliffe
f419c9b53a Add comment explaining reset in silences editor 2024-04-29 14:15:48 +01:00
Tom Ratcliffe
df5c62b8ad Misc tidy up 2024-04-29 14:15:48 +01:00
Tom Ratcliffe
21a3f4817a Add correct tag invalidation after creating a silence 2024-04-29 14:15:48 +01:00
Tom Ratcliffe
cdfc6baea4 Remove unused fetchAlerts method 2024-04-29 14:15:48 +01:00
Tom Ratcliffe
f397830098 Refactor Silences test 2024-04-29 14:15:48 +01:00
Tom Ratcliffe
10fcd541e3 Add handlers to mock server 2024-04-29 14:15:48 +01:00
Tom Ratcliffe
341449f4f5 Remove unused actions/reducers 2024-04-29 14:15:48 +01:00
Tom Ratcliffe
a1d2a9670b Restructure Silences components for better separation of concerns 2024-04-29 14:15:48 +01:00
Tom Ratcliffe
11ed882c84 Add mock server handlers necessary for Silences 2024-04-29 14:15:48 +01:00
Tom Ratcliffe
8f27ec2521 Add silences RTK Query API 2024-04-29 14:15:48 +01:00
Ashley Harrison
c151a97110 Chore: Enable no-unreduced-motion and fix errors (#86572)
* enable `no-unreduced-motion` in betterer

* move all animation calls inside handleReducedMotion

* fix violations + enable rule

* update rule README

* remove unnecessary transition from <Collapse>

* remove handleReducedMotion utility and add handleMotion to theme

* update to use new theme value

* handle Dropdown and IconButton

* handle AppChromeMenu and update lint message

* keep rotation at a reduced speed

* handle DashboardLoading
2024-04-29 13:12:36 +01:00
Sonia Aguilar
a68df4be88 Alerting: Skip flaky test (#86921)
Skip flacky test
2024-04-25 13:43:37 +01:00
Tom Ratcliffe
f43762f39a Remove (most) occurrences of HorizontalGroup within Alerting 2024-04-25 12:54:41 +01:00
Erik Sundell
0140dfdddf Chore: Add e2e selectors to alert rule page (#86909)
wip
2024-04-25 10:00:11 +02:00
Tom Ratcliffe
0582e05f8f Add PoC for different MSW approach 2024-04-24 15:57:11 +01:00
Marcus Andersson
804c726413 PluginExtensions: Make the extensions registry reactive (#83085)
* feat: add a reactive extension registry

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: add hooks to work with the reactive registry

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: start using the reactive registry

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: update the "command palette" extension point to use the hook

* feat: update the "alerting" extension point to use the hooks

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: update the "explore" extension point to use the hooks

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: update the "datasources config" extension point to use the hooks

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: update the "panel menu" extension point to use the hooks

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: update the "pyroscope datasource" extension point to use the hooks

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* feat: update the "user profile page" extension point to use the hooks

* chore: update betterer

* fix: update the hooks to not re-render unnecessarily

* chore: remove the old `createPluginExtensionRegistry` impementation

* chore: add "TODO" for `PanelMenuBehaviour` extension point

* feat: update the return value of the hooks to contain a `{ isLoading }` param

* tests: add more tests for the usePluginExtensions() hook

* fix: exclude the cloud-home-app from being non-awaited

* refactor: use uuidv4() for random ID generation (for the registry object)

* fix: linting issue

* feat: use the hooks for the new alerting extension point

* feat: use `useMemo()` for `AlertInstanceAction` extension point context

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2024-04-24 09:33:16 +02:00
Sonia Aguilar
68564b1940 Alerting: Gops labels integration (#85467)
* Show list of labels on the alert rule form in a more visual way, and use a modal for managing them

* fix test

* Fix more tests

* Show orange badge when no labels are selected

* Remove unused datasource property in LabelsField

* Remove unused div and add comment

* Use button instead of icon for editing labels

* Use subform for labels

* Move logic fetching labels from different places in a separate hook

* Fix tests

* remove unused getLabelInput const in test

* Add ellispis and tooltip for long labels and move labels list in modal to the bottom

* Use text instead of badge when no using labels

* Fix tests after adding ellipsis and tooltip to the labels

* simplify styles

* Fix fetching values from gops when new key is used

* Address pr review comments

* Address pr review comments part2

* Fix tag on rtkq

* Remove color for no labels selected text

* Disable already used keys in the labels sub form

* Fix typo

* use the UseFieldArrayRemove type from react-hook-form

* Update some styles and text in the labels modal

* Address some review comments (nits)

* Address review comments part1

* Move logic getting labels in useCombinedLabels hook

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-04-23 14:38:31 +02:00
Ashley Harrison
fc45b56d9d EmptyState: Apply call-to-action variant in core (#86448)
* apply empty state in a bunch of places

* fix unit tests

* put alert back on top

* add data-testids so e2e tests keep working

* remove info boxes

* fix annotations empty state alignment with new maxWidth
2024-04-22 17:01:24 +01:00