Commit Graph

9400 Commits

Author SHA1 Message Date
Grot (@grafanabot)
e7c8704090 [v9.3.x] Server: Switch from separate server & cli to a unified grafana binary (#62443)
* Server: Switch from separate server & cli to a unified grafana binary (#58286)

* avoid the need for a second bulky binary for grafana-cli

* look for grafana-server in $PATH as well as same directory

* implement unified "grafana" command

* update dockerfiles, fix grafana-cli -v

* update packaging to work with single binary

- add wrapper scripts for grafana and grafana-server
- update and sync package files
- implement --sign flag of build package command
- stop packaging scripts folder, they are not useful for end users
- add support for --configOverrides in server command
- remove unused nfpm.yaml config file

* windows support

(cherry picked from commit de99ce139c)

* Build: don't remove grafana-server and grafana-cli binaries from deb and rpm packages (#59890)

* don't remove grafana-server and grafana-cli binaries from /usr/share/grafana/bin in deb and rpm packages

* don't add config overrides in /usr/sbin/grafana-server

---------

Co-authored-by: Dan Cech <dcech@grafana.com>
2023-02-02 10:41:18 +02:00
Gilles De Mey
a31430a3dd Alerting: hide "silence" button for external AM setups (#62133) (#62693) 2023-02-01 15:25:37 +00:00
ismail simsek
ead3a002df [v9.3.x] Expressions: Fixes the issue showing expressions editor (#62627)
Expressions: Fixes the issue showing expressions editor (#62510)

* Use suggested value for uid

* update the snapshot

* use __expr__

* replace all -100 with __expr__

* update snapshot

* more changes

* revert redundant change

* Use expr.DatasourceUID where it's possible

* generate files

(cherry picked from commit 91221bc436)
2023-01-31 14:31:33 -05:00
George Robinson
1c6fcb8ed4 Alerting: Validate that tags are 100 characters or less (#62335) (#62594)
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
(cherry picked from commit 0dacb11a12)
2023-01-31 14:39:56 +00:00
Grot (@grafanabot)
aaa2a821ae [v9.3.x] Plugins: Fix circular reference in customOptions leading to MarshalJSON errors (#62564)
Plugins: Fix circular reference in customOptions leading to MarshalJSON errors (#62328)

* Plugins: test ds.JsonData.MarshalJSON()

* CustomOptions: copy to avoid cyclic marshal

(cherry picked from commit c41f97029e)

Co-authored-by: Yasir Ekinci <ekinci.yasir@gmail.com>
2023-01-31 13:28:59 +01:00
Emil Tullstedt
267d53a56a [v9.3.x] Login: Fix panic when UpsertUser is called without ReqContext (#62571)
* Login: Fix panic when UpsertUser is called without ReqContext (#62539)

(cherry picked from commit b1151dd118)

* login->models
2023-01-31 13:22:09 +01:00
Grot (@grafanabot)
7ee08a5c50 [v9.3.x] Auth: Fix catch both both ErrInvalidAPIKey for context with APIKey (#62206)
Auth: Fix catch both both ErrInvalidAPIKey for context with APIKey (#62193)

* fix: capture both ErrInvalidAPIKey

* rename of variable

(cherry picked from commit c5cb5be3cc)

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2023-01-30 08:59:16 +00:00
Grot (@grafanabot)
4da046bde5 [v9.3.x] CloudWatch: Add missing AWS/DX metric (#62442)
CloudWatch: Add missing AWS/DX metric (#62405)

(cherry picked from commit 2ff715cb7a)

Co-authored-by: Jan Garaj <jan.garaj@gmail.com>
2023-01-30 08:40:57 +00:00
Grot (@grafanabot)
6991330eda [v9.3.x] Encryption: Cache new DEKs (only) after a caution period (#62177)
Encryption: Cache new DEKs (only) after a caution period (#60664)

* Encryption: Cache new DEKs (only) after commit

* Fix typo

* Update secrets manager tests with new failing case

* Update secrets manager tests with new clarifications (comments)

* Correct broken method calls

* Unify methods

* Cache data keys only after a caution period

* Caution period for data keys caching only for encrypt ops

(cherry picked from commit c4e067d49d)

Co-authored-by: Joan López de la Franca Beltran <5459617+joanlopez@users.noreply.github.com>
2023-01-26 11:31:42 +01:00
Grot (@grafanabot)
e7e110c140 [v9.3.x] Oauth: Remove extra decoding of redirect url (#60878)
Oauth: Remove extra decoding of redirect url (#60875)

Oauth: remove extra decoding of redirect cookie url
(cherry picked from commit 5b4e1ee6fc)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2023-01-25 15:16:28 +00:00
Grot (@grafanabot)
47f924d915 [v9.3.x] Datasources: Fix Proxy by UID Failing for UIDs with a Hyphen (#62011)
Datasources: Fix Proxy by UID Failing for UIDs with a Hyphen (#61723)

Fix Proxy by UID Failing for UIDs with a Hyphen

Hyphens are allowed in short IDs but not picked up by the
proxyPathRegexp. This caused the end of the uid to be proxied as part of
the path to the backing datasource which would usually cause a 404.

(cherry picked from commit f85d072c17)

Co-authored-by: Chris Marchbanks <csmarchbanks@gmail.com>
2023-01-24 16:32:36 +00:00
Grot (@grafanabot)
4dc28cfec5 [v9.3.x] Elasticsearch: Fix failing requests when using SigV4 (#61933)
Elasticsearch: Fix failing requests when using SigV4 (#61923)

fix setting of `es` servicename

(cherry picked from commit c5610450b2)

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2023-01-23 17:00:37 +01:00
Grot (@grafanabot)
f485d0a1df [v9.3.x] Plugins: enable the plugin sdk to get the json data for all datasources (#61792)
Plugins: enable the plugin sdk to get the json data for all datasources (#61729)

(cherry picked from commit 3b718a3e8f)

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2023-01-19 16:03:12 +00:00
Grot (@grafanabot)
bed1e36dcc [v9.3.x] Auth: Fix disable/remove duplicate user entries metrics for performance reasons (#61692)
Auth: Fix disable/remove duplicate user entries metrics for performance reasons (#61675)

* fix: remove metrics from duplicate user entries

* fix: disable metrics collection for authinfo

* fix: initifine goroutine loop that happened

* removed: metrics

(cherry picked from commit bedd2304d1)

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2023-01-19 09:46:40 +01:00
Yuri Tseretyan
ad705086cf Alerting: Fix webhook to use correct key for decrypting token (#61717) 2023-01-18 19:51:37 +00:00
Selene
fe6088e60e [v9.3.x] Dashboards: Add org_id in dashboards query (#61599)
Manual backport
2023-01-17 10:52:47 +01:00
Grot (@grafanabot)
b7e4a27e96 [v9.3.x] Auth: Fix correct error for updateapikey in context handler (#61565)
Auth: Fix correct error for updateapikey in context handler (#61544)

* fix: correct error for updateapikey

* refactor: send the correct err forward

* update: based on review

(cherry picked from commit 07bbc0716c)

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2023-01-16 14:31:02 +00:00
Alexander Weaver
46f377635e Alerting: Set error annotation on EvaluationError regardless of underlying error type (#61508)
* Alerting: Set error annotation on EvaluationError regardless of underlying error type (#61506)

Set error annotation regardless of underlying error type

(cherry picked from commit b289b8ac6e)

* Also cherrypick the nilcheck that got added prior to 9.4
2023-01-16 09:11:52 +01:00
Grot (@grafanabot)
225534841f [v9.3.x] Alerting: Fix evaluation timeout (#61307)
Alerting: Fix evaluation timeout (#61303)

(cherry picked from commit b4e1e1871f)

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2023-01-12 14:18:30 +01:00
Grot (@grafanabot)
0a5f051dd1 [v9.3.x] Instrumentation: measure time until plugin request (#61289)
Instrumentation: measure time until plugin request (#61279)

Signed-off-by: bergquist <carl.bergquist@gmail.com>
(cherry picked from commit 672b1711b0)

Co-authored-by: Carl Bergquist <carl.bergquist@gmail.com>
2023-01-11 15:28:59 +01:00
Grot (@grafanabot)
007110c599 [v9.3.x] Traces: Fix timestamp for database query traces (#61162)
Traces: Fix timestamp for database query traces (#61109)

(cherry picked from commit e7b17cde47)

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2023-01-09 09:58:18 -05:00
Grot (@grafanabot)
e12c571abf [v9.3.x] Alerting: Fix conversion of alert state from db state during manager warmup (#60976)
Alerting: Fix conversion of alert state from db state during manager warmup (#60933)

(cherry picked from commit 4d989860fb)

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2023-01-04 09:57:34 -05:00
Stephanie Hingtgen
a4b7019ff0 [v9.3.x] Plugins: add option to proxy ds connections through a secure socks proxy (#59254) (#60643)
Plugins: add option to proxy ds connections through a secure socks proxy (#59254)

* Plugins: add feature to proxy data source connections

(cherry picked from commit 6805c951e9)
2023-01-04 20:05:18 +05:30
Grot (@grafanabot)
8aa9921c9f [v9.3.x] Alerting: Fix missing dashboard/panelID links in annotations (#60927)
Alerting: Fix missing dashboard/panelID links in annotations (#60926)

Assign thru ref

(cherry picked from commit b88b8bc291)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2023-01-04 10:19:25 +00:00
Grot (@grafanabot)
db83d5f398 [v9.3.x] Plugins: Fix plugin query help markdown (#60907)
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>
2023-01-03 09:11:50 -05:00
Grot (@grafanabot)
0404d07666 [v9.3.x] Alerting: Fix missing edit/delete/copy link in alert view (#60902)
* Alerting: Fix missing edit/delete/copy link in alert view (#60874)

Fix missing edit/delete/copy link in alert view

(cherry picked from commit f22286df3f)

* Fix generated file

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
Co-authored-by: Armand Grillet <2117580+armandgrillet@users.noreply.github.com>
2023-01-03 14:28:46 +01:00
Kristin Laemmert
c75abb084c CLI: Fix wire graph for reset-admin-password (#60846)
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
2022-12-30 11:00:45 -05:00
Grot (@grafanabot)
9f639403e6 [v9.3.x] Alerting: Prevent uid collision in migration when db is case-insensitive (#60835)
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>
2022-12-29 16:15:12 -05:00
ismail simsek
1d0dd0338c [v9.3.x] Prometheus: Fix Instant query time calculation (#60822)
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)
2022-12-29 17:22:26 +01:00
Grot (@grafanabot)
386016ccb9 [v9.3.x] AzureMonitor: Set Logs portal URL from resource URI (#60640)
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>
2022-12-22 07:06:02 -05:00
Grot (@grafanabot)
ae071d7abc [v9.3.x] AzureMonitor: Correctly set filter values in portal URL (#60641)
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>
2022-12-21 18:55:03 +00:00
Grot (@grafanabot)
f05f7db37d [v9.3.x] Plugins: Fix parsing of Azure settings for plugins (#60625)
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>
2022-12-21 07:51:06 -05:00
Dimitris Sotirakis
439b0cad43 [v9.3.x] CI: Add automation for github assets publishing (#59491) (#60192)
CI: Add automation for github assets publishing (#59491)

* Add github.star

* Make step depend on fetch images

* artifacts -> path

* Add github token

* Fix custom path

* Add case where path is absent

* Add GH_REGISTRY secret

(cherry picked from commit e9cf8fa751)
2022-12-20 12:05:25 +02:00
Grot (@grafanabot)
2e4c921868 [v9.3.x] RBAC: Fix DeleteUserPermissions not being called on Upsert org sync (#60534)
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>
2022-12-19 11:25:03 -05:00
Grot (@grafanabot)
4d7d7e7830 [v9.3.x] Prometheus: Fix X-Id-Token and X-ID-Token sent to Prometheus in query requests (#60406)
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>
2022-12-16 16:33:02 +01:00
Grot (@grafanabot)
b79aea0cbe [v9.3.x] Prometheus: Add POST support to client (#60439)
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>
2022-12-16 12:55:07 +01:00
Grot (@grafanabot)
2d876e90b9 [v9.3.x] Alerting: Set Dashboard and Panel IDs on rule group replacement (#60444)
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>
2022-12-16 12:32:57 +01:00
Isabella Siu
1437520da2 Cloudwatch: Fix deeplink with default region (#60260) (#60274)
Cloudwatch: fix deeplink with default region
(cherry picked from commit d6bb2a7493)
2022-12-13 17:14:45 -05:00
Grot (@grafanabot)
04aded642e [v9.3.x] Snapshots: Build snapshot originalUrl on the backend (#60239)
Co-authored-by: kay delaney <kay@grafana.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-12-13 18:24:37 +01:00
Grot (@grafanabot)
7ba0b172ce [v9.3.x] Navigation: Fix some missing pages in admin section (#60174)
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>
2022-12-12 10:39:43 -05:00
Grot (@grafanabot)
5fa57d2c1e [v9.3.x] Chore: All tests under pkg/tests should be integration tests (#60071)
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>
2022-12-12 08:58:42 +01:00
Grot (@grafanabot)
d74552e02f [v9.3.x] Navigation: Prevent app crash when importing a dashboard with a uid of home (#60092)
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>
2022-12-09 13:37:59 +00:00
Grot (@grafanabot)
8410c327a4 [v9.3.x] Login: Fix failure to login a new user via an external provider if quota are enabled (#60086)
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>
2022-12-09 07:29:01 -05:00
Grot (@grafanabot)
74a22daa49 [v9.3.x] Alerting: Use the QuotaTargetSrv instead of the QuotaTarget in quota check (#60034)
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>
2022-12-09 07:24:39 +08:00
Grot (@grafanabot)
0f6c4d1756 [v9.3.x] ServiceAccounts: Do not display warnings about secret scanner when scanner is disabled (#59955)
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>
2022-12-07 09:06:08 -05:00
Carl Bergquist
4f68c4ee8b [9.3.x] Backport Contexthandler: Add uname as response header #59930 (#59951)
Contexthandler: Add uname as response header (#59930)

Signed-off-by: bergquist <carl.bergquist@gmail.com>
(cherry picked from commit 1b676d0d49)
2022-12-07 14:23:51 +01:00
Grot (@grafanabot)
a3dda795f9 [v9.3.x] Plugins: Add username to datasource plugin logging (#59948)
Plugins: Add username to datasource plugin logging (#59893)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Signed-off-by: bergquist <carl.bergquist@gmail.com>
(cherry picked from commit a5ace56be8)

Co-authored-by: Carl Bergquist <carl.bergquist@gmail.com>
2022-12-07 13:43:38 +01:00
Gabriel MABILLE
3adad3c21a Users: Use Remote Cache for storing signed in users [v9.3.x] (#59883) (#59934)
* FeatureToggle: for storing signed in user object in a Remote Cache (#59883)

Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
2022-12-07 11:04:41 +01:00
Jo
a32d25bbe3 Auth: Session cache [v9.3.x] (#59937)
Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>

* add cache wrapper

only cache token if not to rotate

anticipate next rotation

(cherry picked from commit 07a4b2343d59cb593ad128355e1d9217ba493700)

* FeatureToggle: for storing sessions in a Remote Cache

Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
(cherry picked from commit b8a8c15148)

* use feature flag for session cache

* ensure ttl is minimum 1 second

Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>

* ensure 2 ttl window to prevent caching of tokens near rotation

Co-authored-by: Kalle Persson <kalle.persson@grafana.com>

* fix description of toggle

Co-authored-by: gamab <gabi.mabs@gmail.com>
Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
(cherry picked from commit 2919588a82)
2022-12-07 10:55:43 +01:00
Grot (@grafanabot)
7a7bee20af [v9.3.x] API: Fix delete user failure due to quota not enabled (#59879)
API: Fix delete user failure due to quota not enabled (#59875)

(cherry picked from commit 4259b6bf58)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-12-06 08:17:24 -05:00