Plugins: Fix plugin query help markdown (#60485)
* refactor(pluginhelp): rewrite as functional component with useAsync
* mimic old behaviour
* feat(pluginhelp): display message if backend returned an empty string
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
(cherry picked from commit 9aed364898)
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
fix(cli): correct wire binding for reset-admin-password
The cli methods were updated to use the db.DB interface, but that interface was still wired in as the fake DB - it had only been used for tests previously. This isn't an issue in the main branch now that it's been collapsed into a single binary all using the same wire graph.
Fixes#59915
Alerting: Prevent uid collision in migration when db is case-insensitive (#60494)
* Alerting: Prevent short uid collision in legacy migration when db is case-insensitive
Two factors come into play that cause sporadic uid conflicts during legacy alert migration:
- MySQL and MySQL-compatible backends use case-insensitive collation.
- Our short uid generator is not a uniform RNG and generates uids in such a way that generations in quick succession have a higher probability of creating similar uids.
Normally we would be guaranteed unique short uid generation, however if the source alphabet contains
duplicate characters (for example, if we use case-insensitive comparison) this guarantee is void.
Generating even ~1000 uids in quick succession is nearly guaranteed to create a case-insensitive
duplicate.
(cherry picked from commit 570b62091c)
Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
Prometheus: Fix Instant query time calculation (#60815)
* Use single point in time instead of doing time range calculation
* Comment update
(cherry picked from commit 15d32546ea)
AzureMonitor: Set Logs portal URL from resource URI (#60583)
Set URL based off of resource URI
(cherry picked from commit f3f043e097)
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
AzureMonitor: Correctly set filter values in portal URL (#60627)
* Correctly set filter values in portal URL
* Refactor to include dimensions as a part of AzureMonitor query
* Correctly set splitting value in URL
- Add type for dimension filters object
* Update tests
* Don't test dimensions
(cherry picked from commit 2e4bc200f5)
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
Plugins: Fix parsing of Azure settings for plugins (#60611)
Fix parsing of Azure settings for plugins
(cherry picked from commit 96b7fb15de)
Co-authored-by: Sergey Kostrukov <sekost@microsoft.com>
RBAC: Fix DeleteUserPermissions not being called on Upsert org sync (#60531)
* fix DeleteUserPermissions not being called on RemoveOrgUser
* do not error out of auth flow
* fix test missing service
(cherry picked from commit 77786f236a)
Co-authored-by: Jo <joao.guerreiro@grafana.com>
Prometheus: Fix X-Id-Token and X-ID-Token sent to Prometheus in query requests (#60342)
* Prometheus: Use Set rather than map assignment in sdkHeaderToHttpHeader
Fixes#59940
* Prometheus: Add TestPrometheusCanonicalHeaders
(cherry picked from commit 92c01e416e)
Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
Prometheus: Add POST support to client (#60243)
* Prometheus: Add POST support to client
* Prometheus: Revert client test change from 1c503908
(cherry picked from commit 055c3b7332)
Co-authored-by: Fionera <fionera@fionera.de>
Alerting: Set Dashboard and Panel IDs on rule group replacement (#60374)
* Set Dashboard and Panel IDs on rule group replacement
* fix comments and abbreviate test variable name
* Update pkg/services/ngalert/provisioning/alert_rules.go
Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
(cherry picked from commit 174c61b949)
Co-authored-by: Alex Moreno <alexander.moreno@grafana.com>
Navigation: Fix some missing pages in admin section (#60143)
* add stats and licensing under admin -> general when topnav is enabled
* add ldap to users and access
* use ID instead of Id
* add enterprise licensing node
(cherry picked from commit 39a4ba4396)
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Chore: All tests under pkg/tests should be integration tests (#59521)
* Chore: All tests under pkg/tests should be integrationtests
* run alerting integration tests only for sqlite
(cherry picked from commit 2db8ed9441)
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Navigation: Prevent app crash when importing a dashboard with a uid of `home` (#59874)
* change home id to be more unique, refactor so that home circular reference is never created
* prefix starred dashboards
* update reducer
(cherry picked from commit a589929c92)
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Login: Fix failure to login a new user via an external provider if quota are enabled (#60015)
* Login: Fix failure to login a new user via an external provider if quota are enabled
(cherry picked from commit 341d7b01ee)
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
Alerting: Use the QuotaTargetSrv instead of the QuotaTarget in quota check (#60026)
Before this change, the alerting provisioning system incorrectly used
the QuotaTarget to check if alerting's request quota had been reached.
The quota service requires the QuotaTargetSrv, which is what's
registered with the service at startup time. This is leading to errors
in the provisioning system.
(cherry picked from commit e6743a7e9a)
Co-authored-by: Joe Blubaugh <joe.blubaugh@grafana.com>
ServiceAccounts: Do not display warnings about secret scanner when scanner is disabled (#59952)
ServiceAccounts: Fix warnings about secret scanner when scanner is disabled
(cherry picked from commit d833031726)
Co-authored-by: Jo <joao.guerreiro@grafana.com>
DataSourcePermissions: Handle licensing properly for ds permissions (#59694)
* RBAC: add viewer grand if dspermissions enforcement is not enabled
* RBAC: Change permissions based on role prefix
* RBAC: Add option to for permission service to add a license middleware
* RBAC: Remove actions from query struct
(cherry picked from commit 6d1bcd9f40)
Co-authored-by: Karl Persson <kalle.persson@grafana.com>
AzureMonitor: Fix panic from empty response in ARG (#59691)
AzureMonitor: Avoid panic from empty response in ARG
(cherry picked from commit 231b5b587c)
Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
Packaging: Use rpm-digest sha256 when creating rpm packages (#59510)
* Use rpm-digest sha256 when creating rpm packages
* only append this argument with rpm builds
(cherry picked from commit 76a586195a)
Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
RBAC: Handle edge case where there is duplicated acl entries for a role on a single dashboard (#58079)
* RBAC: Handle edge case where there is duplicated acl entries for a role
on a single dashboard
(cherry picked from commit 6aaf36776b)
Co-authored-by: Karl Persson <kalle.persson@grafana.com>
Alerting: Fix swallowing of errors when attaching images to notifications (#59432)
* Break out image logic and add logging
* Attach alert log context to image attachment
* Fix capitalization
(cherry picked from commit 1481ace528)
Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
User: Optimize signed in user cache management (#59090)
* only access the cache if a user ID is set
* ignore all negative values
(cherry picked from commit d7a652ff7f)
Co-authored-by: Jo <joao.guerreiro@grafana.com>
Internationalization: Enable internationalization by default (#59204)
* Enable internationalization feature flag by default
* Change i18n feature to beta
* Set i18n feature flag to stable
* update features
(cherry picked from commit ba0ac08465)
Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
Azure Monitor Logs: Avoid warning when the response is empty (#59211)
(cherry picked from commit 9d88e14f01)
Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
Navigation: share logic between `buildBreadcrumbs` and `usePageTitle` (#58819)
* simplify usePageTitle logic a bit
* use buildBreadcrumbs logic in usePageTitle
* always add home item to navTree, fix some tests
* fix remaining unit tests
(cherry picked from commit 824a562b03)
Navigation: use correct id to find cloud access policies page (#59123)
use correct id to find cloud access policies page
(cherry picked from commit 8761a71da2)
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>