* Alerting: During legacy migration do not create one silence per rule
During legacy migration every migrated rule is given a label rule_uid=<uid>.
This is used to silence migrated alerts if they were:
- Paused in legacy alerting.
- Had Error state set to keep last state.
- Had NoData state set to keep last state.
This can potentially create a large amount of silences and a high cardinality
label. Both of these scenarios have poor outcomes for CPU load and latency in
unified alerting.
Instead, this change opts to create one or more of three labels on each
migrated alert rule as well as three silence rules:
- migration_paused = true
- migration_keep_last_state_error = true
- migration_keep_last_state_nodata = true
This will drastically reduce the number of created silence rules in most cases
as well as not create the potentially high cardinalty label `rule_uid`.
* Alerting: Fix state manager to not keep datasource_uid and ref_id labels in state after Error (#72216)
(cherry picked from commit 78fc3bcdf4)
* user QueryError
---------
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
* CI: Update CI/CD tooling and pipelines from main (#76814)
* CI: Update CI/CD tooling and pipelines from main
* Update Makefile
* Comment out validate_openapi_spec_step
* Update broken frontend tests
* Fix validate-npm-packages regex to work without suffix
* Fix cypress image version
(cherry picked from commit 03ecb1db39)
* Fix path for ./pkg/kindsys/report.go on Makefile
* Re-add ./pkg/cmd/grafana-cli/runner to make gen-go
Prometheus: Handle the response with different field key order (#74567)
* Handle the response with different field key order
* More unit tests to cover edge cases
* Cover more edge cases
* make it simpler
* Better test inputs
(cherry picked from commit 3107459e57)
SSE: DSNode to update result with names to make each value identifiable by labels (only Graphite and TestData) (#73642)
* SSE: DSNode to update result with names to make each value identifiable by labels (only Graphite and TestData) (#71246)
* introduce a function checkIfSeriesNeedToBeFixed to scan all value fields in the response and provide a function that updates Series so they can be uniquely identifiable. Only Graphite and TestData are checked.
* update `DSNode.Execute` to run this function and provide it to WideToMany
* update WideToMany to run the fix function if it is not nil
* [LDAP] Disable removed users on login (#74016)
* manual backport of #74016 on legacy code
* LDAP: Fix active sync with large quantities of users (#73834)
* Fix authenticate user test
Grafana versioning: Remove `pre` suffix from Grafana version (#73357)
* Remove pre suffix from version
* Fix tests
(cherry picked from commit 0aba319ea0)
Co-authored-by: Dimitris Sotirakis <dimitrios.sotirakis@grafana.com>
Plugins: Only configure plugin proxy transport once (#71735)
only configure plugin proxy transport once
(cherry picked from commit b59ca7fb22)
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
CI: Add CI check for `what's new` link (#70046)
* Add whatsnewchecker
* Add whatsnewchecker_test
* Small fixes
* Add step in CI
* Fix lint
* Fix starlark
* t.Cleanup instead of separate func
* Skip check for test tags
(cherry picked from commit 91272ee4f9)
# Conflicts:
# .drone.yml
# scripts/drone/events/release.star
* NPM packages: Fail `build-frontend-packages` step if `package.json` and input tag differ (#70011)
* Fail if package.json version is different than the tag
* Add tests
* Update message
* Small refactoring
* Fix lint
(cherry picked from commit a6b524fd56)
* Bump urfave/cli/v2
* go mod tidy
Prevent crash while executing concurrent mixed queries (#874)
limit parallel query execution to 1 at a time
(cherry picked from commit 96579a60e19e2a9f2d6bdaeba64e0e702211eb73)
Co-authored-by: Michael Mandrus <41969079+mmandrus@users.noreply.github.com>
Require alert.notifications:write permissions to test receivers and templates (#865)
(cherry picked from commit 3c21ab70075256d4ba8e4fbfdcb15f5a394161fa)
Docker: Add `mode` label when building docker images (#68865)
Add mode label when building docker image
(cherry picked from commit bad570ee86)
Co-authored-by: Dimitris Sotirakis <dimitrios.sotirakis@grafana.com>
Utils: Reimplement util.GetRandomString to avoid modulo bias (#64481)
* reimplement GetRandomString, add tests that results are unbiased
(cherry picked from commit 7e765c870a)
Co-authored-by: Dan Cech <dcech@grafana.com>
Revert: Allow editors to access GET /datasources (#68632)
Revert "Allow editors to access GET /datasources"
This reverts commit 5a830c43c0.
(cherry picked from commit 6a2bcba078)
Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
Prometheus: Fix fallback http method when no http method specified in jsonData (#65229)
Use POST as default if no http method specified in jsonData
(cherry picked from commit 959349d191)
AzureMonitor: Fix logs query multi-resource and timespan values (#67914)
* Update TimeGrain interface methods
- Make them util functions because it's simpler
* Update logs ds to appropiately set resources and timespan
* Set timespan using RCF times
* Update tests
(cherry picked from commit 9d16718acc)
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
Grafana Cloud: Put cloud artifacts to `*/release` dir (#66168)
Put cloud artifacts to */release dir
(cherry picked from commit a2634495e5)
Co-authored-by: Dimitris Sotirakis <dimitrios.sotirakis@grafana.com>
Alerting: Update migration to put alerts to the default folder if dashboard folder is missing (#65577)
* extract function
* use context logger
* put alert to general folder if folder is missing
* move folderHelper init
* add test
* Update pkg/services/sqlstore/migrations/ualert/ualert.go
Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
---------
Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
(cherry picked from commit 7b2f44762e)
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
Google Cloud Monitoring: Fix project variable (#66524)
Google Cloud Monitoring: fix project variable
Also fix typo found while debugging
(cherry picked from commit 02951e8a26)
Co-authored-by: Adam Simpson <adam@adamsimpson.net>
Auth: Remove the session cookie only if it's invalid or revoked (#65984)
Remove the cookie if it's invalid or revoked
(cherry picked from commit 4cac95d1c2)
Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
AccessControl: Allow editors to access GET /api/datasources (#66343)
Allow editors to access GET /datasources
(cherry picked from commit 2c21090931)
Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
Auth: Fix orgrole picker disabled if isSynced user (#64033)
* fix: disable orgrolepicker if externaluser is synced
* add disable to role picker
* just took me 2 hours to center the icon
* wip
* fix: check externallySyncedUser for API call
* remove check from store
* add: tests
* refactor authproxy and made tests run
* add: feature toggle
* set feature toggle for tests
* add: IsProviderEnabled
* refactor: featuretoggle name
* IsProviderEnabled tests
* add specific tests for isProviderEnabled
* fix: org_user tests
* add: owner to featuretoggle
* add missing authlabels
* remove fmt
* feature toggle
* change config
* add test for a different authmodule
* test refactor
* gen feature toggle again
* fix basic auth user able to change the org role
* test for basic auth role
* make err.base to error
* lowered lvl of log and input mesg
(cherry picked from commit 3cd952b8ba)