* Draft: Move css grid stuff to main
* Scenes: Implement drag and drop support for SceneCSSGridLayout
* Fix some nits
* WIP Refactor
* Added a comment
* Add orchestrator to v2schema and fix error (#100964)
* Add orchestrator to v2schema and fix error
* Display placeholder directly when starting to drag
---------
Co-authored-by: kay delaney <kay@grafana.com>
* Fix merge issue
* Fix panel drag offset and remove console.logs
* Fix small nit
* Fix issue where layout options weren't refreshed on changing layout
* Return empty array from useEditPaneOptions if dashboard body isn't LayoutOrchestrator
* Expect layoutOrchestrator when serializing scene
* Fix tests to expect orchestrator instead of layoutManager
* Fix tests in transformSaveModelSchemaV2ToScene.test.ts
* Fix tests in transformSceneToSaveModelSchemaV2.test.ts
* More test fixes
* fix lint issues
* Small fixes
* default to adding layout orchestrator?
* Empty commit
* delete artifactspage.go
* remove artifactspage.tmpl.html
* betterer
* WIP refactor, not ready for review
* Slightly fix placeholder behavior. still broken though
* Fixed some visual glitches. Still very buggy
* Fix layout bugginess when initiating dragging
* more WIP
* Fix some broken logic
* clean up
* Move LayoutOrchestrator to dashboard state
* More cleanup
* Fix misaligned placeholders after changing layout options or resizing browser
* Fix issue with dragging vs selection
* Fix scroll position jumping when dragging in vertically-oriented grid
* Fix import order errors
* Remove '!' from layoutOrchestrator references
* Add LazyLoader support
* Dynamic Dashboards: Responsive Grid drag and drop minor fixes (#102430)
Changes
---------
Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
Co-authored-by: Bogdan Matei <bogdan.matei@grafana.com>
* Fix UNION syntax in resourcepermissions package.
* Fix migrations in usermig package to work with Spanner.
* Fix health query.
* Use more connections for integration tests.
* Add test-go-integration-spanner target to run integration tests against Spanner emulator.
* Add test for enterprise.
* Don't delete sequence number for migration_log.id column.
* Only bump max open connections to 20 for Spanner.
Lower integration test timeout.
* Refactor migration error handling to use MinimumVersionError for schema version checks
- Updated migration logic to return MinimumVersionError instead of MigrationError for outdated schema versions.
- Enhanced MinimumVersionError message for clarity on migration constraints.
- Added tests for version error handling in the dashboard API to ensure proper error throwing for specific conversion errors.
* Fix tests and remove folder dependencies
* Allow html in tooltips
* Display multiple warnings/infos properly with html
* Revert "Allow html in tooltips"
This reverts commit 5c7e965d2d554b693d4897e52cf6865e0c9b8374.
* Display multiple warnings/infos properly with html in ReactNode
* Fix lint
* Revise according to code review
* Revise according to code review part 2
* Revise according to code review part 3
* feat: component extension point for adaptive telemetry query actions
- only render the first non-null added-component, and provide utility in the added component infrastructure to support this
---------
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* Fix display of paused recording rules
* Simplify paused state check for Grafana alert rules
The change eliminates redundant rule type checks by using a more generic
grafana.rule() check that covers both alerting and recording rules.
* Add test for recording rule paused state
* Add test for paused Grafana alert in Details tab
---------
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
* Add basic details page for groups
* Remove unused imports
* Add basic edit page for groups
* Add functional group details page
* Improve form, add namespaces for DS groups
* Add support for multiple actions in useProduceNewRuleGroup
* Attach real actions to form submit
* Add tests for the group details page
* Add basic tests for the group edit page
* Add tests for Mimir update
* Add rule group consistency check
* Extract draggable rules table to a separate file
* Add prom consistency waiting after group saving
* Add duration measure for Prometheus reconciliation time
* Remove a blinking error when redirecting to a new group
* Improve group details page. Use ruler or prom api depending on the ds capabilities
* Add group delete action for DMA
* Fix GroupDetailsPage tests
* Update tests
* Add and improve Edit page tests
* Add Group export for GMA groups
* Fix RulesGroup tests, add translations
* Disable editing plugin provided groups
* Fix alertingApi options, fix tests
* Fix lint errors, update translations
* use name for grafana managed recording rules
* add namespace to nav
* Remove group modals from the list page
* add cancel button to edit form
* add test for cancel butotn
* fix recording rule badge for Grafana managed rules
* Add doc comments, improve code
* Move url changes to be the last action in form submit
* Add returnTo URL handling for alert rule group navigation
* Create dedicated Title component showing breadcrumb navigation between folder
and group name.
Add label distinction between folders and namespaces based on
the rule source (Grafana vs external).
* Address PR feedback, minor refactorings
* Update rule group links to include return path and refactor rule type checks
- Modified `RulesGroup` and `GroupDetailsPage` components to include `includeReturnTo` in edit page links.
- Refactored rule type checks in `DraggableRulesTable` and `GroupDetailsPage` to use `rulerRuleType` for better clarity and maintainability.
- Updated documentation in `useUpdateRuleGroup` to clarify functionality for updating or moving rule groups.
* Refactor RulesGroup component and tests for improved link handling and permissions checks
- Added `includeReturnTo` parameter to rule group detail links in `RulesGroup` for better navigation.
- Updated test cases to verify rendering of edit and view buttons based on user permissions.
- Simplified test setup by removing unnecessary Redux provider wrapping in tests.
* Refactor: Update routing and test assertions in GroupDetails and GroupEdit pages
- Modified route paths in GroupDetailsPage and GroupEditPage tests to use `dataSourceUid` instead of `sourceId`.
- Updated test assertions to reflect changes in folder title and link structure in GroupDetailsPage.
- Simplified Title component by removing folder-related props and logic, focusing solely on the group name.
* Refactor: Simplify Title rendering in GroupDetailsPage
- Updated the renderTitle function in GroupDetailsPage to remove the folder prop from the Title component, focusing solely on the group name.
* Update GroupDetailsPage to prevent editing of provisioned groups
* Fix imports
* Improve styles
* Fix navigation when served from subpath
* Improve group removal handling in Prom consistency check. Fix Delete group button
---------
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
* Add migration to remove datasources:drilldown
* remove role assignments as well
* rename to datasources:drilldown
* remove the role assignments
* made it simple instead
* Update pkg/services/sqlstore/migrations/accesscontrol/datasource_drilldown_removal.go
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
* Update pkg/services/sqlstore/migrations/accesscontrol/datasource_drilldown_removal.go
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
---------
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
What is this feature?
This PR introduces a new alert rule configuration option, keep_firing_for (Prometheus documentation).
keep_firing_for prevents alerts from resolving immediately after the alert condition returns to normal. Instead, they transition into a "Recovering" state and are not considered resolved by the Alertmanager. Once the recovery period ends (or after the next evaluation if it is bigger than keep_firing_for), the alert transitions to "Normal" if it doesn't start alerting again:
Before
+----------+ +----------+
| Alerting |---->| Normal |
+----------+ +----------+
-----
After
+----------+ +------------+ +----------+
| Alerting |----->| Recovering |---->| Normal |
+----------+ +------------+ +----------+
Why do we need this feature?
This feature prevents flapping alerts by adding a recovery period. This helps avoid false resolutions caused by brief alert