64e005d12f
Teams: Restrict provisioned teams from being updated and deleted ( #103454 )
...
* restrict provisioned teams from being updated and deleted
* check if team is provisioned before update and delete
* add function getTeamDTOByID()
* check if team is provisioned in access control
* fix TestDeleteTeamMembersAPIEndpoint
* add unit tests
* add function for validating a team
2025-04-08 11:27:30 +03:00
4bc9203cf6
Zanzana: Perform shadow requests ( #103444 )
...
* Zanzana: Execute checks in the background
* add metrics
* collect metrics
* cleanup
* shadow compile checker
* add time metrics for compiler
* run compile in parallel
* prevent deadlock
2025-04-08 10:03:35 +02:00
c4a2f99d8b
Alerting: Allow importing Prometheus rules with keep_firing_for ( #103557 )
2025-04-07 22:33:07 +02:00
fa7ea6ee00
UniStore: Add non interactive mode for CLI migration ( #103407 )
...
Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-04-07 17:23:47 -03:00
66006928b8
Alerting: Set ExecErrState to Normal for imported Prometheus rules ( #103556 )
2025-04-07 21:55:32 +02:00
f8a72214cf
SQL Expressions: Add more functions to the allowlist ( #103546 )
...
* SQL Expressions: Allow many more functions and nodes
* Also allow the `REGEXP_SUBSTR` function
* Add window functions
* add more JSON support, remove now and current time (for now)
---------
Co-authored-by: Kyle Brandt <kyle@grafana.com>
2025-04-07 21:23:39 +03:00
09a7f9ba1c
Alerting: Update external alert manager notifier ( #103530 )
2025-04-07 17:09:23 +02:00
63af403897
Live: Remove queryOverLive and live-service-web-worker experimental feature flags ( #103518 )
2025-04-07 17:47:35 +03:00
e2a6f9a849
Logs: Add new Controls component to Explore ( #103401 )
...
* ControlledLogRows: create component
* Fix imports
* ControlledLogRows: handle scroll events
* Rename storage key prop
* LogListControls: externally control syntax highlighting
* ControlledLogRows: add support for level filtering
* Logs: implement deduplication from controls
* Fix imports
* Create feature flag
* Use feature flag
* LogListControls: add download button
* LogsMetaRow: extract download function to logs utils
* Filter and download logs
* Update tests with new props
* LogList: pass logs and logs meta to context
* Remove prefix from downloaded file
* Update unit tests
* LogListControl: update unit tests
* Fix type assertion
* Fix imports
* Formatting
* i18n
* Fix test
* LogListControls: adjust scroll to top styles
* LogListContext: control legacy options
* LogListControls: add showUniqueLabels and prettifyJSON options
* LogListControls: test new controls
* Extract translations
* Hide old controls by feature flag
* LogListControls: update prettify json copy
* ControlledLogRows: disable preview
* Prettier
* LogListControls: Fix test
2025-04-07 16:38:55 +02:00
e9ed7223a6
Use authlib repo. Use otel ( #103178 )
...
* Use authlib repo. Use otel
* Use interceptors on the provider level
* Create a new wire set with otel
* Lint
* Fix test
* make update-workflow
* make update-workspace
* make update-workspace. Try to add authlib as enterprise imports
* make update-workspace
2025-04-07 15:47:40 +02:00
fc099e9f0d
Provisioning: Run validation on config updates ( #103265 )
...
* Run validation on config updates
* Refactor code
* Add debug lines
* Remove test check on admission
* Organize imports
* Delegate events to the API client
* Extend error notification
* Deep copy default data
---------
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Clarity-89 <homes89@ukr.net>
2025-04-07 14:48:28 +03:00
9bc4fbe900
alerting: batch user service calls ( #103403 )
...
* update alerting endpoints to batch requests to the user service via ListByIdOrUID
2025-04-07 07:33:15 -04:00
cf5da1d366
Alerting: Fix swagger in pkg/services/ngalert/api/tooling ( #103500 )
2025-04-07 12:38:07 +02:00
68c6e88b00
Support creating temporary Spanner databases for integration tests. ( #103347 )
...
* Support creating temporary Spanner databases for integration tests.
2025-04-07 12:15:16 +02:00
c63cfc11e2
[Chore] Mark CodeQL warning as safe ( #101365 )
...
* Mark CodeQL warning as safe
* Temporarily ignore file
2025-04-07 11:52:09 +02:00
1824694c72
Provisioning: Show branch in save form ( #103513 )
2025-04-07 12:48:32 +03:00
505c0cbbaf
Alerting: upgrade alerting ( #103333 )
2025-04-07 11:39:38 +02:00
1faa855ff1
Provisioning: Improve sample provisioning ( #103508 )
2025-04-07 12:37:18 +03:00
38db7fad22
Build: Unpin bleve/v2 ( #103506 )
...
The commit we wanted[1] is now in v2.5.0 of bleve/v2. This means we no longer need a pin here and can update the library
instead.
[1]: af9e3111da
2025-04-07 10:21:33 +02:00
8dbaeac9da
Provisioning: Use repository view rather than raw config ( #103449 )
2025-04-07 09:39:31 +03:00
8cd6f837a5
Dashboards: Prevent saving to a non-existent folder ( #103503 )
2025-04-07 09:02:20 +03:00
b2f80d4dca
Dashboards: Add Dashboard API Validation tests and fix underlying issues ( #103502 )
2025-04-07 05:44:28 +03:00
427715b070
Dashboards: Add k8s fallback client ( #103404 )
2025-04-06 16:38:06 -04:00
b329b78ef6
Provisioning: Improve flakey test ( #103498 )
...
improve flakey test
2025-04-06 17:51:54 +02:00
bdbe94abc8
Alerting: Remove alertingConversionAPI feature flag ( #103380 )
2025-04-05 09:27:02 +01:00
b1490a10e8
SQL Expressions / Alerting: Do not allow duplicates ( #103394 )
2025-04-04 10:00:30 -04:00
364247e26b
Provisioning: add most mocks to unit test provisioning jobs ( #103446 )
...
* Use interface for factories
* Add most mocks to unit test jobs
* Generate more mocks for main jobs package
* Interface for parser
* Use clients directly without parser
* Regenerate mock
* Eliminate resource clients from Parser
* Interface for folder tree
2025-04-04 15:42:20 +03:00
ea02e2e081
Provisioning: refactor dry-run and run logic to be stricter and more concise ( #103357 )
...
* Separate DryRun into separate method
* Fix linting
* Remove errors
* Remove checks in dualwriter
* Fix unit tests
* Add TODOs
* Dry Run as non-critical error
* Add TODOs
* Address TODO
* Fix tests
* Fix linting
* Deprecate dashboard name from path completely
* Use MissingName error also in parser
* Return 206 for non-critical errors
* Remove TODOs for previous dry-run
2025-04-04 13:31:48 +03:00
5e02532073
Provisioning: Update onboarding page ( #103436 )
...
* Change feature name
* Update feature list
* Update connect button
* Update enhanced features
* Cleanup
2025-04-04 13:08:58 +03:00
48877f9187
Alerting: Fix plugin not found error during condition validation ( #102437 )
...
improve error
2025-04-04 10:37:55 +01:00
f96e4e9ad2
Frontend: Remove Angular ( #99760 )
...
* chore(angularsupport): delete feature toggle to disable angular
* feat(angular-support): remove config.angularSupportEnabled
* chore(jest): remove angular from setup file
* chore(angular): delete angular deprecation ui components
* refactor(angular): move migration featureflags into migration notice
* chore(dashboard): remove angular deprecation notices
* chore(annotations): remove angular editor loader
* feat(appwrapper): no more angular app loading
* feat(pluginscatalog): clean up angular plugin warnings and logic
* chore(angular): delete angular app and associated files
* feat(plugins): delete old angular graph plugin
* feat(plugins): delete old angular table panel
* feat(frontend): remove unused appEvent type
* feat(dashboards): clean up angular from panel options and menu
* feat(plugins): remove graph and table-old from built in plugins and delete sdk
* feat(frontend): remove angular related imports in routes and explore graph
* feat(theme): remove angular panel styles from global styles
* chore(i18n): run make i18n-extract
* test(api_plugins_test): refresh snapshot due to deleting old graph and table plugins
* chore(angulardeprecation): delete angular migration notice components and usage
* test(frontend): clean up tests that assert rendering angular deprecation notices
* chore(backend): remove autoMigrateOldPanels feature flag
* chore(config): remove angularSupportEnabled from config preventing loading angular plugins
* chore(graphpanel): remove autoMigrateGraphPanel from feature toggles
* chore(tablepanel): delete autoMigrateTablePanel feature flag
* chore(piechart): delete autoMigratePiechartPanel feature flag
* chore(worldmappanel): remove autoMigrateWorldmapPanel feature toggle
* chore(statpanel): remove autoMigrateStatPanel feature flag
* feat(dashboards): remove automigrate feature flags and always auto migrate angular panels
* test(pluginsintegration): fix failing loader test
* test(frontend): wip: fix failures and skip erroring migration tests
* chore(codeowners): remove deleted angular related files and directories
* test(graphite): remove angular mock from test file
* test(dashboards): skip failing exporter test, remove angularSupportEnabled flags
* test(dashbaord): skip another failing panel menu test
* Tests: fixes pkg/services/pluginsintegration/loader/loader_test.go (#100505 )
* Tests: fixes pkg/services/pluginsintegration/plugins_integration_test.go
* Trigger Build
* chore(dashboards): remove angularComponent from getPanelMenu, update test
* feat(dashboards): remove all usage of AngularComponent and getAngularLoader
* chore(betterer): refresh results file
* feat(plugins): remove PluginAngularBadge component and usage
* feat(datasource_srv): remove usage of getLegacyAngularInjector
* feat(queryeditor): delete AngularQueryComponentScope type
* Chore: removes Angular from plugin_loader
* Chore: remove angular from getPlugin
* Chore: fix i18n
* Trigger Build
* Chore: remove more Angular from importPanelPlugin
* Chore: remove search options warning
* Chore: remove and deprecate Angular related
* chore(angular): remove angular dependencies from core and runtime
* chore(runtime): delete angular injector
* chore(data): delete angular scope from event bus
* chore(plugin-catalog): remove code pushing app plugins angular config page
* chore(yarn): refresh lock file
* chore(frontend): remove ng-loader from webpack configs, remove systemjs cjs plugin
* chore(navigation): remove tether-drop cleanup from GrafanaRouter, delete dependency
* chore(runtime): delete AngularLoader
* chore(betterer): refresh results file
* chore(betterer): fix out of sync results file
* feat(query): fix type and import errors in QueryEditorRow
* test(dashboards): delete skipped angular related tests
* Tests: add back tests and fix betterer
* Tests: fix broken test
* Trigger build
* chore(i18n): remove angular deprecation related strings
* test: clean up connections and plugins catalog tests
* chore(betterer): update results file
---------
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2025-04-04 11:31:35 +02:00
b1198b92c6
authinfoimpl: Fix TestIntegrationAuthInfoStore when running on Spanner. ( #103383 )
...
Fix TestIntegrationAuthInfoStore when running on Spanner.
2025-04-04 11:20:48 +02:00
a0bce1e12f
Team: Fix createTeam API handler ( #103441 )
...
fix createTeam API handler
2025-04-04 12:02:33 +03:00
1c631c17d4
Rename existing tests in pkg/services/serviceaccounts/database package to make them an integration tests. ( #103373 )
...
Rename existing tests in pkg/services/serviceaccounts/database package to make then an integration tests.
2025-04-04 11:12:02 +03:00
10411361e7
Team: Add columns external_uid and is_provisioned to the team table ( #103285 )
...
* add columns external_id and is_provisioned to the team table
* generate openapi specs
* rename column to external_uid
* generate open api specs
* increase limit for external_uid to 256
2025-04-04 11:00:14 +03:00
04fb9f534e
Dashboards: Only expose LibraryPanels and search on v0 (not v1+v2) ( #103335 )
2025-04-03 20:24:12 +03:00
c5d76a8bba
Provisioning: Require a name in the saved resource ( #103309 )
2025-04-03 18:58:05 +03:00
edefc80c2a
Provisioning: Split active and finished jobs ( #103351 )
2025-04-03 17:38:12 +03:00
413378dd3a
Retry aborted transactions on Spanner. ( #103289 )
...
* Retry aborted transactions on Spanner.
2025-04-03 16:26:09 +02:00
4a0ec27e5d
SQL Expressions: Query Service Support ( #101955 )
...
---------
Co-authored-by: Adam Simpson <adam@adamsimpson.net>
Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
2025-04-03 09:36:02 -04:00
9111a2839c
Revert "Tempo: fix streaming with TLS without BasicAuth ( #100546 )" ( #103358 )
...
This reverts commit fa8dafec77a45e5050858d57b40dccc64a61842f.
2025-04-03 15:48:26 +03:00
800aa7827d
Provisioning: Ensure path to file exists in Files endpoints ( #103343 )
...
* Create ensure folder path exists
* Fix issue with folder names generated in 2 different ways
2025-04-03 13:50:41 +02:00
3450d243b9
Alerting: Delete permanently deleted alert rules. ( #102960 )
...
* add alertingDeletePermanently ff
* add delete permanently button in Recently deleted page
* use ff to protect delete permanent button column
* update transations and prettier
* invalidate tag and update transalations keys
* add test
* prettier
* refactor test
* restore wrong change in deleteRulerRuleGroupHandler
* update test
* linter
* Alerting: Permanent delete rules code review (#103288 )
* Update feature toggle name and description
* Rename mutation endpoint
* Fix typo and update text to be "permanently delete"
* Update feature toggle and test
* Move delete button into actions column
* generate ff
* address feedback
---------
Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2025-04-03 14:18:25 +03:00
f277902682
Sidebar: Create a sidebar that can render an extension ( #102626 )
...
* Extension Sidebar: Add missing `web-section` icon
* Extension Sidebar: Add core extension sidebar components
* Extension Sidebar: Integrate extension sidebar into Grafana
* Extension Sidebar: Change extension point to alpha
* Extension Sidebar: Fix saved state of docked extensions
* Extension Sidebar: Delete from local storage if undocked
* Extension Sidebar: Move main scrollbar from body to pane
* Extension Sidebar: Expose `ExtensionInfo`
* Extension Sidebar: Move `useComponents` into ExtensionSidebar
* Extension Sidebar: Store selection in `localStorage`
* Extension Sidebar: Simplify return of extension point meta
* Extension Sidebar: Ensure `body` is scrollable when sidebar is closed
* Extension Sidebar: Add missing `GlobalStyles` change
* Extension Sidebar: Don't render `ExtensionSidebar` unless it should be open
* Extension Sidebar: Better toggle handling
* Extension Sidebar: Fix wrong header height
* Extension Sidebar: Change `getExtensionPointPluginMeta` to use `addedComponents` and add documentation
* Extension Sidebar: Add tests for `getExtensionPointPluginMeta`
* Extension Sidebar: Add tests for `ExtensionSidebarProvider`
* Extension Sidebar: Fix tests `ExtensionSidebarProvider`
* Extension Sidebar: Add tests `ExtensionToolbarItem`
* Extension Sidebar: Add `extensionSidebar` feature toggle
* Extension Sidebar: Put implementation behind `extensionSidebar` feature toggle
* update feature toggles
* fix lint
* Extension Sidebar: Only toggle if clicking the same button
* Extension Sidebar: Hide sidebar if chromeless
* Update feature toggles doc
* Sidebar: Add `isEnabled` to ExtensionSidebarProvider
* Extension Sidebar: Use conditional CSS classes
* Extension Sidebar: Move header height to GrafanaContext
* Sidebar: Adapt to feature toggle change
* Sidebar: Remove unused import
* Sidebar: Keep featuretoggles in ExtensionSidebar tests
* ProviderConfig: Keep `config` import in tests
* FeatureToggles: adapt to docs review
* fix typo
2025-04-03 12:16:35 +02:00
b97b1cc730
K8s: Revert change around full path ( #103334 )
2025-04-03 04:57:26 -05:00
f4ae8516bd
chore(folders): add extended tracing to the folders service ( #103007 )
2025-04-03 11:54:47 +02:00
b49c532999
Alerting: Fix state transition from Recovering back to Alerting ( #103286 )
...
What is this feature?
This PR fixes a state transition issue where alerts transitioning from the Recovering state back to the Alerting state incorrectly entered the Pending state first if the rule had a For duration configured.
Why do we need this feature?
When an alert goes from Alerting to Recovering (when using the Keep firing for) and then back to Alerting, the existing logic would incorrectly put the alert into Pending state while it should be alerting and still sending notifications to the Alertmanager.
2025-04-03 11:40:45 +03:00
7165bc553a
CloudMigrations: Add Cypress happy path test case scenarios ( #103250 )
2025-04-03 10:34:32 +02:00
4918d8720c
Dashboard Restore: Remove experimental functionality under feature flag dashboardRestore
for now - this will be reworked ( #103204 )
2025-04-03 02:52:54 -05:00
db1f1c5df9
search: add manager kind to bleve ( #103305 )
2025-04-03 10:02:02 +03:00