Chore: Implement GetOAuthProviders in FakeSocialService (#87590)
Implement GetOAuthProviders in FakeSocialService
(cherry picked from commit 896882b004)
Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
Provisioning: Look up provisioned folders by UID when possible (#87465)
look up provisioned folders by uid when possible
(cherry picked from commit 1884b03511)
Co-authored-by: Dan Cech <dcech@grafana.com>
Add FolderUID for library elements (#83819)
* Revert "Revert "Add FolderUID for library elements" (#83776)"
This reverts commit 0dfdb2ae47.
* Fix bug, dashboard id and library element fodler_id are the corresponding values
Dashboard table hold both dahboards and tables
(cherry picked from commit 5c4a2de59b)
Co-authored-by: idafurjes <36131195+idafurjes@users.noreply.github.com>
SQLStore: Disable redundant create and drop unique index migrations on dashboard table (#86857)
SQLStore: Disable create and drop unique index migrations
(cherry picked from commit a5a3ee9fa3)
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
Alerting: Fix simplified routing group by override (#86552)
* Alerting: Fix simplified routing custom group by override
Custom group by overrides for simplified routing were missing required fields
GroupBy and GroupByAll normally set during upstream Route validation.
This fix ensures those missing fields are applied to the generated routes.
* Inline GroupBy and GroupByAll initialization instead of normalize after
(cherry picked from commit 71445002b7)
Alerting: Return a 400 and errutil error when trying to delete a contact point that is referenced by a policy (#85481)
Return a 400 and errutil error when trying to delete a contact point that is referenced by a policy
(cherry picked from commit 5b1498f98f)
Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
Google Cloud Monitor: Fix `res` being accessed after it becomes `nil` in `promql_query.go` (#84223)
Fix res being accessed after it becomes nil in promql_query.go
(cherry picked from commit c2b94429e4)
Co-authored-by: Adam Yeats <16296989+adamyeats@users.noreply.github.com>
Alerting: Fix receiver inheritance when provisioning a notification policy (#82007)
Terraform Issue: grafana/terraform-provider-grafana#1007
Nested routes should be allowed to inherit the contact point from the root (or direct parent) route but this fails in the provisioning API (it works in the UI)
(cherry picked from commit 2188516a21)
Co-authored-by: Julien Duchesne <julien.duchesne@grafana.com>
SQLEngine: Use `debug` method instead of custom implementation (#85118)
Use debug method instead of custom implementation
(cherry picked from commit 19159a89a2)
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
Alerting: Marshal incoming json.RawMessage in diff (#84692)
This will ensure the encoding is correct when comparing
to the existing rule.
(cherry picked from commit 6d16cf2699)
Co-authored-by: William Wernert <william.wernert@grafana.com>
* Elasticsearch: Fix legend for alerting, expressions and previously frontend queries (#84485)
* Elasticsearch: Fix legend for alerting, expressions and previously frontend queries
* Add comment
* Update comment
(cherry picked from commit 494d169980)
* Pass correct param to NewClient (this is not needed on main)
---------
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
Co-authored-by: Ivana Huckova <ivana.huckova@gmail.com>
Alerting/Annotations: Prevent panics from composite store jobs from crashing Grafana (#83459)
* Don't directly use pointer to json
* Don't crash entire process if a store job panics
* Add debug logs when failing to parse/handle Loki entries
(cherry picked from commit af528d2f66)
Co-authored-by: William Wernert <william.wernert@grafana.com>
Service accounts: Same Org fix migration to account for duplicate entries (#84349)
* bug: fix migration to account for duplicate entries
* refactoring to create test folder for user migrations
* fix migration log
* added the migration
* additional tests
* added extSrv tests
(cherry picked from commit 6c8895e349)
Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
* ExtSvcAccounts: FIX prevent service account deletion (#84502)
* ExtSvcAccounts: Fix External Service Accounts Login check
Co-authored-by: Karl Persson <kalle.persson@grafana.com>
* Remove service accounts assignments and permissions on delete
* Fix first set of tests
* Fix second batch of tests
* Fix third batch of tests
---------
Co-authored-by: Karl Persson <kalle.persson@grafana.com>
(cherry picked from commit 2795f9827a)
* ExtSvcAccounts: FIX tests that accidently depended on enterprise (#84535)
* ExtSvcAccounts: FIX tests that accidently depended on enterprise
* fix
---------
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
Co-authored-by: Charandas <charandas@users.noreply.github.com>
Chore: Adding log also for cases where datasource UID length is invalid (#84443)
* Adding log also for datasource length
(cherry picked from commit 8e90e02db2)
Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
Chore: Bump update checker interval to 1 day (#84404)
* Bump interval to 1hr
* 2 hours is better than 1
* Bump further to 1 day
(cherry picked from commit 391d14d091)
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
Alerting: Add "Keep Last State" backend functionality (#83940)
* Implement keep last state for state transitions
* Respect For duration when keeping state
* Only keep transition from recording an annotation
* Add keep last state option for nodata/error in UI
(cherry picked from commit 10dc6c6d75)
Co-authored-by: William Wernert <william.wernert@grafana.com>
Loki: Fix null pointer exception in case request returned an error (#84398)
Loki: Fix nullpointer in case query returned an error
(cherry picked from commit 34f9bff9e0)
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
SSO: fix mergeSettings() in case the DB contains empty URLs (#84290)
* fix mergeSettings() in case the db contains empty strings
* use correct github urls in test
* overwrite only urls
* update comment for mergeSettings()
(cherry picked from commit 2acd48d1c2)
Co-authored-by: Mihai Doarna <mihai.doarna@grafana.com>
Serviceaccounts: Add ability to add samename SA for different orgs (#83893)
* add ability to add samename SA for different orgs
* Update pkg/services/user/userimpl/user.go
* fix tests
* refactor name
* removed tests
* add migration
* fix linting
(cherry picked from commit e611a736ed)
Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
* Chore: Query oauth info from a new instance (#83229)
* query OAuth info from a new instance
* add `hd` validation flag
* add `disable_hd_validation` to settings map
* update documentation
---------
Co-authored-by: Jo <joao.guerreiro@grafana.com>
(cherry picked from commit b02ae375ba)
LDAP: Fix LDAP users authenticated via auth proxy not being able to use LDAP active sync (#83715)
* fix LDAP users authenticated via auth proxy not being able to use ldap sync
* simplify id resolution at the cost of no fallthrough
* remove unused services
* remove unused cache key
(cherry picked from commit 2182cc47ac)
Co-authored-by: Jo <joao.guerreiro@grafana.com>
Annotations: Improve query performance when using dashboard filter (#83112)
* Annotations: Improve query performance when using dashboard filter
* Add dashboard id filter
(cherry picked from commit e7a1ecca28)
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
AuthProxy: Invalidate previous cached item for user when changes are made to any header (#81445)
* fix: sign in using auth_proxy with role a -> b -> a would end up with role b
* Update pkg/services/authn/clients/proxy.go
Co-authored-by: Karl Persson <kalle.persson92@gmail.com>
* Update pkg/services/authn/clients/proxy.go
Co-authored-by: Karl Persson <kalle.persson92@gmail.com>
(cherry picked from commit 9282c7a7a4)
Co-authored-by: Klesh Wong <klesh@qq.com>
Adds a feature flag (alertingUpgradeDryrunOnStart) that will dry-run the legacy
alert upgrade on startup. It is enabled by default.
When on legacy alerting, this feature flag will log the results of the legacy
alerting upgrade on startup and draw attention to anything in the current legacy
alerting configuration that will cause issues when the upgrade is eventually
performed. It acts as a log warning for those where action is required before
upgrading to Grafana v11 where legacy alerting will be removed.
If the db already has an entry in the kvstore for the silences of an
alertmanager before the migration has taken place, then it's possible that the
active alertmanager will overwrite the silence file created by the migration
before it has a chance to load it into memory.
This should not happen normally but is possible in edge-cases.
This change opts to bypass the unnecessary step of writing the silences to disk
during the migration and instead write them directly to the kvstore. This avoids
the race condition entirely and is more correct as we treat the database as the
source of truth for AM state.