Compare commits

..

337 Commits

Author SHA1 Message Date
Jack Westbrook
23bf3ef043 Merge pull request #319 from grafana/bump-version-8.4.7
Release: Bump version to 8.4.7
2022-04-19 18:05:49 +02:00
grafanabot
51fdb19b8a "Release: Updated versions in package to 8.4.7" 2022-04-19 15:49:53 +00:00
Grot (@grafanabot)
53629fc189 Logging: Fix syslog messages should be sent with correct severity (#47209) (#47256)
(cherry picked from commit 659cf17e10)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-04-19 13:22:41 +02:00
Grot (@grafanabot)
e292cfd95e Docs: Addition of more prominent link to docker conf (#46504) (#47821)
* Docs: Addition of more prominent link to docker conf

Saw a comment on Reddit indicating a lack of information - docs were available, just a little hard to find.

Added a note pointing our community to where they might find docker image configuration help.

* Update docs/sources/installation/docker.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
(cherry picked from commit 67ff5f5815)

Co-authored-by: Petros Kolyvas <code@petros.io>
2022-04-15 09:26:31 -04:00
Jack Westbrook
21d15be7b3 Chore: Remove deprecated @types/braintree__sanitize-url package (#47003) (#47642)
(cherry picked from commit 30d0219de8)
2022-04-14 11:41:34 +02:00
Jack Westbrook
d8bb0ccc2b Update dependency @braintree/sanitize-url to v6 (#46052) (#47640) 2022-04-14 11:00:49 +02:00
Grot (@grafanabot)
f8afcc41d1 Live: collect more usage stats – enabled, ha enabled, num nodes, channels, subs (#47378) (#47737)
(cherry picked from commit e00db6a826)

Co-authored-by: Alexander Emelin <frvzmb@gmail.com>
2022-04-13 13:08:23 -07:00
Jack Westbrook
922449cd07 Chore: Bump moment to 2.29.2 (#47680) (#47711)
* chore: bump moment to 2.29.2

* chore(yarn): clean up remaining moment nested deps

(cherry picked from commit c3db3121b0)
2022-04-13 17:26:45 +02:00
Grot (@grafanabot)
20ece86ab9 Chore: Bump minimist to 1.2.6 (#47401) (#47678)
(cherry picked from commit b8e3c77adb)

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2022-04-13 10:52:10 +02:00
Agnès Toulet
04e013bca3 Chore: update latest.json (#47627) (#47631)
(cherry picked from commit 3b2ca399e2)
2022-04-12 14:51:07 +02:00
Agnès Toulet
f3e15709ca ReleaseNotes: Updated changelog and release notes for 8.4.6 (#47612) (#47621)
* ReleaseNotes: Updated changelog and release notes for 8.4.6

* update changelog and release notes

Co-authored-by: Agnès Toulet <agnes.toulet@gmail.com>
(cherry picked from commit 9a0f626948)

Co-authored-by: Grot (@grafanabot) <43478413+grafanabot@users.noreply.github.com>
2022-04-12 12:46:34 +02:00
Grot (@grafanabot)
14d906f83e "Release: Updated versions in package to 8.4.6" (#47610) 2022-04-12 11:26:25 +02:00
Grot (@grafanabot)
abd640856b CloudWatch: Added missing MemoryDB Namespace metrics (#47290) (#47593)
CloudWatch: Added missing MemoryDB metrics
(cherry picked from commit 614fd04653)

Co-authored-by: Jamie DeMichele <demichej@hotmail.com>
2022-04-11 21:20:18 -04:00
Grot (@grafanabot)
572f9a3859 bugfix: fix proper type of setting maxConcurrentShardRequests (#47120) (#47547)
(cherry picked from commit c0104db72d)

Co-authored-by: Aleksandr Stepanov <alexandrst88@gmail.com>
2022-04-11 10:46:22 +02:00
Grot (@grafanabot)
923ff7a05c fixed dashboard spelling (#47515) (#47519)
(cherry picked from commit 1a88612e82)

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2022-04-08 16:25:39 +02:00
Jack Westbrook
7b32ba1285 Build: Remove redundant NPM publishing code (#46425) (#47459)
* chore(build): remove npm package:publishPrevious script and release-npm-packages.sh

* ci(drone): bump grabpl to v2.9.31

(cherry picked from commit 9a6fd8572a)
2022-04-08 12:43:11 +02:00
Dimitris Sotirakis
3a105493eb [v8.4.x] Sync v8.4.x changes (#47490)
* CI: Update `grabpl` version - remove `--no-pull-enterprise` flag (#47013)

* Update grabpl version

* Sign drone

* Remove --no-pull-enterprise flag

* Sign drone

* Update grabpl

(cherry picked from commit 65b0bd3017)

* Add dependencies (#47126)

(cherry picked from commit ee92af8ebe)

* Run slack notify on OSS repo only (#47194)

(cherry picked from commit 305530224a)

* CI: Run publishing steps only on OSS repo for main/version branches (#47315)

* Convert steps to run on OSS repo only

* Exclude versioned branches from publishing artifacts

* Change trigger -> when

* Add trigger to upload_* steps

* Add conditions to remaining steps

* Exclude release steps

* Bring back exclusion for release builds

(cherry picked from commit bd386df617)
(cherry picked from commit 7da876684b)

* Storybook: Replace `gsutil rsync` with `gsutil cp` when copying artifacts (#47335)

* Replace gsutil rsync with cp

* Sync drone

* Remove folder before uploading artifacts

(cherry picked from commit 25e04d77be)

* Update grabpl version (#47375)

(cherry picked from commit c72881a8b1)

* Make gsutil command don't fail if dir doesn't exist (#47394)

(cherry picked from commit 0845ba1abb)

* Replace with secret (#47488)

(cherry picked from commit ce2a9252c2)
2022-04-08 12:20:59 +03:00
Grot (@grafanabot)
e82742a769 add unit into request duration (#47356) (#47387)
* add unit into request duration

* Update pkg/middleware/logger.go

Co-authored-by: Carl Bergquist <carl.bergquist@gmail.com>

Co-authored-by: Carl Bergquist <carl.bergquist@gmail.com>
(cherry picked from commit 8ef5212b0e)

Co-authored-by: ying-jeanne <74549700+ying-jeanne@users.noreply.github.com>
2022-04-08 04:14:33 +03:00
Grot (@grafanabot)
11c63426ca Histogram Panel: Take decimal into consideration (#47330) (#47417)
(cherry picked from commit 0639ccbdff)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2022-04-07 11:08:19 +03:00
Martin
c8f2417907 [v8.4.x] Build: bump gonum library version to fix #46759 (#46997) (#47410)
* Build: bump gonum library version to fix #46759 (#46997)

(cherry picked from commit 460b8e85d7)

* go mod tidy
2022-04-07 08:20:41 +02:00
achatterjee-grafana
86eddd11b2 backport changes (#47413) 2022-04-06 16:35:39 -04:00
Grot (@grafanabot)
2692b33e7e Alerting: fix flakey default time range assertion (#47262) (#47279)
(cherry picked from commit 322a14fe6e)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-04-06 18:05:34 +02:00
Grot (@grafanabot)
4a3fca83b6 Fix docs links for interval global variable (#43424) (#47392)
And $__interval_ms too
These docs were added in PR #13148 over 3 years ago, but since then the
content has moved without the links being updated to match.

(cherry picked from commit bc28e36089)

Co-authored-by: Sam Jewell <2903904+samjewell@users.noreply.github.com>
2022-04-06 09:31:45 -04:00
Jesse Weaver
8f035ba648 Expose reporting-enabled flag to frontend (#46753) 2022-04-06 11:39:49 +02:00
Grot (@grafanabot)
068d153282 TimeSeries: fix too-thin bar widths of joined series with null values (#47367) (#47368)
(cherry picked from commit a9bc8b2016)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-04-06 03:41:16 +02:00
achatterjee-grafana
ab84df9b50 Updated 7 image files by replacing cortex with mimir (#47350) 2022-04-05 13:31:50 -04:00
Grot (@grafanabot)
80a8f2c96b Limit tooltip size to window size (#47303) (#47314)
(cherry picked from commit 910ed77e16)

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2022-04-05 13:46:45 +02:00
Grot (@grafanabot)
3a8058ae2a table panel: assume string dates to be on UTC (#47246) (#47277)
Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2022-04-04 16:42:44 +01:00
Grot (@grafanabot)
a32f178ad5 Logging: Fixes filtering logs based on gokitlog levels (#47195) (#47253)
(cherry picked from commit b4346a5613)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-04-04 12:57:58 +02:00
Grot (@grafanabot)
d4466098ee TimeSeries: Sort tooltip values based on raw values (#46738) (#47245)
* TimeSeries: Fix tooltip values sorting

* Update packages/grafana-ui/src/components/uPlot/plugins/TooltipPlugin.tsx

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Review

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
(cherry picked from commit a55274a72d)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-04-04 03:35:54 -07:00
Grot (@grafanabot)
220cecd855 Docs: Development with local Grafana (#47121) (#47250)
(cherry picked from commit f220b24d9d)

Co-authored-by: Andres Martinez Gotor <andres.mgotor@gmail.com>
2022-04-04 12:24:06 +02:00
Grot (@grafanabot)
db2e96452a add ability to pass builds flags/tags to go via make, update bra config (#46787) (#47227)
(cherry picked from commit 5c3308c6f3)

Co-authored-by: Dan Cech <dcech@grafana.com>
2022-04-02 15:32:38 -04:00
Grot (@grafanabot)
470c29ddf1 API: Fixes request logging middleware to include userId, orgId, uname (#47183) (#47188)
Fixes #47006

(cherry picked from commit 16db1ad46d)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-04-01 13:36:49 +02:00
Grot (@grafanabot)
b943a23def packages/grafana-data/text: Improve escaping for special characters (#47066) (#47148)
FilterInput escapes all input strings for special characters that might
be used in a RegExp by calling escapeStringForRegex, and using
unEscapeStringFromRegex for display. Both of these functions used
string.prototype.replace() for escaping. replace() only replaces the
first occurence of a search string unless called with a global RegExp.
The output of these functions was not necessarily safe to compile into a
RegExp literal.

This change creates RegExps for escapeStringForRegex and
unEscapeStringFromRegex to match all occurrences of the special
characters instead of just their first occurrence. This makes a variety
of strings safe for RegExp compilation.

(cherry picked from commit c5cfc1645a)

Co-authored-by: Joe Blubaugh <joe.blubaugh@grafana.com>
2022-04-01 11:21:12 +02:00
Grot (@grafanabot)
e6816afb37 Remove check (#47173) (#47175)
(cherry picked from commit eea20c4446)

Co-authored-by: Dimitris Sotirakis <sotirakis.dim@gmail.com>
2022-04-01 10:17:28 +02:00
Grot (@grafanabot)
f8221e7689 Bump latest.json (#47151) (#47152)
(cherry picked from commit 65fdc51052)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-04-01 01:15:31 -07:00
Grot (@grafanabot)
6596c9d37d Fix empty contact point URLs when template parsing fails (#47029) (#47162)
* fix empty URLs

* leave URL templating, use fallback

* better fix, new tests cases

* fix linting errors

(cherry picked from commit 4b1af6fb06)

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2022-03-31 16:21:17 -03:00
Grot (@grafanabot)
f522046455 ReleaseNotes: Updated changelog and release notes for 8.4.5 (#47145) (#47150)
(cherry picked from commit bea392eabf)
2022-03-31 16:57:25 +02:00
Grot (@grafanabot)
ee1fac451a "Release: Updated versions in package to 8.4.5" (#47144) 2022-03-31 07:43:00 -07:00
Piotr Jamróz
85525e84a0 [v8.4.x] Explore: Fix time interpolation (#46737) (#47114)
* Explore: Fix time interpolation (#46737)

* Ensure TemplateService is updated with new time range on each time range change.

* Fix linting errors

* Fix explorePane.test.ts

* Reuse createDefaultInitialState

* Remove unused imports

* Add a test for left/right split

* Silence console.error in tests

* Silence console.error in tests

(cherry picked from commit bf977ac245)

# Conflicts:
#	.betterer.results
#	packages/grafana-runtime/src/services/templateSrv.ts
#	public/app/features/explore/spec/helper/setup.tsx
#	public/app/features/explore/state/query.test.ts
#	public/app/features/explore/state/time.ts
#	public/app/features/explore/utils/links.test.ts
#	public/app/features/templating/template_srv.mock.ts
#	public/app/plugins/datasource/loki/configuration/DebugSection.test.tsx

* Add missing mocks

* Add missing mocks
2022-03-31 12:04:51 +02:00
Zoltán Bedi
aac024732e Updated content based on feedback. (#46896) (#47112)
(cherry picked from commit 9f16644476)

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-03-31 02:32:59 -07:00
Grot (@grafanabot)
839485a4b6 Text Panel: Fixes mailto links not working (#47025) (#47109) 2022-03-31 10:15:23 +01:00
Grot (@grafanabot)
4ced7b959e logs: better handle missing fields (#46963) (#47100)
(cherry picked from commit 2d61022d93)

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2022-03-31 11:00:18 +02:00
Grot (@grafanabot)
9a3ed87c89 Add back domain configuration (#46820) (#46833)
It was lost in the PR #30695

(cherry picked from commit 52fec0d7db)

Co-authored-by: Simon Lundström <github-profile@soy.se>
2022-03-31 10:56:18 +02:00
Grot (@grafanabot)
9ec26dc477 ManageDashboards: Fix error when deleting all dashboards from folder view (#46877) (#46917)
* user essentials mob! 🔱

* draft tests

* tests!

* better default ids for test data

(cherry picked from commit 89757cf58f)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2022-03-31 10:50:50 +02:00
Grot (@grafanabot)
90a99a4719 [v8.4.x] Datasource: Fixes changing default data source causes inconsistency between panel data source and query data source (#46221)
* Datasource: Fixes changing default data source causes inconsistency between panel data source and query data source (#46167)

* Datasource: Fixes changing default data source causes inconsistency between panel data source and query data source

* Fix unit tests

(cherry picked from commit a404dba29d)

* updated test

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-03-31 10:46:56 +02:00
Grot (@grafanabot)
3af9f2fa2e Grafana-UI: Fix TimeSeries not updating when timeZone is changed (#46728) (#47070) 2022-03-31 09:34:26 +01:00
Alex Khomenko
873b254249 [8.4.x] Feature highlights: update components (#47059)
* manual backport

* Remove betterer.results
2022-03-31 09:48:38 +02:00
Grot (@grafanabot)
4d3c28a5d5 Resize map on changing browser size (#47084) (#47086)
(cherry picked from commit dea9b51a0f)

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2022-03-31 00:55:56 +02:00
Grot (@grafanabot)
0766f05408 Call optionsChanged when props options have changed (#47031) (#47065)
(cherry picked from commit 851c54b3b1)

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2022-03-30 11:27:45 -05:00
Grot (@grafanabot)
b96a5eea1a Geomap: Display legend (#46886) (#47061)
* Display legend for fixed colors and field; Hide tooltip on base layer;

(cherry picked from commit 118b87ee8f)

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2022-03-30 10:00:02 -05:00
Grot (@grafanabot)
4b2c823521 mssql: explicit disable encryption when its disabled (#46546) (#47060)
(cherry picked from commit b52794601d)

Co-authored-by: Dirkco du Plessis <dirkcoduplessis@gmail.com>
2022-03-30 16:24:54 +02:00
Grot (@grafanabot)
a6e58b7e3a replaced ascii image with png image (#47032) (#47057)
(cherry picked from commit d3b2ffed35)

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-03-30 09:25:38 -04:00
Grot (@grafanabot)
13fc39def9 Plugins: Don't start runner ticker for Core plugins (#46964) (#47056)
* Plugins: Don't start runner ticker for Core plugins

* add test

* correct start check in test

(cherry picked from commit 23dde457ef)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-03-30 15:03:35 +02:00
Dimitris Sotirakis
205421fbbf Fix prettier:checkDocs command (#47045) 2022-03-30 15:20:01 +03:00
Grot (@grafanabot)
703308f31a Graphite: Fallback to hardcoded list of functions when no functions are returned (#46681) (#46688)
(cherry picked from commit ed155e47c4)

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2022-03-30 09:52:47 +02:00
Grot (@grafanabot)
3bcf117344 AzureMonitor: Fix missing top parameter when dimensions are set (#47010) (#47017)
(cherry picked from commit 48113beeeb)

Co-authored-by: Andres Martinez Gotor <andres.mgotor@gmail.com>
2022-03-29 17:43:59 +02:00
Grot (@grafanabot)
5ed397b8d2 Collapse: Change icon (#46950) (#47016)
(cherry picked from commit 7d2476d045)

Co-authored-by: Andres Martinez Gotor <andres.mgotor@gmail.com>
2022-03-29 17:43:44 +02:00
Grot (@grafanabot)
a38d16cbf3 Grafana-UI: Fixes timezone offset for default timezone when it is different from browser timezone (#46796) (#47011) 2022-03-29 14:06:15 +01:00
Victor Marin
49ce88d84d Table panel: Show datalinks for cell display modes JSON View and Gauge derivates (#46020) (#47014)
Backport 5242d44693 from https://github.com/grafana/grafana/pull/46020
2022-03-29 14:26:20 +02:00
Grot (@grafanabot)
2f33b1241c Logger: Use specified format for file logger (#46970) (#46979)
Fixes #45941

(cherry picked from commit 7bc821baf2)

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2022-03-29 13:15:17 +02:00
Grot (@grafanabot)
64747b8da8 [v8.4.x] Plugins: Make backend plugin metrics endpoints available with optional authentication (#47004) 2022-03-29 13:07:25 +02:00
Dimitris Sotirakis
bf0a07f7d2 [v8.4.x] CI: Sync CI changes with v8.4.x (#47007)
* CI: Trigger release build upon drone yaml changes (#46882)

* Add trigger-test-release step

* Change cd command

* Add failure:ignore

* Add depth when cloning

* Fix wrong secret

(cherry picked from commit 758ccfb69e)

* Fetch tags after cloning (#46921)

(cherry picked from commit 9bf82c37e3)

* Add GH token when referring to remote - add --quite when running git push (#46926)

(cherry picked from commit 0e682397ab)

* Sign drone
2022-03-29 11:05:20 +01:00
Grot (@grafanabot)
30757ee92d Datemath: Fix weekstart calculation (#46962) (#46983)
* Update go-datemath version

* Remove unnecessary bits

* fixup! Remove unnecessary bits

(cherry picked from commit 8c622c1ef6)

Co-authored-by: Tania B <yalyna.ts@gmail.com>
2022-03-26 20:10:17 +01:00
Grot (@grafanabot)
44887a2519 CloudWatch: Fix metric names (#46929) (#46949)
(cherry picked from commit 3c5e68a349)

Co-authored-by: Andres Martinez Gotor <andres.mgotor@gmail.com>
2022-03-25 09:47:58 +01:00
Sarah Zinger
964876d95c Azure Monitor: Small bug fixes for Resource Picker (#46665) (#46933)
- fixes issue with checkbox styling
- fixes issue with selecting subscriptions

(cherry picked from commit dd49f9d182)
2022-03-24 12:51:05 -04:00
Grot (@grafanabot)
3903b62ea5 Docs: Reorganize Dashboards and add note for escalations issue 2013 (#46902) (#46927)
* Initial commit.

* Update version number

* Initial commit.

* More formatting changes. Also added URL links.

* Ran prettier.

(cherry picked from commit c42b0d7498)

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-03-24 10:23:31 -04:00
Grot (@grafanabot)
7660a65579 Tracing: Prevent createSpanLink from returning an invalid Loki query (#46864) (#46897)
(cherry picked from commit 78c23d8dab)

Co-authored-by: Connor Lindsey <cblindsey3@gmail.com>
2022-03-23 18:25:52 +01:00
achatterjee-grafana
a93e236263 Docs: update version (#46838) (#46859)
* update version (#46838)

* Empty-Commit
2022-03-23 13:00:42 -04:00
Grot (@grafanabot)
c8a022d109 AccessControl: Handle ':' in attribute resolution (#46742) (#46869)
* AccessControl: Handle ':' in attribute resolution

* Simplify based on assumption that prefixes will have maximum 2 parts

(cherry picked from commit ff3c1e3144)

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-03-23 11:31:43 -04:00
Grot (@grafanabot)
d271d27829 Plugins: Make plugin loading from file system deterministic (#46842) (#46873)
* Plugins: Make plugin loading from file system deterministic

* fix test name

* flip assertion arg order

(cherry picked from commit 5e18293f88)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-03-23 12:13:49 +01:00
Jack Westbrook
17ba2a553b build(webpack): revert update dependency fork-ts-checker-webpack-plugin to v6.5.0 (#43229) (#46836) 2022-03-23 07:26:49 +01:00
Grot (@grafanabot)
0f8e196b31 Updated regex function (#46839) (#46841)
(cherry picked from commit a0f5953cb3)

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-03-22 13:08:34 -04:00
Grot (@grafanabot)
cd6044b5a5 Azure Monitor: Bump core plugin version (#46776) (#46804)
* Azure Monitor: Bump core plugin version

* Remove updated, update learn more link

(cherry picked from commit 499445a5f9)

Co-authored-by: Shirley <4163034+fridgepoet@users.noreply.github.com>
2022-03-22 16:22:40 +01:00
Grot (@grafanabot)
a06f6bf074 fix double slash in share link (#46757) (#46785)
(cherry picked from commit 18c1c6ca6a)

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2022-03-22 09:40:42 +01:00
Grot (@grafanabot)
398cb9fe55 Fix anchor (#46797) (#46810)
(cherry picked from commit 45745debe5)

Co-authored-by: Tomas Rohrer <rohlik@3server.cz>
2022-03-21 15:59:38 -04:00
Grot (@grafanabot)
782210ef98 Docs: Correct Team Sync availability (#45340) (#46795)
Update the explanation of which users can use Team Sync

Co-authored-by: achatterjee-grafana <aparajita.chatterjee@grafana.com>
(cherry picked from commit 8199cc0cf8)

Co-authored-by: Fiona Artiaga <89225282+GrafanaWriter@users.noreply.github.com>
2022-03-21 11:55:08 -04:00
Grot (@grafanabot)
89568408af TimePickerContent: Use button time for range dropdown toggle (#46778) (#46788)
(cherry picked from commit 912018ff64)

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-03-21 15:46:31 +01:00
Dimitris Sotirakis
43ec783fd7 Update grabpl (#46639) (#46640)
(cherry picked from commit 85184ee9dc)
2022-03-21 11:30:40 +00:00
Grot (@grafanabot)
adec7aba14 AzureMonitor: Update China regions (#46695) (#46770)
(cherry picked from commit 788fde7ead)

Co-authored-by: Andres Martinez Gotor <andres.mgotor@gmail.com>
2022-03-21 12:11:34 +01:00
Grot (@grafanabot)
22e6d10e42 Updated bucket size/offeset settings; Check for negative values in bucket size (#46754) (#46756)
(cherry picked from commit 576b73ed48)

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2022-03-18 20:44:30 -07:00
Grot (@grafanabot)
403438c53d Fixing delete dashboard url form datasource configuration (#46637) (#46739)
(cherry picked from commit c3ee98a9b6)

Co-authored-by: lean.dev <34773040+leandro-deveikis@users.noreply.github.com>
2022-03-18 12:39:25 -03:00
Grot (@grafanabot)
1a0ee53cdb Chore: Fix failing lerna publish commands (#46359) (#46705)
(cherry picked from commit e2a283b6b9)

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2022-03-17 18:52:07 +00:00
Grot (@grafanabot)
35e78a7721 release: update latest.json (#46704) (#46706) 2022-03-17 19:33:04 +01:00
Grot (@grafanabot)
efe529917a ReleaseNotes: Updated changelog and release notes for 8.4.4 (#46702) (#46703)
(cherry picked from commit 9a00df1e8d)
2022-03-17 18:40:34 +01:00
Grot (@grafanabot)
0fee11137e "Release: Updated versions in package to 8.4.4" (#46698) 2022-03-17 17:59:14 +01:00
Grot (@grafanabot)
2bcbb2dfb3 Annotations: Fix issue with spinner always showing (#46686) (#46687)
(cherry picked from commit a9002e80b4)

Co-authored-by: Joao Silva <100691367+JoaoSilvaGrafana@users.noreply.github.com>
2022-03-17 13:24:16 +00:00
Grot (@grafanabot)
00e27a3925 Data links: Fix issue with not being able to click a variable after scroll (#46643) (#46685)
(cherry picked from commit c224da0f02)

Co-authored-by: Joao Silva <100691367+JoaoSilvaGrafana@users.noreply.github.com>
2022-03-17 11:52:29 +00:00
Grot (@grafanabot)
907ca6d81f Update contact-points.md (#46657) (#46670)
As you see. "orgId": 1 is duplicated.

(cherry picked from commit 8025997982)

Co-authored-by: Atrbear <x.koala@outlook.com>
2022-03-16 17:07:32 -04:00
Todd Treece
7e25e7c14f Chore: Update go version used in CI to 1.17.8 (#46591) (#46631)
(cherry picked from commit 3f58abe9bd)
2022-03-16 10:00:36 -04:00
Grot (@grafanabot)
4450276449 Alerting: fix alert groups grouping (#45012) (#46092)
* fix multiple non-grouped groupings

* drop duplicate alerts

* add test for multiple groups without labels

Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
(cherry picked from commit e814e7364b)

Co-authored-by: Nathan Rodman <nathanrodman@gmail.com>
2022-03-16 13:06:45 +01:00
Grot (@grafanabot)
880bf3c550 Auth Proxy: encoding of non-ASCII headers (#44797) (#46236)
* Decode auth proxy headers using URL encoding

* Header encoding configuration via settings file

* Rename configuration setting to headers_encoded

* Quoted-printable encoding

* Tests for AuthProxy

* Fix encoding name

* Remove authproxy init

(cherry picked from commit 1dca39fb91)

Co-authored-by: Sergey Kostrukov <sekost@microsoft.com>
2022-03-16 08:04:32 -04:00
Grot (@grafanabot)
aaf3abc468 CloudMonitoring: Improve error message (#46599) (#46620)
(cherry picked from commit 727204ed5e)

Co-authored-by: Andres Martinez Gotor <andres.mgotor@gmail.com>
2022-03-16 09:48:46 +01:00
Grot (@grafanabot)
f1cd74a5e9 Dashboards: Fixes repeating by row and no refresh (#46565) (#46614)
(cherry picked from commit 31d141b267)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-03-16 09:24:01 +01:00
Grot (@grafanabot)
c00e4668ab TimeSeries: Preserve null/undefined values when performing negative y transform (#46584) (#46617)
(cherry picked from commit 5ae3e3f6f7)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-03-16 09:22:30 +01:00
Grot (@grafanabot)
cf2e7779ec Grafana-UI: Fix use of Fragments as children of InlineField (#46326) (#46603)
(cherry picked from commit 00c93fff8c)

Co-authored-by: Joao Silva <100691367+JoaoSilvaGrafana@users.noreply.github.com>
2022-03-15 18:01:58 +00:00
Ryan McKinley
7e963a1110 Geomap: applying multiple line builders should keep each segment #46563 (#46597) 2022-03-15 10:54:02 -07:00
Grot (@grafanabot)
7a0a6f7b29 Docs: Add description to remote cache configuration (#46589) (#46596)
* Add description to remote cache configuration

* Apply feedback

(cherry picked from commit 8e13b201ba)

Co-authored-by: Tania B <yalyna.ts@gmail.com>
2022-03-15 18:28:48 +01:00
Grot (@grafanabot)
29fc1213d3 Dashboard: Validate refId when generating id for cloudwatch query (#46182) (#46542)
* Validate refId when generating id for cloudwatch query

* add test case when refId is a valid metric data id

(cherry picked from commit 99b4dfc27d)

Co-authored-by: Kevin Yu <kevinwcyu@users.noreply.github.com>
2022-03-15 09:31:05 -07:00
Grot (@grafanabot)
3bee136ba6 Search: sort results correctly when using postgres (#46466) (#46586)
* Search: sort results correctly when using postgres

postgresql puts nulls first while both mysql and sqlite puts them last

* linting

(cherry picked from commit f46038ed3a)

Co-authored-by: Leonard Gram <leo@xlson.com>
2022-03-15 16:14:57 +01:00
Grot (@grafanabot)
eecedff435 Add unpack to Loki Log Browser (#44623). (#46573) (#46583)
(cherry picked from commit 5cf0906622)

Co-authored-by: Alexander Kubyshkin <i.am.glint@gmail.com>
2022-03-15 14:34:23 +01:00
Grot (@grafanabot)
edd5d8bd92 TimeSeries: Add migration for Graph panel's transform series override (#46577) (#46580)
(cherry picked from commit f452e068f0)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-03-15 13:45:05 +01:00
Grot (@grafanabot)
5e332cc55d SSE: Keep FieldConfig for data source queries (#46328) (#46415)
for #46325

(cherry picked from commit cab509fbe8)

Co-authored-by: Kyle Brandt <kyle@grafana.com>
2022-03-14 16:00:11 +01:00
Gilles De Mey
5d078ba874 Alerting: adds support for federated rules (#46037) (#46520)
(cherry picked from commit a9b1a964b0)
2022-03-14 11:32:17 +01:00
Dimitris Sotirakis
af255219a4 [v8.4.x] CI: Sync CI changes (#46083)
* CI: Introduce `build-frontend-packages` step (#45824)

* Split frontend build

* Fix command name

* Update grabpl

(cherry picked from commit 2f6c827f5d)

* CI: Add more checks to standalone docs pipeline (#46449)

* Add build frontend package step

* Reorder dependencies

* Add codespell and prettier checks

(cherry picked from commit 82b436afee)

* Update golang (#46458)

(cherry picked from commit a29159f362)

* Fix architectures
2022-03-11 19:14:16 +02:00
Grot (@grafanabot)
3158f15ce5 Gauge: Fixes blank viz when data link is added and orientation was horizontal (#46335) (#46445)
(cherry picked from commit cb0b089d32)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-03-11 06:06:25 -05:00
Gabriel MABILLE
dfbd23ba7b Accesscontrol: fix data source name resolver and add uid name resolver (#46409) (#46437)
* Fix data source scope resolver

* Adding ds UID scope resolver

* Register UID resolver

* use package full name

* even if it cannot be empty as of now and is also checked by store, better safe than sorry

(cherry picked from commit bd918927b4)
2022-03-11 09:41:18 +01:00
Grot (@grafanabot)
5b5e175127 Card: make elements in metadata clickable (#46336) (#46410)
* Card: make elements in metadata clickable

* add docs

(cherry picked from commit 8b9e27c4ba)

Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2022-03-10 20:52:02 +01:00
achatterjee-grafana
10965b7842 Revert "update exemplars and azure authentication topics. (#46382) (#46384)"
This reverts commit bc3ebce715.
2022-03-10 11:02:51 -05:00
Grot (@grafanabot)
25d8d0a49d Removed extra word. (#46386) (#46413)
(cherry picked from commit 3d5ebba0c2)

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-03-10 10:02:42 -05:00
Grot (@grafanabot)
bc3ebce715 update exemplars and azure authentication topics. (#46382) (#46384)
(cherry picked from commit f19594e8ff)

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-03-09 14:08:20 -05:00
Grot (@grafanabot)
95af6176bf Perf: don't re-init plots when changing dashboard timeRange (#46339) (#46340)
(cherry picked from commit ec911be8ef)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-03-09 19:53:59 +01:00
Grot (@grafanabot)
8ddab3893e Logging: Helper to create NopLogger (#46376) (#46377)
(cherry picked from commit b1e6f7126a)

Co-authored-by: gotjosh <josue.abreu@gmail.com>
2022-03-09 18:20:39 +01:00
Grot (@grafanabot)
2617226815 CloudWatch: Use default http client from aws-sdk-go (#46370) (#46375)
* use default http client from aws-sdk-go

* temp comment out line and link to issue

(cherry picked from commit 6670257c5e)

Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
2022-03-09 16:44:33 +01:00
Grot (@grafanabot)
bebe1c243e A11y: Replace LinkButton with Button in Value Mappings to make it accessible (#46330) (#46364)
(cherry picked from commit 4b57ffbb4f)

Co-authored-by: Joao Silva <100691367+JoaoSilvaGrafana@users.noreply.github.com>
2022-03-09 14:29:31 +00:00
Grot (@grafanabot)
77d1f996cc [v8.4.x] DataLinks: Encode variable params for data link URLs (#46257)
Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2022-03-09 14:42:33 +01:00
Todd Treece
f7d66fd008 Prometheus: Fix timestamp truncation (#46302) (#46332)
(cherry picked from commit db5f480a8f)
2022-03-08 17:44:03 +00:00
Grot (@grafanabot)
d7f27135db A11y : Updated EmptyListCTA to switch between Button and LinkButton (#46292) (#46319)
* Updated EmptyListCTA to switch between Button and LinkButton

* Added tests

(cherry picked from commit bfde8ee603)

Co-authored-by: Yaelle Chaudy <42030685+yaelleC@users.noreply.github.com>
2022-03-08 12:59:50 +01:00
Grot (@grafanabot)
2ae8f2bbb1 TagsInput: fix tags remove button accessibility issues (#46254) (#46315)
* TagsInput: fix remove button focusable state

* Add tests

* use IconButton

* reverted style changes & disable iconbutton hover animation

(cherry picked from commit 1ef247e0c6)

Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2022-03-08 10:15:28 +01:00
Leon Sorokin
94a794b315 LegacyBrowser: fix Safari 13.1 (lacks logical nullish assignent) (#46260) (#46300)
(cherry picked from commit 0ee552dd65)
2022-03-07 12:36:49 -08:00
Grot (@grafanabot)
711bfa8ae9 Adding migration guide for dashboard and fixing signing doc (#46238) (#46289)
(cherry picked from commit 00a8542ecf)

Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
2022-03-07 13:18:32 +01:00
Grot (@grafanabot)
a022ca2333 TraceView: Reduce whitespace in KeyValuesTable (#46105) (#46250)
(cherry picked from commit 23956557d8)

Co-authored-by: Connor Lindsey <cblindsey3@gmail.com>
2022-03-04 15:53:58 +01:00
Grot (@grafanabot)
1e780bdaac Live: Fix support for StreamingFrameAction.Replace (#46086) (#46237)
* fix StreamingFrameAction.replace

* simplify

* beautify

* cover `streamingDataFrame.ts` changes with unit tests

* formatting

* cover `LiveDataStream.ts` changes with unit tests

* update frame length after pushing new values

(cherry picked from commit bdbb9ed54a)

Co-authored-by: Artur Wierzbicki <wierzbicki.artur.94@gmail.com>
2022-03-04 14:48:45 +04:00
Grot (@grafanabot)
4377817b27 Added test coverage commands to package.json (#46235) (#46239)
(cherry picked from commit 45e4611807)

Co-authored-by: Yaelle Chaudy <42030685+yaelleC@users.noreply.github.com>
2022-03-04 11:47:44 +01:00
Timur Olzhabayev
ba1e26796d Backporting bump version fixes (#46233) 2022-03-04 10:39:56 +01:00
Grot (@grafanabot)
50d614098a feat: add a new <SecretInput> component (#46073) (#46230)
(cherry picked from commit 47d1d83673)

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2022-03-04 10:36:33 +01:00
Grot (@grafanabot)
b288d6c805 Plugins: allow using both Function and Class components for app plugins (#46148) (#46228)
* fix: make it possible to use both class and functional components for plugins

* fix: accept both class and functional components as plugin root pages

* refactor: import types by name

* refactor: use `ComponentType`

(cherry picked from commit c331af93b9)

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2022-03-04 10:11:09 +01:00
Grot (@grafanabot)
270f7b2d9c CloudWatch: Update minimal policies documentation (#45478) (#46213)
* Separate metrics and logs policies

* Update policy examples

Removes GetMetricStatistics which is no longer used

* WIP for testDatasource

* WIP add datasource health check test

* Undo changes on imports

(cherry picked from commit e39d5382cf)

Co-authored-by: Shirley <4163034+fridgepoet@users.noreply.github.com>
2022-03-03 17:10:25 -05:00
Grot (@grafanabot)
57423746ce BarChart: fix hovered series highlight in tooltip (#44882) (#46187)
(cherry picked from commit 3e3a657343)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-03-03 18:11:23 +01:00
Grot (@grafanabot)
205874431c TextPanel: Sanitize after markdown has been rendered to html (#46166) (#46185)
* Sanitize after markdown has been rendered to html

* Update e2e test

(cherry picked from commit b1125c0ba3)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-03-03 18:00:53 +01:00
Grot (@grafanabot)
82cbff094a Fixing docs comma (#46169) (#46175)
(cherry picked from commit 32170e401f)

Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
2022-03-03 16:55:14 +01:00
Grot (@grafanabot)
afc761746d NodeGraph: Include frames with name edges or nodes in node graph (#46047) (#46164)
* Include frames with name edges or nodes in node graph

(cherry picked from commit cb1649e9b8)

Co-authored-by: Connor Lindsey <cblindsey3@gmail.com>
2022-03-03 14:53:13 +01:00
Grot (@grafanabot)
61335700d3 Unexport mocks, use aws-sdk-go helpers, rename test utilities file (#46107) (#46144)
(cherry picked from commit 1255f8a76a)

Co-authored-by: Shirley <4163034+fridgepoet@users.noreply.github.com>
2022-03-03 14:04:30 +01:00
Grot (@grafanabot)
b58fac8f07 Graph (old): fix null interval insertion, again (follow-up to #46069) (#46139) (#46141)
(cherry picked from commit 89140c8353)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-03-03 09:14:19 +01:00
Grot (@grafanabot)
5bc24bf018 StateTimeline: insert trailing null value at +interval (#45997) (#46133)
(cherry picked from commit 854f872b40)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-03-03 01:38:08 +01:00
achatterjee-grafana
4cca6e11da Docs: Update ldap authentication topic (#46128) (#46130)
* Fixed broken relrefs, and updated password format in ldap authentication topic.

* Fixed few more broken links.
2022-03-02 16:26:59 -05:00
Giordano Ricci
5212a7a47a chore: update latest.json (#46122) (#46123)
(cherry picked from commit e8a54d58c5)
2022-03-02 19:59:12 +00:00
Grot (@grafanabot)
1a3f892ddc Docs: Include ID token example in Forward OAuth identity for the logged-in user section (#46121) (#46125)
Ref #45938

(cherry picked from commit 76495374dc)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-03-02 20:57:47 +01:00
Grot (@grafanabot)
d5e4a54271 ReleaseNotes: Updated changelog and release notes for 8.4.3 (#46119) (#46120)
(cherry picked from commit 50fb63a468)
2022-03-02 19:30:19 +00:00
Grot (@grafanabot)
b2918bf4d9 "Release: Updated versions in package to 8.4.3" (#46118) 2022-03-02 19:15:52 +00:00
Grot (@grafanabot)
84f41f4fe8 Document available Alerting annotations (#46081) (#46112)
* Document available Alerting annotations

* Update docs/sources/alerting/unified-alerting/alerting-rules/alert-annotation-label.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
(cherry picked from commit cd3fb8e832)

Co-authored-by: Armand Grillet <2117580+armandgrillet@users.noreply.github.com>
2022-03-02 13:04:00 -05:00
Grot (@grafanabot)
bec2878fe4 Dashboard: Add feature reporting for dashboard import (#46080) (#46099)
* Add feature reporting for dashboard import

* Update tracking event names

(cherry picked from commit 3427ae463d)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-03-02 15:03:42 +00:00
Grot (@grafanabot)
5ad4d91de3 Alerting: Fix silence url in notifications (#46031) (#46090)
* Update silence url generation

* Update tests

* Update test to the new silence params format

* Fix tests

(cherry picked from commit aeec087065)

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2022-03-02 13:22:56 +01:00
Grot (@grafanabot)
659ce4bcad Graph (old): use timeField.config.interval to apply null insertion logic (#46069) (#46070)
(cherry picked from commit fa99143eee)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-03-02 06:41:03 +01:00
Grot (@grafanabot)
9d0e4efd9b Docs: Fix typo in Forward OAuth identity for the logged-in user section (#46043) (#46048)
Fixes #45938

(cherry picked from commit 843e587a05)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-03-01 19:00:12 +01:00
Grot (@grafanabot)
14acf3e39f Alerting: Fix use of > instead of >= when checking the For duration (#46011) (#46044)
(cherry picked from commit 789cfc31e3)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-03-01 18:20:11 +01:00
Grot (@grafanabot)
45e484132c Docs update default.ini file description (#46036) (#46038)
* remove confusing wording

* fixed broken alerting links

(cherry picked from commit 77dddf43bc)

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-03-01 10:53:06 -05:00
Erik Sundell
f26e850297 fix conflict (#45957) 2022-03-01 14:17:25 +01:00
Grot (@grafanabot)
6e03fe1f94 Transformations: Use asterisk for First non-null label (#45940) (#46014)
(cherry picked from commit 07dda8a299)

Co-authored-by: matt abrams <37156449+zuchka@users.noreply.github.com>
2022-03-01 14:03:34 +01:00
Grot (@grafanabot)
a31a0e898a Making yarn.lock bump work (#46016) (#46019)
(cherry picked from commit 6f14490c6b)

Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
2022-03-01 13:40:33 +01:00
Grot (@grafanabot)
1f39b05f33 Histogram: auto-skip x tick labels to avoid overlap (#45996) (#46001)
(cherry picked from commit b491d6b4dc)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-03-01 09:12:36 +01:00
Grot (@grafanabot)
865723d56e StateTimeline: fix duration in tooltip (#45955) (#45987)
- Fixes duration in StateTimeline appearing incorrectly when "merge consecutive values" is enabled.

(cherry picked from commit 5aab0063c7)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-02-28 16:55:54 -06:00
Grot (@grafanabot)
700fd45f54 BarChart: fix single group rendering (#45953) (#45992)
(cherry picked from commit 1c4b20b268)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-02-28 15:33:38 -06:00
Grot (@grafanabot)
be55f8800e Jaeger: Show loader when search options havent yet loaded (#45936) (#45985)
* Swap out Select component for AsyncSelect to Jaeger search panel

(cherry picked from commit 83664121bc)

Co-authored-by: Cat Perry <000.perry@gmail.com>
2022-02-28 11:37:38 -08:00
Grot (@grafanabot)
b0646b1be3 Middleware: Fix IPv6 host parsing in CSRF check (#45911) (#45984)
- Also create tests for this middleware

Co-authored-by: Kyle Brandt <kyle@grafana.com>
(cherry picked from commit 06ed5efdf0)

Co-authored-by: ying-jeanne <74549700+ying-jeanne@users.noreply.github.com>
2022-02-28 14:15:10 -05:00
Grot (@grafanabot)
e7f52218d1 Capitalize Webhook contact point type (#45942) (#45943)
(cherry picked from commit 1b2c4dca61)

Co-authored-by: Armand Grillet <2117580+armandgrillet@users.noreply.github.com>
2022-02-26 21:16:40 +01:00
Grot (@grafanabot)
87edde2b38 Update comment for scheduler_behind_seconds metric (#45918) (#45919)
(cherry picked from commit f87bfdf2ff)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-02-25 15:54:42 +01:00
Grot (@grafanabot)
6ea6c611a9 Fix incorrect metric values for scheduler_behind_seconds (#45830) (#45904)
(cherry picked from commit 6cccbb5a09)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-02-25 14:24:44 +00:00
Grot (@grafanabot)
e555fd5455 CloudWatch: Add test to executeStartQuery (#45888) (#45912)
* CloudWatch: Add test to executeStartQuery

* Add test for absence of limit

* Restrict assertions to limit in some tests

(cherry picked from commit a68a570e92)

Co-authored-by: Shirley <4163034+fridgepoet@users.noreply.github.com>
2022-02-25 14:28:08 +01:00
Grot (@grafanabot)
d17f59f052 loki: log-volume: improved documentation (#45823) (#45887)
* loki: log-volume: improved documentation

* spelling fixes

(cherry picked from commit 7152deb92f)

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2022-02-25 06:45:29 -05:00
Grot (@grafanabot)
1d1e81b309 CloudWatch: Fix running go test with count (#45892) (#45903)
(cherry picked from commit 304185f682)

Co-authored-by: Shirley <4163034+fridgepoet@users.noreply.github.com>
2022-02-25 12:36:34 +01:00
Grot (@grafanabot)
d27bc6e788 Escape windows newline. (#45771) (#45857)
Fixes #45746

(cherry picked from commit dcd98f7819)

Co-authored-by: Per Osbäck <perosb@users.noreply.github.com>
2022-02-25 12:17:48 +01:00
Grot (@grafanabot)
47c777930d fix: update bump-version-action node runtime to 16 (#45856) (#45896)
(cherry picked from commit ab0bbf6715)

Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
2022-02-25 11:39:48 +01:00
Grot (@grafanabot)
787940f32e Rename evalCtx to avoid confusion with context.Context (#45144) (#45893)
(cherry picked from commit 2ca79ca0c7)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-02-25 11:20:35 +01:00
George Robinson
cdf8bab022 Alerting: Create annotation if Firing alert is removed (#45703) (#45865)
This commit changes staleResultsHandler to create an annotation if the current state is Alerting and the result is being removed from the state cache as it has not been updated since 2x the evaluation interval.

(cherry picked from commit feae959c9d)
2022-02-25 07:38:31 +01:00
Grot (@grafanabot)
c29c1691fd SSE: Fix NoData when some series were no data but others not (#45867) (#45875)
Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
(cherry picked from commit a578cf0f7c)

Co-authored-by: Kyle Brandt <kyle@grafana.com>
2022-02-24 21:48:56 -03:00
Grot (@grafanabot)
585b39ac0f Update dashboard_versions.md (#45871) (#45872)
Fixes https://github.com/grafana/grafana/issues/45866, change dashboard version example to use `version` instead of `id`

`api/dashboards/id/24/versions/1`

(cherry picked from commit 8a98354844)

Co-authored-by: Melori Arellano <melori.arellano@grafana.com>
2022-02-24 16:28:48 -05:00
George Robinson
37b6fc7067 Alerting: Use expanded labels in dashboard annotations (#45726) (#45858) 2022-02-24 17:55:37 +00:00
Grot (@grafanabot)
2255628a5a ReleaseNotes: Updated changelog and release notes for 8.4.2 (#45850) (#45859)
(cherry picked from commit 91af956eb7)
2022-02-24 13:28:00 -04:00
Grot (@grafanabot)
bfb9c7f249 Release: Bump version to 8.4.2 (#45849)
* "Release: Updated versions in package to 8.4.2"

* Update yarn lock

Co-authored-by: Stephanie Closson <srclosson@gmail.com>
2022-02-24 16:00:20 +00:00
Grot (@grafanabot)
01628c4045 Azure Monitor: Fixes broken log queries that use workspace (#45820) (#45843)
* allow log queries to be executed also without a resource

* add unit tests

(cherry picked from commit b7a2fda2ae)

Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
2022-02-24 15:42:01 +01:00
Grot (@grafanabot)
01411b5f45 Add a fallback for the clipboard API (#45831) (#45841)
(cherry picked from commit 64ad33f31a)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-02-24 15:14:54 +01:00
Grot (@grafanabot)
4363f9af1f Adding ap-southeast-3 to cloudwatch regions (#45821) (#45836)
(cherry picked from commit 0e7b0f16b8)

Co-authored-by: Yaelle Chaudy <42030685+yaelleC@users.noreply.github.com>
2022-02-24 15:05:26 +01:00
Dimitris Sotirakis
3734b455d7 grafana-cli: Diff generated ts directly instead of relying on git (#45815) (#45828)
* Add diffing support to grafana-cli cue gen-ts

* Rely on diff comparison in cuetsify pipeline step

* Ignore *.gen.ts files with eslint

* Chore: Fix lint `sdboyer/cuetsify-compare` (#45818)

* Sync drone

(cherry picked from commit 40645ab19e39ff9b0a12b7ebb13a4dc4c5e1d472)

* Fix lint

(cherry picked from commit c95ece983984432fea029335b2b729b09d76c7eb)

* Sign drone

Co-authored-by: Dimitris Sotirakis <sotirakis.dim@gmail.com>
(cherry picked from commit 60db643983)

Co-authored-by: sam boyer <sdboyer@grafana.com>
2022-02-24 12:25:59 +01:00
Grot (@grafanabot)
f443777309 Alerting: add field for custom slack endpoint (#45751) (#45812)
* add field for custom slack endpoint

* add test for using custom endpoint

* Update pkg/services/ngalert/notifier/channels/slack.go

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>

* specify description for endpoint

* remove brittle string constants

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
(cherry picked from commit f9701d78b1)

Co-authored-by: Nathan Rodman <nathanrodman@gmail.com>
2022-02-24 11:05:44 +01:00
Kevin Minehart
69d1d4b124 remove flaky cloudwatch test (#45800) (#45807)
* remove flaky cloudwatch tests

* Skip flaking templating-dashboard-links-and-variables test

(cherry picked from commit cbf96e6a8b)
2022-02-23 15:27:50 -05:00
Grot (@grafanabot)
1c10ae4106 Skip flaky test (#45785) (#45799)
(cherry picked from commit 3cfbbbdbf2)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-02-23 17:09:58 +01:00
Grot (@grafanabot)
884b573c0b Encryption: Refine secrets-related commands (#45201) (#45790)
* CLI: Adjust 're-encrypt-data-keys' command

* CLI: Adjust 're-encrypt' command

* Multiple improvements on re-encrypt secrets migration

* Another bunch of code improvements

* Lint fixes

(cherry picked from commit e6a85826e9)

Co-authored-by: Joan López de la Franca Beltran <5459617+joanlopez@users.noreply.github.com>
2022-02-23 16:21:52 +01:00
Dimitris Sotirakis
6fd53a9b88 Update grabpl and build-container version (#45784) (#45788)
(cherry picked from commit 2f0dcbbd9d)
2022-02-23 15:30:40 +01:00
Grot (@grafanabot)
e6b5a6b227 bump go version to 1.17.7 (#45772) (#45783)
(cherry picked from commit b512a3d75f)

Co-authored-by: ying-jeanne <74549700+ying-jeanne@users.noreply.github.com>
2022-02-23 14:47:57 +01:00
Grot (@grafanabot)
17354bfbe6 Search: fix PostgreSQL query (#45305) (#45780)
* Search: fix PostgreSQL query

* Apply suggestion from code review

(cherry picked from commit 5a1d8cbea7)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-02-23 13:49:33 +01:00
Grot (@grafanabot)
f86e30f492 Annotations: Fixes issue with tags filter not showing in annotation query (#45724) (#45778)
(cherry picked from commit ef3f254208)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-02-23 04:47:32 -08:00
Grot (@grafanabot)
e85b839bc4 add default number of returned dashboards (#45755) (#45777)
(cherry picked from commit ade8c18557)

Co-authored-by: matt abrams <37156449+zuchka@users.noreply.github.com>
2022-02-23 04:38:16 -08:00
Dimitris Sotirakis
ec21ded065 Docs: Remove dependency between build-frontend and build-frontend-docs (#45736) (#45768)
* Remove dependency

* Add yarn commands

(cherry picked from commit 02640c7436)
2022-02-23 12:43:45 +01:00
Dimitris Sotirakis
7fb85157c9 CI: Add docs pipeline for main pipelines (#45740) (#45767)
* Add docs pipeline for main

* Extract trigger docs

* Change trigger for main

(cherry picked from commit ea3e41ea62)
2022-02-23 12:26:30 +01:00
Dimitris Sotirakis
90ec0128c1 DockerHub: Use grafana(-oss)-image-tags to push to grafana(-oss)-dev DockerHub repo (#45708) (#45712)
* Revert back changes - changes are done on grabpl

* Sync drone

(cherry picked from commit 3db331402d)
2022-02-23 13:12:52 +02:00
Grot (@grafanabot)
bf25f13e54 feat(45145): add more links to developers page (#45585) (#45671)
(cherry picked from commit 7c826cb43f)

Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
2022-02-23 10:28:06 +01:00
Grot (@grafanabot)
efd6b24077 Tracing: Add option to map tag names to log label names in trace to logs settings (#45178) (#45753)
* Add mapped tags input to allow renaming tags in trace to logs settings

* Use mappedTags in createSpanLink

* Update traceToLogs docs

* Show 'add kv' button if no tags

* Update docs

* Default mappedTags to tag values

(cherry picked from commit af2d19b02e)

Co-authored-by: Connor Lindsey <cblindsey3@gmail.com>
2022-02-22 23:34:31 +01:00
Giordano Ricci
9bceb3e737 UI: Improve modal a11y by setting role & using title as label (#45472) (#45731)
* UI: Improve modal a11y by setting role & using title as label

* remove wrapping div for cutom title components

* Fix typo

(cherry picked from commit 9307cc86f2)
2022-02-22 16:02:09 +01:00
Grot (@grafanabot)
2b19fed282 Update alertmanager.md (#45699) (#45733)
Update default port which is used to host alertmanager.
Official port is 9093.
9090 is used officially by Prometheus.

(cherry picked from commit 68ef0e1f84)

Co-authored-by: Michał Sochoń <kaszpir@gmail.com>
2022-02-22 10:00:09 -05:00
Grot (@grafanabot)
b381e17521 remove unused code of Cloud Monitoring distribution metrics type (#45702) (#45716)
(cherry picked from commit 7acb203b52)

Co-authored-by: Mitsuhiro Tanda <mitsuhiro.tanda@gmail.com>
2022-02-22 11:44:59 +01:00
Emil Tullstedt
eae91b6f50 Chore: add setting to skip org assignment for external users (#34834) (#45692)
* Chore: add setting to skip org assignment for external users

Introduce 'skip_org_role_update_sync' setting to skip any kind of org assignment during the login of external users.
As a consequence manual organization assignments won't be overridden during the upsert of an external user.

Part of #22605

* Chore: Rename skip_org_role_update_sync to oauth_skip_org_role_update_sync and relocate it to auth section

* Chore: replace global setting access where possible

(cherry picked from commit 6beba5a049)

Co-authored-by: baez90 <peter.kurfer@googlemail.com>
2022-02-22 11:27:32 +01:00
Grot (@grafanabot)
4f036ad4db Update mute-timings.md (#45679) (#45693)
cleaned up feature description (there were some leftovers from when the text was last edited)

(cherry picked from commit 34ae28846e)

Co-authored-by: juschm <juschm@users.noreply.github.com>
2022-02-21 12:48:35 -05:00
Grot (@grafanabot)
85c3713611 Docs: Fix encryption docs (#45687) (#45689)
(cherry picked from commit a7d86e023f)

Co-authored-by: Tania B <yalyna.ts@gmail.com>
2022-02-21 17:15:55 +01:00
Ashley Harrison
40d60834c2 Add babel plugin to workaround bug in @babel/preset-env (#45664) (#45667)
* Add babel plugin to workaround bug in @babel/preset-env (#45664)

(cherry picked from commit 05f68c391c)

* Change ordering
2022-02-21 15:28:12 +00:00
Dimitris Sotirakis
f59e0ed914 CI: Introduce docs pipeline (#45454) (#45669)
* Add docs.star

* Fixes in drone yaml

* Add grabpl

* Remove unnecessary steps

(cherry picked from commit f2e03cdb107eb283416885a73051c1ff86eb8b7f)

* Rename docs pipeline

* Exclude docs related steps from PR pipelines

* Add packages/** trigger

* Remove packages exclusion from pr pipelines

(cherry picked from commit 434697e0fd)
2022-02-21 16:50:55 +02:00
Grot (@grafanabot)
563a9ab439 Explore: Fix closing split pane when logs panel is used (#45602) (#45609)
* Clear cache when LogsNavigation is mounted

* Update docs

(cherry picked from commit 25f155a44d)

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2022-02-21 12:27:57 +01:00
Dimitris Sotirakis
6edfc5f9b3 Release: Sync changes for Grafana v8.4.1 (#45655)
* "Release: Updated versions in package to 8.4.0-beta.1"

* Update yarn.lock

* "Release: Updated versions in package to 8.4.0"

* Update yarn.lock

* "Release: Updated versions in package to 8.4.1"

* update yarn.lock

* Update grabpl (#45591) (#45596)

(cherry picked from commit 0a8c3f92f6)
(cherry picked from commit 787553ed31)

Co-authored-by: grafanabot <bot@grafana.com>
Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
Co-authored-by: Andres Martinez Gotor <andres.mgotor@gmail.com>
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2022-02-21 12:41:38 +02:00
Grot (@grafanabot)
c70c590f39 Cloud Monitoring: set missing meta data for distribution type metrics (#45500) (#45658)
* set missing meta data for distribution type metrics

* add test

* add test

* simplify custom set

* add test for executedQueryString

* add test data

* fix tests

* check group by

(cherry picked from commit 0fb490c00d)

Co-authored-by: Mitsuhiro Tanda <mitsuhiro.tanda@gmail.com>
2022-02-21 11:37:28 +01:00
achatterjee-grafana
1ae1bc213d Deleting empty lines at list (#45610) (#45622)
Co-authored-by: lean.dev <34773040+leandro-deveikis@users.noreply.github.com>
2022-02-18 11:40:54 -05:00
Grot (@grafanabot)
62c6522b1b Fix: JSON parsing in backend_srv (#45598) (#45615)
* fix(plugins/state): console log errors during install / uninstall

* fix(backend_srv): catch JSON parse errors

Sometimes it can happen that a backend API responses says that it's
returning with a JSON content-type, however it actually returns an invalid
JSON (e.g. an empty body) - in which case the backendSrv() request errors out.

(cherry picked from commit 1e21184f65)

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2022-02-18 16:24:16 +01:00
Grot (@grafanabot)
238c5bc7ee Release: Bump version to 8.4.1 (#45603)
* "Release: Updated versions in package to 8.4.1"

* Update yarn.lock

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2022-02-18 14:05:07 +00:00
Grot (@grafanabot)
4991ca5f51 ReleaseNotes: Updated changelog and release notes for 8.4.1 (#45604) (#45606)
* ReleaseNotes: Updated changelog and release notes for 8.4.1

* Add alerting bugfix

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
(cherry picked from commit 380e07ba29)
2022-02-18 14:45:44 +01:00
Dimitris Sotirakis
787553ed31 Update grabpl (#45591) (#45596)
(cherry picked from commit 0a8c3f92f6)
2022-02-18 12:49:24 +02:00
Grot (@grafanabot)
3afbc685fc Docs: Update log level information and add tip (#45411) (#45506)
* Docs: Update conent for log level

* Add tip

(cherry picked from commit 123f095536)

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2022-02-18 11:00:53 +01:00
Dimitris Sotirakis
129734d1f5 Update grabpl (#45520) (#45527)
(cherry picked from commit af1691dbfb)
2022-02-18 10:50:52 +01:00
Grot (@grafanabot)
2443ddf518 AccessControl: Remove permissions on data source delete (#45504) (#45519)
* AccessControl: Remove permissions on datasource delete

* Ensure legacy behavior is preserved

(cherry picked from commit 47e248ceab)

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-02-18 10:50:34 +01:00
Grot (@grafanabot)
dc3dc215d8 Chore: avoid pointer events in viz tooltip (#45492) (#45494)
(cherry picked from commit 685ec5383e)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-02-18 10:49:48 +01:00
Grot (@grafanabot)
fe7e1292cb Cloudwatch: Add support for AWS/PrivateLink* metrics and dimensions (#45515) (#45586)
Add support for AWS/PrivateLink{Endpoints,Interfaces} metrics and
dimensions. Change is based on the official AWS documentation[1].

1. https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-cloudwatch-metrics.html

(cherry picked from commit 929d8a358f)

Co-authored-by: Szymon Szypulski <szymon.szypulski@gmail.com>
2022-02-18 10:35:25 +01:00
Grot (@grafanabot)
80b8629f58 Data source insights: Switch from ID to UID (#45532) (#45580)
(cherry picked from commit 478efffce7)

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2022-02-18 09:39:57 +01:00
Grot (@grafanabot)
0743f84f50 SQLStore: Fix migrator locking test for SQLite (#45523) (#45530)
* SQLStore: Fix migrator locking test for SQLite

(cherry picked from commit 17dee4700c)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-02-18 10:03:14 +02:00
Grot (@grafanabot)
f1fe8a870b make send_alerts_to field nullable (#45572) (#45573)
* make send_alerts_to field nullable

* set nullable to true since we have a default value

(cherry picked from commit a9de33601c)

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2022-02-18 07:03:43 +01:00
Grot (@grafanabot)
5a3e45dd6c Added correct format. (#45562) (#45565)
(cherry picked from commit e29c38ae27)

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-02-17 15:21:21 -05:00
Grot (@grafanabot)
bbdad0fb27 Docs: Update 8.4 What's New (#45547) (#45561)
* replace * with

* Ran prettier check

* Revert "Ran prettier check"

This reverts commit 32be986af8.

* Ran prettier check again.

* Added backticks.

(cherry picked from commit 912464a073)

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-02-17 14:13:06 -05:00
Grot (@grafanabot)
3384269133 Cloudwatch: Fix bug with onblur in Metric Search (#45488) (#45557)
(cherry picked from commit 85753afdf0)

Co-authored-by: Sarah Zinger <sarahzinger@users.noreply.github.com>
2022-02-17 13:52:01 -05:00
Grot (@grafanabot)
2a35b4fcef Tempo: Switch out Select with AsyncSelect component to get loading state in Tempo Search (#45110) (#45554)
* Replace Select with AsyncSelect to get loading state

(cherry picked from commit fcd85951a7)

Co-authored-by: Cat Perry <000.perry@gmail.com>
2022-02-17 09:57:16 -08:00
Andrej Ocenas
d5e0ba2e43 Udpate latest.json (#45548) (#45551)
(cherry picked from commit 4fcbfab711)
2022-02-17 18:06:40 +01:00
Grot (@grafanabot)
f3c1c06753 ReleaseNotes: Updated changelog and release notes for 8.4.0 (#45531) (#45540)
* ReleaseNotes: Updated changelog and release notes for 8.4.0

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
(cherry picked from commit 23144fbcad)
2022-02-17 17:34:30 +01:00
Grot (@grafanabot)
4dec7e8387 Release: Bump version to 8.4.0 (#45529)
* "Release: Updated versions in package to 8.4.0"

* update lockfile

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2022-02-17 17:23:23 +01:00
Connor Lindsey
f4566647bf [v8.4.x] Chore: Clean up logs and deprecated library in tracing tests (#45486) (#45544)
* Chore: Clean up logs and deprecated library in tracing tests (#45486)

* Fix logs and errors from tracing tests

* Refactor SpanBar to remove recompose

* Fix NodeGraph tests

(cherry picked from commit 6e07b30048)
2022-02-17 17:10:23 +01:00
Andrej Ocenas
50c883a346 Docs: Update publish.yml for 8.4.0 (#45542) 2022-02-17 17:02:29 +01:00
Dan Cech
077f4c3079 Configuration: Add ability to customize okta login button name and icon (#44079) (#45483)
* add ability to customize okta login button name and icon

* update configs, add basic frontend test

* add icon to oauth settings type

* trigger tests

* fix typecheck

(cherry picked from commit 51cd6f3cc5)
2022-02-17 09:55:34 -05:00
Grot (@grafanabot)
8789c6b2ae Feature Highlights: add RS event for nav items (#45470) (#45521)
(cherry picked from commit 8835020457)

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2022-02-17 15:25:06 +01:00
Will Browne
bd0ff79e28 Plugins: Add ability to enable debug logging per plugin (#45481)
* use plugin ID in logger name

* retrigger
2022-02-16 17:49:16 +01:00
Grot (@grafanabot)
3179d548bb Alerting: Fix updating notification channels in legacy (#45302) (#45331)
The problem here is that without the orgID we ignore the lookup of the existing notification channel just before updating and end up failing the update because there is no channel available.

(cherry picked from commit 8bf2e642aa)

Co-authored-by: gotjosh <josue.abreu@gmail.com>
2022-02-16 13:35:39 +00:00
Grot (@grafanabot)
5b73b4e070 Analytics: Collect information about queries reordering (#45392) (#45465)
(cherry picked from commit 8bb3de3037)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-02-16 14:30:35 +01:00
Grot (@grafanabot)
122f8b257d remove whitespace from ${__value.raw } (#44928) (#45176)
(cherry picked from commit 7ef43fb959)

Co-authored-by: matt abrams <37156449+zuchka@users.noreply.github.com>
2022-02-16 14:13:06 +01:00
Grot (@grafanabot)
48e5624095 Loki: Use explore query field unless new query builder feature toggle is enabled (#44858) (#44901)
* Loki: Fix using of Explore editor in Explore

* Add test and remove Explore fields in module

* Update tests

(cherry picked from commit e7a0e69153)

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2022-02-16 14:04:39 +01:00
Grot (@grafanabot)
7c079483eb Update changelog for 8.3.5 and 7.5.15 (#45078) (#45084)
(cherry picked from commit b2a8487684)

Co-authored-by: Dimitris Sotirakis <sotirakis.dim@gmail.com>
2022-02-16 13:53:17 +01:00
Grot (@grafanabot)
2932cc8ec8 [docs] Clarify legacy alerting deprecation (#44759) (#44817)
* Clarify legacy alerting deprecation

* Lint Markdown

(cherry picked from commit 8c6a5f043a)

Co-authored-by: Armand Grillet <2117580+armandgrillet@users.noreply.github.com>
2022-02-16 13:51:37 +01:00
Grot (@grafanabot)
c630e0ce4f Update docs library element http api (#44493) (#44812)
(cherry picked from commit 16f0c6617a)

Co-authored-by: JM <justintmai@gmail.com>
2022-02-16 13:51:08 +01:00
Grot (@grafanabot)
1308e19197 Explore: avoid locking timepicker when range is inverted (#44790) (#44841)
* Explore: avoid locking timepicker when range is inverted

* Explore: prevent time picker to lock if from & to search parameters are present

(cherry picked from commit 6415b9a54d)

Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2022-02-16 13:48:47 +01:00
Grot (@grafanabot)
a682943b24 QueryEditor: Fix setting panel state to done if query had no error (#45453) (#45456)
(cherry picked from commit da91c93f4a)

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-02-16 11:59:55 +01:00
Grot (@grafanabot)
fd83e14400 QueryEditor: Fix crash in angular panels when query have error (#45422) (#45448)
(cherry picked from commit befb2afccc)

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-02-16 11:44:48 +01:00
Grot (@grafanabot)
19a88b3e6f Fix notification routes editing when filters are applied (#45380) (#45450)
* Fix route editing when filters are applied

* Fix route delete operation, reset expanded item when filters change

* Refactor edit and delete functions, add tests

* Fix comment

(cherry picked from commit 1886a59a12)

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2022-02-16 11:37:25 +01:00
Sofia Papagiannaki
3d2fbcba2d [8.4.x]: SQLStore: Prevent concurrent migrations (#44101) (#45447)
* SQLStore: Prevent concurrent migrations (#44101)

* SQLStore: Prevent concurrent migrations

* Hide behind a feature toggle

* Configurable locking attempt timeout

* Update docs/sources/administration/configuration.md

Co-authored-by: Igor Suleymanov <radiohead@users.noreply.github.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
(cherry picked from commit d718ee1918)

* Resolve dependency cycle (#45427)

(cherry picked from commit 6a38ce2307)
2022-02-16 11:23:54 +02:00
Dimitris Sotirakis
e43e5c3c42 CI: Remove manual gcloud authentication (#44986) (#45444)
* Remove manual gcloud auth from store-packages

* Update grabpl

(cherry picked from commit 163b570f5d)
2022-02-16 09:45:50 +01:00
Jack Westbrook
67fc8ecbe3 Toolkit: Bump react-dev-utils to 12.0.0 (#44696) (#45408)
* chore: bump react-dev-utils due to vulnerbility reports

* chore(yarn): update checksum, remove react-dev-utils packageExtensions

(cherry picked from commit b409811005)
2022-02-16 10:30:08 +02:00
Grot (@grafanabot)
709b49fdc8 Highlights: fix RS event name (#45436) (#45441)
(cherry picked from commit 39797e33ae)

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2022-02-16 09:03:10 +01:00
Ieva
6fdb1d0440 merge (#45413) 2022-02-15 18:27:11 +01:00
Grot (@grafanabot)
f0f4348aa5 AccessControl: Enable empty list New button based on user permissions (#45398) (#45402)
(cherry picked from commit d11f6a95a4)

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-02-15 16:36:51 +01:00
Grot (@grafanabot)
eeab540874 CloudWatch: Add tests to annotations query (#45337) (#45391)
(cherry picked from commit 1c1a45a880)

Co-authored-by: Shirley <4163034+fridgepoet@users.noreply.github.com>
2022-02-15 15:47:45 +01:00
Grot (@grafanabot)
47c3f21c26 Tempo: Update service graph linked queries to use rate_interval and group histogram (#45248) (#45403)
(cherry picked from commit 3da0434e64)

Co-authored-by: Connor Lindsey <cblindsey3@gmail.com>
2022-02-15 15:32:40 +01:00
Grot (@grafanabot)
b00b61f565 AccessControl: Trigger permission reload with team removal (#45383) (#45397)
(cherry picked from commit 91dd0563c9)

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-02-15 14:35:37 +01:00
Grot (@grafanabot)
f5c43af76a Alerting: do not unescape external AM label values (#45334) (#45394)
(cherry picked from commit 651bb773db)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-02-15 14:08:18 +01:00
Grot (@grafanabot)
382600c9eb Init node item (#45218) (#45323)
(cherry picked from commit 574f609550)

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-02-12 11:21:59 +02:00
Grot (@grafanabot)
099e6ee22d Documentation for teams with FGAC (#45321) (#45336)
* docs for teams with FGAC

* Update docs/sources/enterprise/access-control/fine-grained-access-control-references.md

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
(cherry picked from commit 9ac4843df1)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-02-11 18:11:28 +01:00
Ieva
3a04080972 merge (#45335)
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-02-11 18:02:50 +01:00
Grot (@grafanabot)
16870af3e8 Docs: Update whats new in 8.4 (#45289) (#45316)
Changed the swagger ui feature flag to the actual feature flag.

(cherry picked from commit 77a0a71929)

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-02-11 09:41:55 -05:00
Grot (@grafanabot)
3af0331022 Update access_controls.md: Add global to documented query parameter for deleting custom roles. (#40167) (#45270)
* Update access_controls.md

Update the parameter table for deleting custom roles to make it explicit that the `global` query parameter is handled by this endpoint/should be specified when deleting a globally-scoped role.

* Update docs/sources/http_api/access_control.md

Co-authored-by: Karl Persson <kalle.persson92@gmail.com>
Co-authored-by: achatterjee-grafana <aparajita.chatterjee@grafana.com>
(cherry picked from commit 1239911b5b)

Co-authored-by: Roberto Acevedo <rxacevedo@users.noreply.github.com>
2022-02-11 08:48:16 -05:00
Grot (@grafanabot)
1edb8f0a5d Postgres/MySQL/MSSQL: Remove usage of legacy timeSrv (#45241) (#45293)
(cherry picked from commit 0e8a5407d1)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-02-11 13:47:46 +01:00
Grot (@grafanabot)
18056a148c Alerting: support ok state in alert migration (#45264) (#45267)
(cherry picked from commit c59567a236)

Co-authored-by: Yuriy Tseretyan <yuriy.tseretyan@grafana.com>
2022-02-11 13:39:37 +01:00
Grot (@grafanabot)
a7f0fb5052 Angular: Add AngularJS plugin support deprecation plan to docs site (#45149) (#45287)
* Angular: Add AngularJS plugin support deprecation plan to docs site

* Updated wording

* Update

* Update docs/sources/developers/angular_deprecation.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/angular_deprecation.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/angular_deprecation.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/angular_deprecation.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/angular_deprecation.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/angular_deprecation.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
(cherry picked from commit fed112ef3b)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-02-11 12:46:47 +01:00
Grot (@grafanabot)
32ce82b874 loki: add logs-volume documentation (#45283) (#45285)
(cherry picked from commit 29d48a503c)

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2022-02-11 12:20:07 +01:00
Grot (@grafanabot)
0a9406b26c loki: enable-by-default the full-range-logs-volume feature (try2) (#45246) (#45280)
* loki: enable-by-default the full-range-logs-volume feature

* add explanation comment

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>

* fixed invalid code

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
(cherry picked from commit 4a7cc3e0f0)

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2022-02-11 12:13:11 +01:00
Grot (@grafanabot)
527e5bb6f8 LibraryPanels: Prevent long descriptions and names from obscuring the delete button (#45190) (#45284)
* fix library panel description wrapping

* make panel name wrap

(cherry picked from commit 8c47373d74)

Co-authored-by: matt abrams <37156449+zuchka@users.noreply.github.com>
2022-02-11 12:09:47 +01:00
Grot (@grafanabot)
3e351914fd Cloudwatch: Remove unused parameters (#45237) (#45251)
* Remove unused parameters

* Remove unused context

* Make plugin context first parameter

(cherry picked from commit 89a0c0fc37)

Co-authored-by: Shirley <4163034+fridgepoet@users.noreply.github.com>
2022-02-11 11:20:29 +01:00
Grot (@grafanabot)
f5212e4d5a Access control: team UI improvements with FGAC (#45255) (#45277)
* show teams page for user who can't list teams but can create teams

* Fixing buttons and routes

* Small refactor

Co-authored-by: gamab <gabi.mabs@gmail.com>
(cherry picked from commit 6fb3aac2e1)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-02-11 11:09:54 +01:00
Grot (@grafanabot)
6c0652989f TablePanel: Do not prefix columns with frame name if multiple frames and override active (#45174) (#45276)
* Fix bug where table panel shows column names prefixed with frame name

* simplify && fix tests

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
(cherry picked from commit a12f2e1d19)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2022-02-11 11:00:12 +01:00
Grot (@grafanabot)
a5637bd2ac Fix issue with undo history in query field when suggestion inserted (#28656) (#39114) (#45272)
(cherry picked from commit 4d0a37baed)

Co-authored-by: Alexander Kubyshkin <i.am.glint@gmail.com>
2022-02-11 09:46:04 +01:00
Grot (@grafanabot)
162466cad4 Update geomap.md (#43527) (#45269)
(cherry picked from commit d97e74d80f)

Co-authored-by: JJgitGit <JJgitGit@users.noreply.github.com>
2022-02-10 17:51:03 -05:00
Grot (@grafanabot)
c897372237 Thresholds: fix crash when trying to render zero-height base thresholds (#45256) (#45258)
(cherry picked from commit 586b89f776)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-02-10 19:00:44 +01:00
Grot (@grafanabot)
843c1c71d9 Fetch: parse JSON off-main-thread (async) based on response Content-Type (#45188) (#45257)
(cherry picked from commit 9af6202a7f)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-02-10 18:57:26 +01:00
Grot (@grafanabot)
8d60ca53c5 Access control: Support uids for resource permissions (#45226) (#45254)
* add middleware to solve uid -> id for requests

(cherry picked from commit d2b9da9dde)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2022-02-10 18:05:15 +01:00
Grot (@grafanabot)
0aac670de0 order subscriptions by name (#45228) (#45234)
(cherry picked from commit 57ecabf319)

Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
2022-02-10 16:14:52 +01:00
Grot (@grafanabot)
57fa05501b add the permission to read org users to team creator (#45224) (#45245)
(cherry picked from commit 9fafbfc87e)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-02-10 15:02:16 +00:00
Grot (@grafanabot)
232fdd195a Unescape regex string (#45137) (#45244)
(cherry picked from commit ec48b81388)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-02-10 15:57:56 +01:00
Gabriel MABILLE
e6d0f5367f AccessControl: Implement SQL filters for team members filtering (#44898) (#45219)
* AccessControl: Filter team members

* Modify GetTeamMembersByUser comment

* Fix postgres failing test due to quoting

* Rename GetTeamMembersByUser to GetUserTeamMemberships

* Update TeamStore interface

(cherry picked from commit 78fc0258b1)
2022-02-10 15:49:02 +01:00
Grot (@grafanabot)
82fc75cacc test (#45240) (#45243)
(cherry picked from commit fd5e968bc1)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-02-10 15:35:51 +01:00
Grot (@grafanabot)
ef9779c4c3 Popovers: Improve contrast by darkening shadow and changing border to medium (#45136) (#45229)
* Popovers: Improve contrast by darkening shadow and changing border to medium

* Updated sass theme

* Revert back to weak border

(cherry picked from commit 374681b546)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-02-10 15:14:05 +01:00
Grot (@grafanabot)
bab2f84155 Logging: Fix server hangs when using log.WithSuffix (#45213) (#45223)
Fixes a problem where server hangs if setting
GF_DATABASE_LOG_QUERIES=true.

Ref #44925

(cherry picked from commit ca311bf94f)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-02-10 13:02:47 +01:00
Grot (@grafanabot)
0ff1be7ccc Adjust menu positioning (#45217) (#45222)
(cherry picked from commit e48baefd32)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-02-10 13:02:15 +01:00
Grot (@grafanabot)
3fda778e6d Chore: Remove menuShouldPortal deprecation warning (#45211) (#45221)
* Chore: Remove Select deprecation

* remove unused import

* Update lockfile

(cherry picked from commit 947b8b8d3b)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-02-10 12:58:19 +01:00
Gabriel MABILLE
4c55c450c3 AccessControl: SQL filters for team search (#44557) (#45200)
* AccessControl: SQL filters for team search

Set test config

* Remove userIdFilter when FGAC is on

(cherry picked from commit 01b88adb3a)
2022-02-10 10:45:40 +01:00
Grot (@grafanabot)
6c370d7d66 Cloudwatch: Use generic null-insertion mechanism (#43507) (#45204)
* Cloudwatch: Fix nil values for a period gap in metrics

* Use fields periods for intervals

(cherry picked from commit 5edcc2e795)

Co-authored-by: Shirley <4163034+fridgepoet@users.noreply.github.com>
2022-02-10 10:31:21 +01:00
Grot (@grafanabot)
90316bedee Logging: Fix so that filters can contain commented lines (#45159) (#45202)
Fixes log filters that contains comments should not be enabled

(cherry picked from commit 2082eeb72f)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-02-10 10:10:43 +01:00
Grot (@grafanabot)
7b67b1c961 Revert fixed roles and service accounts (#44778) (#44818)
* Revert fixed roles and service accounts

* Leave the fixed role for service accounts

(cherry picked from commit f38f10416a)

Co-authored-by: Vardan Torosyan <vardants@gmail.com>
2022-02-09 21:01:30 +01:00
Vardan Torosyan
ff8e53a347 Security: Sync security changes on main (#45083) (#45140)
* Security: Sync security changes on main (#45083)

* * Teams: Appropriately apply user id filter in /api/teams/:id and /api/teams/search
* Teams: Ensure that users searching for teams are only able see teams they have access to
* Teams: Require teamGuardian admin privileges to list team members
* Teams: Prevent org viewers from administering teams
* Teams: Add org_id condition to team count query
* Teams: clarify permission requirements in teams api docs
* Teams: expand scenarios for team search tests
* Teams: mock teamGuardian in tests

Co-authored-by: Dan Cech <dcech@grafana.com>

* remove duplicate WHERE statement

* Fix for CVE-2022-21702

(cherry picked from commit 202d7c190082c094bc1dc13f7fe9464746c37f9e)

* Lint and test fixes

(cherry picked from commit 3e6b67d5504abf4a1d7b8d621f04d062c048e981)

* check content type properly

(cherry picked from commit 70b4458892bf2f776302720c10d24c9ff34edd98)

* basic csrf origin check

(cherry picked from commit 3adaa5ff39832364f6390881fb5b42ad47df92e1)

* compare origin to host

(cherry picked from commit 5443892699e8ed42836bb2b9a44744ff3e970f42)

* simplify url parsing

(cherry picked from commit b2ffbc9513fed75468628370a48b929d30af2b1d)

* check csrf for GET requests, only compare origin

(cherry picked from commit 8b81dc12d8f8a1f07852809c5b4d44f0f0b1d709)

* parse content type properly

(cherry picked from commit 16f76f4902e6f2188bea9606c68b551af186bdc0)

* mentioned get in the comment

(cherry picked from commit a7e61811ef8ae558ce721e2e3fed04ce7a5a5345)

* add content-type: application/json to test HTTP requests

* fix pluginproxy test

* Fix linter when comparing errors

Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
Co-authored-by: Dan Cech <dcech@grafana.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
Co-authored-by: Vardan Torosyan <vardants@gmail.com>
(cherry picked from commit 605d056136)

* Apply suggestions from code review

* remove uneeded test fix from patch

Co-authored-by: Dimitris Sotirakis <sotirakis.dim@gmail.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: jguer <joao.guerreiro@grafana.com>
2022-02-09 20:43:42 +01:00
Grot (@grafanabot)
1f1d599815 API: Fix missing enterprise routes in swagger spec (#45152) (#45156)
(cherry picked from commit 2983082eb3)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-02-09 15:43:21 +01:00
Grot (@grafanabot)
24411c633c Provisioning: Ensure that the default value for orgID is set when provisioning datasources to be deleted (#44244) (#45130)
Fixes #44243

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
(cherry picked from commit 8e03541228)

Co-authored-by: maicon <maiconscosta@gmail.com>
2022-02-09 12:55:21 +01:00
Grot (@grafanabot)
5aef9ffb19 logs-volume: remove custom timeout (#45041) (#45085)
* logs-volume: remove custom timeout

* make error message a little better

(cherry picked from commit 2c0030b1b4)

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2022-02-09 12:01:47 +01:00
Grot (@grafanabot)
f8b27f44c0 Feature Highlights: add RudderStack events (#45099) (#45126)
* add RS events for PRO badge

* part 2

* fix team sync events

* clean up ProBadge

(cherry picked from commit ee6f8b6cd9)

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2022-02-09 11:31:16 +01:00
Grot (@grafanabot)
82b20b7c43 Remove unified alerting specific assertions from panel base spec (#44961) (#45047)
(cherry picked from commit e50a78a61a)

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2022-02-09 10:54:10 +01:00
Grot (@grafanabot)
daf7c5fe93 Add context.Context to AlertingStore (#45069) (#45121)
(cherry picked from commit 4e3a72fc2a)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-02-09 09:40:05 +00:00
Grot (@grafanabot)
0680dff343 Update Storybook updates to v6.4.15 (#44586) (#44972)
* Update Storybook updates to v6.4.15

* revert(storybook): remove webpack process resolution as 6.4.14 patched it

* chore(yarn): update packageExtensions for storybook bump

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
(cherry picked from commit 08ee093dfe)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-02-09 10:31:24 +01:00
Grot (@grafanabot)
87dfe0a523 Docs: Added what's new for 8.4 (#45108) (#45111)
* Checking in changes from gdoc.

* New more changes.

* Added links to images.

* Added 8-4 link to the What's new index page.

(cherry picked from commit 065819b707)

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-02-08 18:00:35 -05:00
Grot (@grafanabot)
66b1f6722f BarChart: fix excessive re-renders during mousemove and panel resize (#45027) (#45109)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
(cherry picked from commit b3b1f945b0)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-02-08 16:56:42 -06:00
Grot (@grafanabot)
bcff7ec68f Alerting: remove error banner when Prometheus ruler is not supported (#44571)
(cherry picked from commit 3d0cff5410)

Co-authored-by: Roy C <crosscent@gmail.com>
2022-02-08 22:27:44 +01:00
Grot (@grafanabot)
66f9e505e7 Access control: hide team role picker if user doesn't have access to it (#45068) (#45095)
* hide team role column

* hide or disable the role picker as needed

* add SWL filtering for role listing

(cherry picked from commit 4f4b1cb5ea)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-02-08 17:55:02 +01:00
Grot (@grafanabot)
da3c22d3be Alerting: Improve Contact Points error handling (#44888) (#45092)
(cherry picked from commit 1cf48618de)

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2022-02-08 17:23:15 +01:00
Grot (@grafanabot)
4697ef8b81 TimeSeries: Add support for negative Y and constant transform (#44774) (#45087)
* add negative y config

* Handle negative y and constant transform in Timeseries panel

* Typechecks

* Add migration from old graph panel

* Docs update

* Revert "Add migration from old graph panel"

This reverts commit 33b5a90b66.

* Revert VizLegendItem changes

* Automatically separate positive and negative stacks within a group

* Update packages/grafana-ui/src/components/VizLegend/VizLegend.story.tsx

* Remove SeriesLabel component

* Update docs/sources/visualizations/time-series/_index.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/visualizations/time-series/_index.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Leftover reverts

* Don't crate bands (for now0 for negative -y stack

* Add docs note about transform being only available as an override

* Fill negative bands in reversed direction

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
(cherry picked from commit ffea53f2f6)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-02-08 07:46:48 -08:00
Grot (@grafanabot)
b07267f3e3 use correct version (#45076) (#45080)
(cherry picked from commit f691902949)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-02-08 16:16:43 +01:00
Grot (@grafanabot)
fb3d542562 Auth: Guarantee consistency of signed SigV4 headers (#45054) (#45075)
* use latest sigv4 changes

* update configuration docs

* lint

* reformat lint ignore

* specific version for docs

(cherry picked from commit fc42dfe396)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-02-08 15:54:38 +01:00
Grot (@grafanabot)
62a3b5a94d Add context.Context to InstanceStore (#45049) (#45065)
(cherry picked from commit 67a3e1d6fd)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-02-08 15:08:36 +01:00
Gabriel MABILLE
dca648f034 AccessControl: Use an SQLFilter struct (#44887) (#44999)
(cherry picked from commit 178193c84b)
2022-02-08 14:59:49 +01:00
George Robinson
8291389f6c Alerting: Add context.Context to RuleStore (#45004) (#45046) 2022-02-08 13:48:15 +00:00
Grot (@grafanabot)
3fdbc461f1 Chore: uPlot 1.6.19 (#45037) (#45044)
(cherry picked from commit d0bc3b10bf)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-02-08 05:35:29 -08:00
Grot (@grafanabot)
08ad99c36e API: Extract OpenAPI specification from source code using go-swagger (#40528) (#45061)
* API: Using go-swagger for extracting OpenAPI specification from source code

* Merge Grafana Alerting spec

* Include enterprise endpoints (if enabled)

* Serve SwaggerUI under feature flag

* Fix building dev docker images

* Configure swaggerUI

* Add missing json tags

Co-authored-by: Ying WANG <ying.wang@grafana.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
(cherry picked from commit 35fe58de37)
2022-02-08 13:52:05 +01:00
Grot (@grafanabot)
c6a58003d1 Chore: Make detect breaking changes workflow backport compatible (#45005) (#45052)
* fix(detect-breaking-changes): use the base.ref for backport compatibility

* chore(check-breaking-changes): update path to previous package dist directory

(cherry picked from commit f885c2ede9)

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2022-02-08 12:17:38 +01:00
Grot (@grafanabot)
eb666f12a7 Feature Highlights: Refactor report nav highlight (#44765) (#45039)
* Remove UpgradeBox from report nav

* Add children prop

* Update icon

* Update styles

* Update text

* Add pro badge to main nav

* Remove redundant span

* Update secondaryAction

(cherry picked from commit d21abdfe77)

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-02-08 10:36:45 +02:00
Grot (@grafanabot)
4f21d4dabe LibraryPanels: Removes save errors for panels changed to library panels (#45033) (#45035)
(cherry picked from commit 9e1cb8c12a)

Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2022-02-08 07:56:42 +01:00
Grot (@grafanabot)
836168eb13 BarChart: Fix Sticky Tooltip (#45017) (#45019) 2022-02-07 23:46:04 +01:00
Grot (@grafanabot)
c4da73ce4d CI: Remove grafana/drone-grafana-docker image (#44983) (#45011)
* Remove grafana/drone-grafana-docker image

* Rename step

* Remove manual gcloud authentication

(cherry picked from commit 329b1a1ef3903c7e2c3ec1f286f9b0f00fcd023e)

* Add publish command for main

* Fix TAG variable parsing

* Remove shouldSave from main builds

* Reorder dependencies

* Update grabpl version

(cherry picked from commit 5543ad883d)

Co-authored-by: Dimitris Sotirakis <sotirakis.dim@gmail.com>
2022-02-07 19:19:27 +01:00
Grot (@grafanabot)
d9eb80f7f5 Feature Highlights: add highlight to toolbar button and add upgrade modal (#44645) (#44998)
* Feature Highlights: add highlight to toolbar button and add upgrade modal

* replace hideTitle attribute by making title optional

* update modal design

* remove unused updates

(cherry picked from commit bdac6576e4)

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2022-02-07 16:18:21 +01:00
Grot (@grafanabot)
6459fd73ed Chore: Logging improvements (#44925) (#44996)
Fixing a couple bugs, adds some tests and hopefully decrease
lock contention when logging.
Switching from using sync.RWMutex to go-kit SwapLogger.
Fixes bug when creating a new logger from an existing one that
screwed up the keyvals and/or lost the logger name.

Ref #44681

(cherry picked from commit 05ea825c76)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-02-07 16:15:14 +01:00
Grot (@grafanabot)
be7782032e [v8.4.x] CI: Update GCP_GRAFANA_UPLOAD_KEY var name (#44964)
* CI: Update `GCP_GRAFANA_UPLOAD_KEY` var name (#44303)

* Update GCP_KEY var name

* Rename GCP_GRAFANA_UPLOAD_KEY for upload-packages

* Update grabpl

(cherry picked from commit f96a6c10c5)

* Update upload-cdn command args (#44966)

(cherry picked from commit 67225d9cfc)

Co-authored-by: Dimitris Sotirakis <sotirakis.dim@gmail.com>
2022-02-07 12:47:17 +01:00
Grot (@grafanabot)
206b447a37 Deprecation: use locationService in favor of getLocationSrv (#44813) (#44963)
* deprecated

* updating documentation.

* added deprecation notice.

* Replacing deprecated getLocationSrv.

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* updating according to feedback.

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
(cherry picked from commit eb9d85a2bf)

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2022-02-07 10:06:42 +01:00
Grot (@grafanabot)
32198a472f BarChart: Add support for data links (#44932) (#44943)
(cherry picked from commit 3a2e3267ba)

Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2022-02-04 18:50:20 -08:00
Grot (@grafanabot)
bfd38ece7e StateTimeline: add spanNulls editor (#44811) (#44938)
(cherry picked from commit b07345e57e)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-02-05 00:16:23 +01:00
Grot (@grafanabot)
ce185ce6a3 Fix evaluation of alert rules for datasources with custom headers (#44862) (#44912)
* Fix evaluation of alert rules for datasources with custom headers

* Fix unit tests

* Fix integration tests

* Evaluator fields should be package private

(cherry picked from commit 9df43abbb5)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-02-04 18:32:57 +01:00
Grot (@grafanabot)
cc9d96e1dc Access control: Reduce number of API calls for role picker (#44905) (#44908)
* Restucture state for TeamRolePicker and UserRolePicker

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
(cherry picked from commit 3cf31451ec)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2022-02-04 15:17:39 +01:00
Grot (@grafanabot)
d18f53977f Alerting: validate namespace and groupname for Grafana manages and Lotex alerts (#44872) (#44910)
(cherry picked from commit 1680e284e5)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-02-04 15:15:35 +01:00
Grot (@grafanabot)
6295ce8149 Improve prettier:check output (#44816) (#44844)
(cherry picked from commit a943bf9963)

Co-authored-by: Armand Grillet <2117580+armandgrillet@users.noreply.github.com>
2022-02-04 13:22:12 +01:00
Grot (@grafanabot)
63b7770220 Accessibility: Fix text selection when using FocusScope (#44770) (#44902)
* Add tabIndex={-1} to places using focusScope to allow for text highlighting

* use useDialog

* don't need explicit tabIndex anymore

* remove duplicate spreading of props

(cherry picked from commit 9e52361c1e)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-02-04 12:38:39 +01:00
Grot (@grafanabot)
6671367781 Alerting: add custom grouping to Alert Panel (#44559) (#44873)
Co-authored-by: Peter Holmberg <peterholmberg@users.noreply.github.com>
(cherry picked from commit c1a0c2664c)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-02-03 19:32:10 +01:00
Grot (@grafanabot)
53313e4a2d Logging: Fix don't return an error trying to initialize the file logger (#42952) (#44867)
Fixes #42897

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
(cherry picked from commit 7f2d3055d8)

Co-authored-by: bolshoytoster <91278344+bolshoytoster@users.noreply.github.com>
2022-02-03 18:58:07 +01:00
Grot (@grafanabot)
6909246a7a AccessControl: Change teams permissions page when accesscontrol is enabled (#43971) (#44864)
* AccessControl: Change teams permissions page when frontend is hit

* Implement frontend changes for group sync

* Changing the org/teams/edit permissions

Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>

* Fixing routes

Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>

* Use props straight away no need to go through the state

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Update public/app/features/teams/TeamPages.tsx

Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
(cherry picked from commit 8217d6d206)

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-02-03 18:00:38 +01:00
Grot (@grafanabot)
ee54923bdd Chore: Update latest.json (#44854) (#44859)
(cherry picked from commit 53a693fd84)

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2022-02-03 17:37:00 +01:00
Grot (@grafanabot)
2b516126cf Prometheus: Fix Azure authentication support (#44407) (#44861)
Re-adding back Azure authentication support to Prometheus datasource
after the datasource query logic was rewritten from plugin.json routes to
Go backend.

Ref #35857

(cherry picked from commit 85ea1a5d64)

Co-authored-by: Sergey Kostrukov <sekost@microsoft.com>
2022-02-03 17:27:57 +01:00
Grot (@grafanabot)
ae33b9fce9 AccessControl: Show UserPicker based on canListUsers (#44843) (#44860)
* AccessControl: Show UserPicker based on canListUser

* Update public/app/core/components/AccessControl/AddPermission.tsx

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
(cherry picked from commit 6d931226d8)

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-02-03 17:23:49 +01:00
Grot (@grafanabot)
8ff34fa36e AccessControl: introduce a different accesscontrol check (licensed or not) (#44777) (#44857)
Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
(cherry picked from commit 86756ee3e5)

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-02-03 16:52:12 +01:00
Grot (@grafanabot)
36edcfe208 Prometheus: Set interval on time field (#44802) (#44837)
(cherry picked from commit c8bb4c733e)

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
2022-02-03 10:49:46 -05:00
Grot (@grafanabot)
358db0d130 Access control: FGAC for team sync endpoints (#44673) (#44856)
* add actions for team group sync

* extend the hook to allow specifying whether the user is external

* move user struct to type package

* interface for permission service to allow mocking it

* reuse existing permissions

* test fix

* refactor

* linting

(cherry picked from commit 602d62ebcc)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-02-03 15:48:13 +00:00
Grot (@grafanabot)
9e0acc9ece Chore: Fix log filters (#44681) (#44853)
(cherry picked from commit bc7e55d99b)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-02-03 16:34:18 +01:00
Grot (@grafanabot)
5a1fc33eb4 ReleaseNotes: Updated changelog and release notes for 8.4.0-beta1 (#44822) (#44845)
(cherry picked from commit afac7701cb)
2022-02-03 16:02:47 +01:00
Grot (@grafanabot)
c5aaf9526e Rename build-e2e-publish pipelines (#44836) (#44847)
(cherry picked from commit 5f16e4cedc)
(cherry picked from commit 37ac299853b27ff819d16085630f425fc30c794e)

Co-authored-by: Dimitris Sotirakis <dimitrios.sotirakis@grafana.com>
2022-02-03 17:02:05 +02:00
Grot (@grafanabot)
d20ac04120 Loki: use generic grafana null-insertion mechanism (#44826) (#44846)
* loki: refactor: return dataframes instead of timeseries

* fixed unit test

* removed unused import

(cherry picked from commit 0c2ba819a7)

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2022-02-03 09:57:01 -05:00
Grot (@grafanabot)
1fe18694ad Alerting: Fix alert notification template (#44761) (#44839)
(cherry picked from commit bb88cf683c)

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2022-02-03 14:32:48 +01:00
Grot (@grafanabot)
e37dde0036 Alerting: load correct unified alerting tab (#44794) (#44832)
(cherry picked from commit 29b97361f7)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-02-03 14:08:57 +01:00
Grot (@grafanabot)
60fcb87a6b Feature Highlights: move setting to a feature toggle (#44780) (#44827)
* Add toggle

* Use the toggle

* Cleanup

(cherry picked from commit a79c048344)

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-02-03 14:54:42 +02:00
Grot (@grafanabot)
6292749014 Release: Bump version to 8.4.0-beta.1 (#44821)
Co-authored-by: Andres Martinez Gotor <andres.mgotor@gmail.com>
2022-02-03 11:14:18 +01:00
Grot (@grafanabot)
d7ba4dd293 grafana/ui: Fix RelativeTimeRange supported formats (#44535) (#44819)
* remove link to docs site

* extract tooltip to component

* text and formatting

* use div instead of p

(cherry picked from commit 3314178a0a)

Co-authored-by: Peter Holmberg <peterholmberg@users.noreply.github.com>
2022-02-03 10:49:12 +01:00
Grot (@grafanabot)
a7ad5ee55f Encryption: Add support for data keys re-encryption (#43548) (#44814)
* Encryption: Add support for data keys re-encryption

* Add tests for data keys re-encryption

* Update code after refactorings

Co-authored-by: Leonard Gram <leo@xlson.com>
(cherry picked from commit b2655750e8)

Co-authored-by: Joan López de la Franca Beltran <5459617+joanlopez@users.noreply.github.com>
2022-02-03 09:58:12 +01:00
Grot (@grafanabot)
71a0ae7931 Encryption: CLI rollback command (#43935) (#44810)
* Encryption: CLI rollback command

* Update flag reference to 'featuremgmt' pkg

* Update feature toggles usage

* Clean up data keys table after envelope encryption rollback

(cherry picked from commit f8105efff3)

Co-authored-by: Joan López de la Franca Beltran <5459617+joanlopez@users.noreply.github.com>
2022-02-03 07:54:57 +01:00
Grot (@grafanabot)
b4579334d4 DataFrame: insert null values along interval (#44622) (#44792)
(cherry picked from commit 3504844ad7)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-02-02 14:05:14 -06:00
Grot (@grafanabot)
e031568aa4 Do not store EvaluationString in Evaluation. (#44606) (#44795)
* do not store evaluation string in Evaluation.
* reduce number of buckets to store for a single state

(cherry picked from commit 984c95de63)

Co-authored-by: Yuriy Tseretyan <tceretian@gmail.com>
2022-02-02 19:29:13 +01:00
Grot (@grafanabot)
918f1d943a Instrumentation: Fix HTTP request instrumentation of authentication failures (#44234) (#44793)
Moves the request tracing middleware earlier in the chain, just after the tracing middleware
and before the log middleware. With these changes we'll be able to track
authentication/authorization status failures that currently exits early and don't execute the
request tracing middleware. In addition, there might be some other routes now being tracked
with this that we didn't do before.

Fixes #39590

(cherry picked from commit 0092d10764)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-02-02 19:07:37 +01:00
5161 changed files with 55259 additions and 148312 deletions

View File

@@ -1,342 +0,0 @@
// BETTERER RESULTS V2.
//
// If this file contains merge conflicts, use `betterer merge` to automatically resolve them:
// https://phenomnomnominal.github.io/betterer/docs/results-file/#merge
//
exports[`no enzyme tests`] = {
value: `{
"packages/grafana-ui/src/components/BarGauge/BarGauge.test.tsx:4199795290": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/ColorPicker/NamedColorsPalette.test.tsx:3311646309": [
[0, 31, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/FormField/FormField.test.tsx:3429087660": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/Forms/Legacy/Input/Input.test.tsx:3129955645": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/Gauge/Gauge.test.tsx:2525939157": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/Graph/Graph.test.tsx:1664091255": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/Graph/GraphTooltip/MultiModeGraphTooltip.test.tsx:1865444105": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/List/AbstractList.test.tsx:2972876749": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/Logs/LogLabels.test.tsx:1029448019": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/Logs/LogMessageAnsi.test.tsx:1630730648": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/Logs/LogRowContextProvider.test.tsx:2719724375": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/Logs/LogRows.test.tsx:3121815234": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/QueryField/QueryField.test.tsx:375894800": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/Slider/Slider.test.tsx:751112695": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/Typeahead/PartialHighlighter.test.tsx:1751923376": [
[0, 31, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/Typeahead/Typeahead.test.tsx:972524250": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/Typeahead/TypeaheadInfo.test.tsx:3512289373": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/slate-plugins/braces.test.tsx:1440546721": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/slate-plugins/clear.test.tsx:1085648664": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/slate-plugins/runner.test.tsx:446043290": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/slate-plugins/suggestions.test.tsx:3654981205": [
[0, 18, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/CanvasSpanGraph.test.js:1974748555": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/GraphTicks.test.js:940336852": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/Scrubber.test.js:4256741694": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/TickLabels.test.js:2931161174": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/ViewingLayer.test.js:1676554632": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/index.test.js:186764954": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TracePageHeader/TracePageHeader.test.js:3242042907": [
[14, 26, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TracePageHeader/TracePageSearchBar.test.js:2807329716": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/ListView/index.test.js:1734982398": [
[14, 26, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/ReferencesButton.test.js:3807792910": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanBar.test.js:1478502145": [
[14, 17, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanBarRow.test.js:3826510429": [
[14, 26, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/AccordianKeyValues.test.js:2408389970": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/AccordianLogs.test.js:3960703835": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/AccordianReferences.test.js:2429764318": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/AccordianText.test.js:1966455998": [
[14, 17, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/KeyValuesTable.test.js:3813002651": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/TextList.test.js:3006381933": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/index.test.js:3097530078": [
[16, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetailRow.test.js:2623922632": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanTreeOffset.test.js:1117377794": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/Ticks.test.js:743308415": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/TimelineHeaderRow/TimelineCollapser.test.js:4018342820": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/TimelineHeaderRow/TimelineColumnResizer.test.js:2286101708": [
[15, 17, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/TimelineHeaderRow/TimelineHeaderRow.test.js:2106409544": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/TimelineHeaderRow/TimelineViewingLayer.test.js:1423129438": [
[15, 17, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/VirtualizedTraceView.test.js:2326471104": [
[13, 26, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/index.test.js:381298544": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/common/CopyIcon.test.js:187212136": [
[15, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/common/NewWindowIcon.test.js:1750458349": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/common/UiFindInput.test.js:2207118020": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/url/ReferenceLink.test.js:3249503373": [
[14, 26, 13, "RegExp match", "2409514259"]
],
"public/app/core/components/PageActionBar/PageActionBar.test.tsx:1251504193": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/core/components/QueryOperationRow/QueryOperationAction.test.tsx:3032694716": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/core/components/QueryOperationRow/QueryOperationRow.test.tsx:2026575657": [
[0, 26, 13, "RegExp match", "2409514259"]
],
"public/app/core/components/Select/FolderPicker.test.tsx:993468764": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/core/components/Select/MetricSelect.test.tsx:3351544014": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/alerting/AlertRuleList.test.tsx:2998938420": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/alerting/TestRuleResult.test.tsx:2358420489": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/api-keys/ApiKeysAddedModal.test.tsx:3246264379": [
[0, 20, 13, "RegExp match", "2409514259"]
],
"public/app/features/dashboard/components/DashboardRow/DashboardRow.test.tsx:1463123173": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/features/dashboard/components/SaveDashboard/forms/SaveDashboardAsForm.test.tsx:1969004590": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/features/dashboard/components/SaveDashboard/forms/SaveDashboardForm.test.tsx:948029434": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/features/dashboard/components/ShareModal/ShareLink.test.tsx:2357087833": [
[0, 35, 13, "RegExp match", "2409514259"]
],
"public/app/features/dashboard/dashgrid/DashboardGrid.test.tsx:2723773538": [
[0, 35, 13, "RegExp match", "2409514259"]
],
"public/app/features/dashboard/dashgrid/PanelHeader/PanelHeaderCorner.test.tsx:2851646279": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/datasources/DashboardsTable.test.tsx:1950355032": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/datasources/DataSourceDashboards.test.tsx:1369048021": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/datasources/DataSourcesListPage.test.tsx:2960099202": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/datasources/settings/BasicSettings.test.tsx:625016324": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/datasources/settings/ButtonRow.test.tsx:1422996720": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/dimensions/editors/ThresholdsEditor/ThresholdsEditor.test.tsx:4164297658": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/features/explore/LiveLogs.test.tsx:156663779": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/features/explore/RichHistory/RichHistory.test.tsx:193587232": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/features/explore/RichHistory/RichHistoryCard.test.tsx:4263002507": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/explore/RichHistory/RichHistoryQueriesTab.test.tsx:3770907760": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/features/explore/RichHistory/RichHistorySettings.test.tsx:4065084278": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/features/explore/RichHistory/RichHistoryStarredTab.test.tsx:3750328521": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/features/explore/RunButton.test.tsx:4267530266": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/explore/SecondaryActions.test.tsx:1177396128": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/explore/TimeSyncButton.test.tsx:853739820": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/features/folders/FolderSettingsPage.test.tsx:1109052730": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/invites/InviteesTable.test.tsx:3612992381": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/org/OrgDetailsPage.test.tsx:3835042085": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/org/OrgProfile.test.tsx:623809345": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/teams/CreateTeam.test.tsx:1750035593": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/teams/TeamGroupSync.test.tsx:2526985933": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/teams/TeamList.test.tsx:854193970": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/teams/TeamMemberRow.test.tsx:1649328210": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/teams/TeamMembers.test.tsx:4089428239": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/teams/TeamPages.test.tsx:3990420214": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/teams/TeamSettings.test.tsx:2043271249": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/users/UsersActionBar.test.tsx:3740177621": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/users/UsersListPage.test.tsx:3908145117": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/users/UsersTable.test.tsx:263958312": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/datasource/cloud-monitoring/components/Aggregation.test.tsx:3822406835": [
[1, 19, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/datasource/cloudwatch/components/ConfigEditor.test.tsx:1224072551": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/datasource/cloudwatch/components/LogsQueryField.test.tsx:1501504663": [
[2, 19, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/datasource/elasticsearch/configuration/ConfigEditor.test.tsx:3481855642": [
[0, 26, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/datasource/elasticsearch/configuration/DataLinks.test.tsx:248699332": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/datasource/grafana-azure-monitor-datasource/components/deprecated/components/InsightsConfig.test.tsx:1107283234": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/datasource/influxdb/components/ConfigEditor.test.tsx:3456478975": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/datasource/loki/components/LokiExploreQueryEditor.test.tsx:1488067923": [
[0, 26, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/datasource/loki/components/LokiQueryEditor.test.tsx:146069464": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/datasource/loki/configuration/ConfigEditor.test.tsx:3658171175": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/datasource/loki/configuration/DebugSection.test.tsx:1551927716": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/datasource/loki/configuration/DerivedField.test.tsx:3570129984": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/datasource/loki/configuration/DerivedFields.test.tsx:2402631398": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/datasource/prometheus/configuration/AzureCredentialsForm.test.tsx:3424320489": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/panel/bargauge/BarGaugePanel.test.tsx:1597135392": [
[0, 31, 13, "RegExp match", "2409514259"]
]
}`
};

View File

@@ -1,5 +0,0 @@
import { regexp } from '@betterer/regexp';
export default {
'no enzyme tests': () => regexp(/from 'enzyme'/g).include('**/*.test.*'),
};

1151
.drone.yml

File diff suppressed because it is too large Load Diff

View File

@@ -1,18 +1,14 @@
.git
.github
.yarn
build
node_modules
compiled
data
deployment_tools_config.json
build
vendor
devenv
data
dist
e2e/tmp
node_modules
pkg
public/lib/monaco
scripts/grafana-server/tmp
vendor
public/lib/monaco
deployment_tools_config.json
# TS generate from cue by cuetsy
**/*.gen.ts
@@ -20,6 +16,3 @@ vendor
# Auto-generated localisation files
public/locales/_build/
public/locales/**/*.js
# Auto-generated icon file
packages/grafana-ui/src/components/Icon/iconBundle.ts

View File

@@ -1,24 +1,12 @@
{
"extends": ["@grafana/eslint-config"],
"root": true,
"plugins": ["@emotion", "lodash", "jest", "import"],
"settings": {
"import/internal-regex": "^(app/)|(@grafana)",
"import/external-module-folders": ["node_modules", ".yarn"]
},
"plugins": ["no-only-tests", "@emotion", "lodash"],
"rules": {
"no-only-tests/no-only-tests": "error",
"react/prop-types": "off",
"@emotion/jsx-import": "error",
"lodash/import-scope": [2, "member"],
"jest/no-focused-tests": "error",
"import/order": [
"error",
{
"groups": [["builtin", "external"], "internal", "parent", "sibling", "index"],
"newlines-between": "always",
"alphabetize": { "order": "asc" }
}
]
"lodash/import-scope": [2, "member"]
},
"overrides": [
{

17
.github/CODEOWNERS vendored
View File

@@ -53,18 +53,12 @@ go.sum @grafana/backend-platform
/pkg/services/sqlstore/migrations @grafana/backend-platform @grafana/hosted-grafana-team
*_mig.go @grafana/backend-platform @grafana/hosted-grafana-team
# Grafana edge
# Grafana live
/pkg/services/live/ @grafana/grafana-edge-squad
/pkg/services/searchV2/ @grafana/grafana-edge-squad
/pkg/services/store/ @grafana/grafana-edge-squad
/pkg/infra/filestore/ @grafana/grafana-edge-squad
# Alerting
/pkg/services/ngalert @grafana/alerting-squad-backend
/pkg/services/sqlstore/migrations/ualert @grafana/alerting-squad-backend
/pkg/services/alerting @grafana/alerting-squad-backend
/pkg/tests/api/alerting @grafana/alerting-squad-backend
/public/app/features/alerting @grafana/alerting-squad-frontend
# Unified Alerting
/pkg/services/ngalert @grafana/alerting-squad
/pkg/services/sqlstore/migrations/ualert @grafana/alerting-squad
# Library Services
/pkg/services/libraryelements @grafana/user-essentials
@@ -102,13 +96,12 @@ go.sum @grafana/backend-platform
/public/app/core/components/TimePicker @grafana/grafana-bi-squad
/public/app/core/components/Layers @grafana/grafana-edge-squad
/public/app/features/canvas/ @grafana/grafana-edge-squad
/public/app/features/comments/ @grafana/grafana-edge-squad
/public/app/features/dimensions/ @grafana/grafana-edge-squad
/public/app/features/geo/ @grafana/grafana-edge-squad
/public/app/features/live/ @grafana/grafana-edge-squad
/public/app/features/explore/ @grafana/observability-experience-squad
/public/app/features/plugins @grafana/plugins-platform-frontend
/public/app/features/transformers/spatial @grafana/grafana-edge-squad
/public/app/core/components/TransformersUI/spatial @grafana/grafana-edge-squad
/public/app/plugins/panel/alertlist @grafana/alerting-squad
/public/app/plugins/panel/barchart @grafana/grafana-bi-squad
/public/app/plugins/panel/heatmap @grafana/grafana-bi-squad

70
.github/commands.json vendored
View File

@@ -90,14 +90,6 @@
"url":"https://github.com/orgs/grafana/projects/97"
}
},
{
"type":"label",
"name":"datasource/CloudWatch Logs",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/97"
}
},
{
"type":"label",
"name":"datasource/GoogleCloudMonitoring",
@@ -106,12 +98,20 @@
"url":"https://github.com/orgs/grafana/projects/97"
}
},
{
"type":"label",
"name":"oss-observability",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/54"
}
},
{
"type":"label",
"name":"datasource/Prometheus",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/112"
"url":"https://github.com/orgs/grafana/projects/54"
}
},
{
@@ -119,23 +119,7 @@
"name":"datasource/InfluxDB",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/112"
}
},
{
"type":"label",
"name":"datasource/Graphite",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/112"
}
},
{
"type":"label",
"name":"datasource/OpenTSDB",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/112"
"url":"https://github.com/orgs/grafana/projects/54"
}
},
{
@@ -143,7 +127,7 @@
"name":"datasource/OpenSearch",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/110"
"url":"https://github.com/orgs/grafana/projects/54"
}
},
{
@@ -151,7 +135,7 @@
"name":"datasource/Loki",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/110"
"url":"https://github.com/orgs/grafana/projects/54"
}
},
{
@@ -159,7 +143,7 @@
"name":"datasource/Tempo",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/110"
"url":"https://github.com/orgs/grafana/projects/54"
}
},
{
@@ -167,23 +151,7 @@
"name":"datasource/Elasticsearch",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/110"
}
},
{
"type":"label",
"name":"datasource/Jaeger",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/110"
}
},
{
"type":"label",
"name":"datasource/Zipkin",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/110"
"url":"https://github.com/orgs/grafana/projects/54"
}
},
{
@@ -191,7 +159,7 @@
"name":"area/explore",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/111"
"url":"https://github.com/orgs/grafana/projects/54"
}
},
{
@@ -209,13 +177,5 @@
"removeFromProject":{
"url":"https://github.com/grafana/grafana/projects/33"
}
},
{
"type": "label",
"name": "team/grafana-partners",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/87"
}
}
]

View File

@@ -179,17 +179,11 @@
"action": "updateLabel",
"addLabel": "area/dashboard/templating"
},
{
"type": "changedfiles",
"matches": ["/pkg/services/ngalert/**/*", "/pkg/services/sqlstore/migrations/ualert/**/*", "/pkg/services/alerting/**/*", "/public/app/features/alerting/**/*", "/pkg/tests/api/alerting/**/*"],
"action": "updateLabel",
"addLabel": "area/alerting"
},
{
"type": "author",
"name": "pr/external",
"notMemberOf": { "org": "grafana" },
"ignoreList": ["renovate[bot]","dependabot[bot]"],
"ignoreList": ["renovate[bot]"],
"action": "updateLabel",
"addLabel": "pr/external"
}

View File

@@ -11,16 +11,13 @@
"@types/d3-scale-chromatic", // we should bump this once we move to esm modules
"@types/grafana__slate-react", // should be updated when the `slate` package is updated
"@types/react-icons", // jaeger-ui-components is being refactored to use @grafana/ui icons instead
"commander", // we are planning to remove this, so no need to update it
"d3",
"d3-force", // we should bump this once we move to esm modules
"d3-interpolate", // we should bump this once we move to esm modules
"d3-scale-chromatic", // we should bump this once we move to esm modules
"eslint", // wait until `eslint-plugin-react-hooks>4.2.0` is released
"execa", // we should bump this once we move to esm modules
"history", // we should bump this together with react-router-dom
"@mdx-js/react", // storybook peer-depends on it's 1.x version, we should upgrade this when we upgrade storybook
"monaco-editor", // due to us exposing this via @grafana/ui/CodeEditor's props bumping can break plugins
"react-hook-form", // due to us exposing these hooks via @grafana/ui form components bumping can break plugins
"react-icons", // jaeger-ui-components is being refactored to use @grafana/ui icons instead
"react-router-dom", // we should bump this together with history
"slate",

47
.github/stale.yml vendored Normal file
View File

@@ -0,0 +1,47 @@
# Configuration for probot-stale - https://github.com/probot/stale
# General configuration
# Label to use when marking as stale
staleLabel: stale
# Pull request specific configuration
pulls:
# Number of days of inactivity before an Issue or Pull Request becomes stale
daysUntilStale: 14
# Number of days of inactivity before a stale Issue or Pull Request is closed.
# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
daysUntilClose: 30
# Comment to post when marking as stale. Set to `false` to disable
markComment: >
This pull request has been automatically marked as stale because it has not had
activity in the last 2 weeks. It will be closed in 30 days if no further activity occurs. Please
feel free to give a status update now, ping for review, or re-open when it's ready.
Thank you for your contributions!
# Comment to post when closing a stale Issue or Pull Request.
closeComment: >
This pull request has been automatically closed because it has not had
activity in the last 30 days. Please feel free to give a status update now, ping for review, or re-open when it's ready.
Thank you for your contributions!
# Limit the number of actions per hour, from 1-30. Default is 30
limitPerRun: 1
exemptLabels:
- help wanted
- type/bug
- type/feature-request
- Epic
- no stalebot
# Issue specific configuration
issues:
limitPerRun: 1
daysUntilStale: 100000
daysUntilClose: 100000
markComment: >
This issue has been automatically marked as stale because it has not had activity in the
last 100 days. It will be closed in the next 100 days if no activity occurs.
Thank you for your contributions.
closeComment: >
This issue has been automatically closed because it has not had activity in the
last month and a half. If this issue is still valid, please ping a maintainer and ask them to check this again.
Thank you for your contributions.

View File

@@ -4,7 +4,7 @@ on:
inputs:
version:
required: true
default: '7.x.x'
default: '8.x.x'
workflow_call:
inputs:
version_call:

View File

@@ -1,17 +0,0 @@
name: Cloud data sources test code coverage
on:
pull_request:
paths:
- 'pkg/tsdb/azuremonitor/**'
- 'pkg/tsdb/cloudwatch/**'
- 'pkg/tsdb/cloudmonitoring/**'
- 'public/app/plugins/datasource/grafana-azure-monitor-datasource/**'
- 'public/app/plugins/datasource/cloudwatch/**'
- 'public/app/plugins/datasource/cloud-monitoring/**'
branches-ignore:
- dependabot/**
- backport-**
jobs:
workflow-call:
uses: grafana/code-coverage/.github/workflows/code-coverage.yml@v0.1.2

View File

@@ -8,12 +8,9 @@ name: "CodeQL"
on:
push:
branches: [main, v1.8.x, v2.0.x, v2.1.x, v2.6.x, v3.0.x, v3.1.x, v4.0.x, v4.1.x, v4.2.x, v4.3.x, v4.4.x, v4.5.x, v4.6.x, v4.7.x, v5.0.x, v5.1.x, v5.2.x, v5.3.x, v5.4.x, v6.0.x, v6.1.x, v6.2.x, v6.3.x, v6.4.x, v6.5.x, v6.6.x, v6.7.x, v7.0.x, v7.1.x, v7.2.x]
paths-ignore:
- '**/*.cue'
- '**/*.json'
- '**/*.md'
- '**/*.txt'
- '**/*.yml'
pull_request:
# The branches below must be a subset of the branches above
branches: [main]
schedule:
- cron: '0 4 * * 6'
@@ -49,5 +46,21 @@ jobs:
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

View File

@@ -4,8 +4,7 @@ on:
types: [labeled, unlabeled]
issue_comment:
types: [created]
concurrency:
group: issue-commands-${{ github.event.issue.number }}
jobs:
main:
runs-on: ubuntu-latest

View File

@@ -112,7 +112,7 @@ jobs:
- name: Get link for the Github Action job
id: job
uses: actions/github-script@v6
uses: actions/github-script@v5
with:
script: |
const script = require('./.github/workflows/scripts/pr-get-job-link.js')
@@ -128,7 +128,7 @@ jobs:
- name: Persisting the check output
run: |
mkdir -p ./levitate
echo "{ \"exit_code\": ${{ steps.breaking-changes.outputs.is_breaking }}, \"message\": \"${{ steps.breaking-changes.outputs.message }}\", \"job_link\": \"${{ steps.job.outputs.link }}#step:${GITHUB_STEP_NUMBER}:1\", \"pr_number\": \"${{ github.event.pull_request.number }}\" }" > ./levitate/result.json
echo "{ \"exit_code\": ${{ steps.breaking-changes.outputs.is_breaking }}, \"message\": \"${{ steps.breaking-changes.outputs.message }}\", \"job_link\": \"${{ steps.job.outputs.link }}#step:${GITHUB_STEP_NUMBER}:1\" }" > ./levitate/result.json
- name: Upload check output as artifact
uses: actions/upload-artifact@v2

View File

@@ -17,7 +17,7 @@ jobs:
- uses: actions/checkout@v2
- name: 'Download artifact'
uses: actions/github-script@v6
uses: actions/github-script@v5
env:
RUN_ID: ${{ github.event.workflow_run.id }}
with:
@@ -53,7 +53,7 @@ jobs:
run: unzip "${ARTIFACT_FOLDER}/${ARTIFACT_NAME}.zip" -d "${ARTIFACT_FOLDER}"
- name: Parsing levitate result
uses: actions/github-script@v6
uses: actions/github-script@v5
id: levitate-run
with:
script: |
@@ -63,7 +63,7 @@ jobs:
- name: Check if "breaking change" label exists
id: does-label-exist
uses: actions/github-script@v6
uses: actions/github-script@v5
env:
PR_NUMBER: ${{ github.event.workflow_run.pull_requests[0].number }}
with:
@@ -82,7 +82,7 @@ jobs:
if: ${{ steps.levitate-run.outputs.exit_code == 1 }}
uses: marocchino/sticky-pull-request-comment@v2
with:
number: ${{ steps.levitate-run.outputs.pr_number }}
number: ${{ github.event.workflow_run.pull_requests[0].number }}
message: |
⚠️ &nbsp;&nbsp;**Possible breaking changes**
@@ -90,40 +90,22 @@ jobs:
${{ steps.levitate-run.outputs.message }}
[Console output](${{ steps.levitate-run.outputs.job_link }})
[Read our guideline](https://github.com/grafana/grafana/blob/main/contribute/breaking-changes-guide.md)
[Check console output](${{ steps.levitate-run.outputs.job_link }})
- name: Remove comment on PR
if: ${{ steps.levitate-run.outputs.exit_code == 0 }}
uses: marocchino/sticky-pull-request-comment@v2
with:
number: ${{ steps.levitate-run.outputs.pr_number }}
number: ${{ github.event.workflow_run.pull_requests[0].number }}
delete: true
# Posts a notification to Slack if a PR has a breaking change and it did not have a breaking change before
- name: Post to Slack
id: slack
if: ${{ steps.levitate-run.outputs.exit_code == 1 && steps.does-label-exist.outputs.result == 0 }}
uses: slackapi/slack-github-action@v1.18.0
with:
payload: |
{
"pr_link": "https://github.com/grafana/grafana/pull/${{ steps.levitate-run.outputs.pr_number }}",
"pr_number": "${{ steps.levitate-run.outputs.pr_number }}",
"job_link": "${{ steps.levitate-run.outputs.job_link }}",
"reporting_job_link": "${{ github.event.workflow_run.html_url }}",
"message": "${{ steps.levitate-run.outputs.message }}"
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_LEVITATE_WEBHOOK_URL }}
- name: Add "breaking change" label
if: ${{ steps.levitate-run.outputs.exit_code == 1 && steps.does-label-exist.outputs.result == 0 }}
uses: actions/github-script@v6
uses: actions/github-script@v5
env:
PR_NUMBER: ${{ steps.levitate-run.outputs.pr_number }}
PR_NUMBER: ${{ github.event.workflow_run.pull_requests[0].number }}
with:
github-token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
script: |
await github.rest.issues.addLabels({
issue_number: process.env.PR_NUMBER,
@@ -134,11 +116,10 @@ jobs:
- name: Remove "breaking change" label
if: ${{ steps.levitate-run.outputs.exit_code == 0 && steps.does-label-exist.outputs.result == 1 }}
uses: actions/github-script@v6
uses: actions/github-script@v5
env:
PR_NUMBER: ${{ steps.levitate-run.outputs.pr_number }}
PR_NUMBER: ${{ github.event.workflow_run.pull_requests[0].number }}
with:
github-token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
script: |
await github.rest.issues.removeLabel({
issue_number: process.env.PR_NUMBER,
@@ -151,11 +132,10 @@ jobs:
# Related issue: https://github.com/renovatebot/renovate/issues/1908
- name: Add "grafana/plugins-platform-frontend" as a reviewer
if: ${{ steps.levitate-run.outputs.exit_code == 1 }}
uses: actions/github-script@v6
uses: actions/github-script@v5
env:
PR_NUMBER: ${{ steps.levitate-run.outputs.pr_number }}
PR_NUMBER: ${{ github.event.workflow_run.pull_requests[0].number }}
with:
github-token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
script: |
await github.rest.pulls.requestReviewers({
pull_number: process.env.PR_NUMBER,
@@ -167,11 +147,10 @@ jobs:
- name: Remove "grafana/plugins-platform-frontend" from the list of reviewers
if: ${{ steps.levitate-run.outputs.exit_code == 0 }}
uses: actions/github-script@v6
uses: actions/github-script@v5
env:
PR_NUMBER: ${{ steps.levitate-run.outputs.pr_number }}
PR_NUMBER: ${{ github.event.workflow_run.pull_requests[0].number }}
with:
github-token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
script: |
await github.rest.pulls.removeRequestedReviewers({
pull_number: process.env.PR_NUMBER,

View File

@@ -12,8 +12,7 @@ on:
types:
- milestoned
- demilestoned
concurrency:
group: pr-checks-${{ github.event.number }}
jobs:
main:
runs-on: ubuntu-latest

View File

@@ -1,29 +0,0 @@
name: "CodeQL for PR / go"
on:
pull_request:
branches: [main]
paths:
- '**/*.go'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: "go"
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

View File

@@ -1,31 +0,0 @@
name: "CodeQL for PR / javascript"
on:
pull_request:
branches: [main]
paths:
- '**/*.js'
- '**/*.ts'
- '**/*.tsx'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: "javascript"
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

View File

@@ -1,29 +0,0 @@
name: "CodeQL for PR / python"
on:
pull_request:
branches: [main]
paths:
- '**/*.py'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: "python"
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

View File

@@ -3,8 +3,7 @@ on:
pull_request:
types:
- closed
concurrency:
group: pr-commands-closed-${{ github.event.number }}
jobs:
close_job:
# this job will only run if the PR has been closed without being merged

View File

@@ -4,8 +4,7 @@ on:
types:
- opened
- synchronize
concurrency:
group: pr-commands-${{ github.event.number }}
jobs:
main:
runs-on: ubuntu-latest

View File

@@ -3,7 +3,7 @@ name: publish_docs
on:
push:
branches:
- v8.5.x
- v8.4.x
paths:
- 'docs/sources/**'
- 'packages/grafana-*/**'
@@ -20,7 +20,7 @@ jobs:
uses: actions/setup-node@v2.5.1
id: generate-docs
with:
node-version: '16'
node-version: '14'
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn config get cacheFolder)"

View File

@@ -1,33 +0,0 @@
name: 'Close stale issues and PRs'
on:
schedule:
- cron: '30 1 * * *'
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v4
with:
repo-token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
# Number of days of inactivity before a stale Issue or Pull Request is closed.
# Set to -1 to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
days-before-close: 14
# Number of days of inactivity before an Issue or Pull Request becomes stale
days-before-stale: 30
# We don't want any Issues to be marked as stale for now.
days-before-issue-stale: -1
exempt-issue-labels: no stalebot
exempt-pr-labels: no stalebot
operations-per-run: 500
stale-issue-label: stale
stale-pr-label: stale
stale-pr-message: >
This pull request has been automatically marked as stale because it has not had
activity in the last 30 days. It will be closed in 2 weeks if no further activity occurs. Please
feel free to give a status update now, ping for review, or re-open when it's ready.
Thank you for your contributions!
close-pr-message: >
This pull request has been automatically closed because it has not had
activity in the last 2 weeks. Please feel free to give a status update now, ping for review, or re-open when it's ready.
Thank you for your contributions!

3
.gitignore vendored
View File

@@ -7,6 +7,7 @@ awsconfig
/.awcache
/dist
/public/build
public/dist/tsconfig.tsbuildinfo
/public/views/index.html
/public/views/error.html
/emails/dist
@@ -16,7 +17,6 @@ awsconfig
vendor/
/docs/menu.yaml
/requests
tsconfig.tsbuildinfo
# Yarn
.yarn/*
@@ -39,7 +39,6 @@ tsconfig.tsbuildinfo
# Enterprise devenv
/devenv/docker/blocks/grafana-enterprise
/devenv/docker/blocks/saml-enterprise
/tmp
tools/phantomjs/phantomjs

View File

@@ -1,8 +1,4 @@
#!/bin/sh
# Ignore husky hooks if no frontend code has been changed
git diff --cached --name-only | grep -v --quiet "^pkg/" || exit 0
. "$(dirname "$0")/_/husky.sh"
yarn run precommit

2
.nvmrc
View File

@@ -1 +1 @@
v16.14.0
v16.13.2

View File

@@ -1,23 +1,14 @@
.git
.github
.yarn
build
compiled
data
deployment_tools_config.json
devenv
dist
e2e/tmp
dist/
pkg/
node_modules
pkg
public/lib/monaco
public/sass/*.generated.scss
public/vendor/
vendor/
/data/
e2e/tmp
scripts/grafana-server/tmp
vendor
# TS generate from cue by cuetsy
**/*.gen.ts
# Auto-generated localisation files
public/locales/_build/
public/locales/**/*.js
public/build/
public/sass/*.generated.scss
devenv/
public/lib/monaco

4
.vscode/launch.json vendored
View File

@@ -8,15 +8,13 @@
"mode": "auto",
"program": "${workspaceFolder}/pkg/cmd/grafana-server/",
"env": {},
"cwd": "${workspaceFolder}",
"args": ["--homepath", "${workspaceFolder}", "--packaging", "dev"]
},
{
"name": "Debug Jest test",
"type": "node",
"request": "launch",
"runtimeExecutable": "yarn",
"runtimeArgs": ["run", "jest", "--runInBand", "${file}"],
"runtimeArgs": ["--inspect-brk", "${workspaceRoot}/node_modules/.bin/jest", "--runInBand", "${file}"],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"port": 9229

768
.yarn/releases/yarn-3.1.1.cjs vendored Executable file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,6 @@
{
"name": "eslint",
"version": "8.11.0-sdk",
"version": "7.28.0-sdk",
"main": "./lib/api.js",
"type": "commonjs"
}

View File

@@ -1,6 +1,6 @@
{
"name": "prettier",
"version": "2.5.1-sdk",
"version": "2.2.1-sdk",
"main": "./index.js",
"type": "commonjs"
}

20
.yarn/sdks/stylelint/bin/stylelint.js vendored Executable file
View File

@@ -0,0 +1,20 @@
#!/usr/bin/env node
const {existsSync} = require(`fs`);
const {createRequire, createRequireFromPath} = require(`module`);
const {resolve} = require(`path`);
const relPnpApiPath = "../../../../.pnp.cjs";
const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = (createRequire || createRequireFromPath)(absPnpApiPath);
if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require stylelint/bin/stylelint.js
require(absPnpApiPath).setup();
}
}
// Defer to the real stylelint/bin/stylelint.js your application uses
module.exports = absRequire(`stylelint/bin/stylelint.js`);

20
.yarn/sdks/stylelint/lib/index.js vendored Normal file
View File

@@ -0,0 +1,20 @@
#!/usr/bin/env node
const {existsSync} = require(`fs`);
const {createRequire, createRequireFromPath} = require(`module`);
const {resolve} = require(`path`);
const relPnpApiPath = "../../../../.pnp.cjs";
const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = (createRequire || createRequireFromPath)(absPnpApiPath);
if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require stylelint/lib/index.js
require(absPnpApiPath).setup();
}
}
// Defer to the real stylelint/lib/index.js your application uses
module.exports = absRequire(`stylelint/lib/index.js`);

6
.yarn/sdks/stylelint/package.json vendored Normal file
View File

@@ -0,0 +1,6 @@
{
"name": "stylelint",
"version": "14.0.1-sdk",
"main": "lib/index.js",
"type": "commonjs"
}

View File

@@ -18,7 +18,6 @@ const moduleWrapper = tsserver => {
const pnpApi = require(`pnpapi`);
const isVirtual = str => str.match(/\/(\$\$virtual|__virtual__)\//);
const isPortal = str => str.startsWith("portal:/");
const normalize = str => str.replace(/\\/g, `/`).replace(/^\/?/, `/`);
const dependencyTreeRoots = new Set(pnpApi.getDependencyTreeRoots().map(locator => {
@@ -45,7 +44,7 @@ const moduleWrapper = tsserver => {
const resolved = isVirtual(str) ? pnpApi.resolveVirtual(str) : str;
if (resolved) {
const locator = pnpApi.findPackageLocator(resolved);
if (locator && (dependencyTreeRoots.has(`${locator.name}@${locator.reference}`) || isPortal(locator.reference))) {
if (locator && dependencyTreeRoots.has(`${locator.name}@${locator.reference}`)) {
str = resolved;
}
}
@@ -86,7 +85,7 @@ const moduleWrapper = tsserver => {
// everything else is up to neovim
case `neovim`: {
str = normalize(resolved).replace(/\.zip\//, `.zip::`);
str = `zipfile://${str}`;
str = `zipfile:${str}`;
} break;
default: {
@@ -101,7 +100,8 @@ const moduleWrapper = tsserver => {
function fromEditorPath(str) {
switch (hostInfo) {
case `coc-nvim`: {
case `coc-nvim`:
case `neovim`: {
str = str.replace(/\.zip::/, `.zip/`);
// The path for coc-nvim is in format of /<pwd>/zipfile:/<pwd>/.yarn/...
// So in order to convert it back, we use .* to match all the thing
@@ -111,12 +111,6 @@ const moduleWrapper = tsserver => {
: str.replace(/^.*zipfile:/, ``);
} break;
case `neovim`: {
str = str.replace(/\.zip::/, `.zip/`);
// The path for neovim is in format of zipfile:///<pwd>/.yarn/...
return str.replace(/^zipfile:\/\//, ``);
} break;
case `vscode`:
default: {
return process.platform === `win32`
@@ -149,9 +143,8 @@ const moduleWrapper = tsserver => {
let hostInfo = `unknown`;
Object.assign(Session.prototype, {
onMessage(/** @type {string | object} */ message) {
const isStringMessage = typeof message === 'string';
const parsedMessage = isStringMessage ? JSON.parse(message) : message;
onMessage(/** @type {string} */ message) {
const parsedMessage = JSON.parse(message)
if (
parsedMessage != null &&
@@ -165,14 +158,9 @@ const moduleWrapper = tsserver => {
}
}
const processedMessageJSON = JSON.stringify(parsedMessage, (key, value) => {
return typeof value === 'string' ? fromEditorPath(value) : value;
});
return originalOnMessage.call(
this,
isStringMessage ? processedMessageJSON : JSON.parse(processedMessageJSON)
);
return originalOnMessage.call(this, JSON.stringify(parsedMessage, (key, value) => {
return typeof value === `string` ? fromEditorPath(value) : value;
}));
},
send(/** @type {any} */ msg) {

View File

@@ -18,7 +18,6 @@ const moduleWrapper = tsserver => {
const pnpApi = require(`pnpapi`);
const isVirtual = str => str.match(/\/(\$\$virtual|__virtual__)\//);
const isPortal = str => str.startsWith("portal:/");
const normalize = str => str.replace(/\\/g, `/`).replace(/^\/?/, `/`);
const dependencyTreeRoots = new Set(pnpApi.getDependencyTreeRoots().map(locator => {
@@ -45,7 +44,7 @@ const moduleWrapper = tsserver => {
const resolved = isVirtual(str) ? pnpApi.resolveVirtual(str) : str;
if (resolved) {
const locator = pnpApi.findPackageLocator(resolved);
if (locator && (dependencyTreeRoots.has(`${locator.name}@${locator.reference}`) || isPortal(locator.reference))) {
if (locator && dependencyTreeRoots.has(`${locator.name}@${locator.reference}`)) {
str = resolved;
}
}
@@ -86,7 +85,7 @@ const moduleWrapper = tsserver => {
// everything else is up to neovim
case `neovim`: {
str = normalize(resolved).replace(/\.zip\//, `.zip::`);
str = `zipfile://${str}`;
str = `zipfile:${str}`;
} break;
default: {
@@ -101,7 +100,8 @@ const moduleWrapper = tsserver => {
function fromEditorPath(str) {
switch (hostInfo) {
case `coc-nvim`: {
case `coc-nvim`:
case `neovim`: {
str = str.replace(/\.zip::/, `.zip/`);
// The path for coc-nvim is in format of /<pwd>/zipfile:/<pwd>/.yarn/...
// So in order to convert it back, we use .* to match all the thing
@@ -111,12 +111,6 @@ const moduleWrapper = tsserver => {
: str.replace(/^.*zipfile:/, ``);
} break;
case `neovim`: {
str = str.replace(/\.zip::/, `.zip/`);
// The path for neovim is in format of zipfile:///<pwd>/.yarn/...
return str.replace(/^zipfile:\/\//, ``);
} break;
case `vscode`:
default: {
return process.platform === `win32`
@@ -149,9 +143,8 @@ const moduleWrapper = tsserver => {
let hostInfo = `unknown`;
Object.assign(Session.prototype, {
onMessage(/** @type {string | object} */ message) {
const isStringMessage = typeof message === 'string';
const parsedMessage = isStringMessage ? JSON.parse(message) : message;
onMessage(/** @type {string} */ message) {
const parsedMessage = JSON.parse(message)
if (
parsedMessage != null &&
@@ -165,14 +158,9 @@ const moduleWrapper = tsserver => {
}
}
const processedMessageJSON = JSON.stringify(parsedMessage, (key, value) => {
return typeof value === 'string' ? fromEditorPath(value) : value;
});
return originalOnMessage.call(
this,
isStringMessage ? processedMessageJSON : JSON.parse(processedMessageJSON)
);
return originalOnMessage.call(this, JSON.stringify(parsedMessage, (key, value) => {
return typeof value === `string` ? fromEditorPath(value) : value;
}));
},
send(/** @type {any} */ msg) {

View File

@@ -34,7 +34,7 @@ packageExtensions:
doctrine@3.0.0:
dependencies:
assert: 2.0.0
moveable@0.28.0:
moveable@0.27.3:
dependencies:
"@daybrush/utils": 1.6.0
framework-utils: ^1.1.0
@@ -49,13 +49,13 @@ packageExtensions:
react-compat-css-styled@1.0.8:
dependencies:
react-simple-compat: 1.2.1
react-compat-moveable@0.16.0:
react-compat-moveable@0.15.2:
dependencies:
"@egjs/agent": ^2.2.1
"@egjs/children-differ": ^1.0.1
"@scena/matrix": 1.1.1
css-to-mat: ^1.0.3
gesto: ^1.7.0
gesto: ^1.4.0
overlap-area: ^1.0.0
react-simple-compat: 1.2.1
peerDependencies:
@@ -78,4 +78,4 @@ plugins:
- path: .yarn/plugins/@yarnpkg/plugin-outdated.cjs
spec: "https://mskelton.dev/yarn-outdated/v2"
yarnPath: .yarn/releases/yarn-3.2.0.cjs
yarnPath: .yarn/releases/yarn-3.1.1.cjs

View File

@@ -1,231 +1,3 @@
<!-- 8.5.4 START -->
# 8.5.4 (2022-05-30)
### Features and enhancements
- **Alerting:** Remove disabled flag for data source when migrating alerts. [#48559](https://github.com/grafana/grafana/pull/48559), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Show notification tab of legacy alerting only to editor. [#49624](https://github.com/grafana/grafana/pull/49624), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Update migration to migrate only alerts that belong to existing org\dashboard. [#49192](https://github.com/grafana/grafana/pull/49192), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **AzureMonitor:** Do not quote variables when a custom "All" variable option is used. [#49428](https://github.com/grafana/grafana/pull/49428), [@andresmgot](https://github.com/andresmgot)
- **AzureMonitor:** Update allowed namespaces. [#48468](https://github.com/grafana/grafana/pull/48468), [@jcolladokuri](https://github.com/jcolladokuri)
- **CloudMonitor:** Correctly encode default project response. [#49510](https://github.com/grafana/grafana/pull/49510), [@aangelisc](https://github.com/aangelisc)
- **Cloudwatch:** Add support for new AWS/RDS EBS\* metrics. [#48798](https://github.com/grafana/grafana/pull/48798), [@szymonpk](https://github.com/szymonpk)
- **InfluxDB:** Use backend for influxDB by default via feature toggle. [#48453](https://github.com/grafana/grafana/pull/48453), [@yesoreyeram](https://github.com/yesoreyeram)
- **Legend:** Use correct unit for percent and count calculations. [#49004](https://github.com/grafana/grafana/pull/49004), [@dprokop](https://github.com/dprokop)
- **LokI:** use millisecond steps in Grafana 8.5.x. [#48630](https://github.com/grafana/grafana/pull/48630), [@gabor](https://github.com/gabor)
- **Plugins:** Introduce HTTP 207 Multi Status response to api/ds/query. [#48550](https://github.com/grafana/grafana/pull/48550), [@wbrowne](https://github.com/wbrowne)
- **Reporting:** Improve PDF file size using grid layout. (Enterprise)
- **Transformations:** Add an All Unique Values Reducer. [#48653](https://github.com/grafana/grafana/pull/48653), [@josiahg](https://github.com/josiahg)
- **Transformers:** avoid error when the ExtractFields source field is missing. [#49368](https://github.com/grafana/grafana/pull/49368), [@wardbekker](https://github.com/wardbekker)
- **[v8.5.x] Alerting:** Update migration to migrate only alerts that belong to existing org\dashboard. [#49199](https://github.com/grafana/grafana/pull/49199), [@grafanabot](https://github.com/grafanabot)
- **[v8.5.x] Reporting:** Improve PDF file size using grid layout. (Enterprise)
### Bug fixes
- **Alerting:** Allow disabling override timings for notification policies. [#48648](https://github.com/grafana/grafana/pull/48648), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Allow serving images from custom url path. [#49022](https://github.com/grafana/grafana/pull/49022), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Apply Custom Headers to datasource queries. [#47860](https://github.com/grafana/grafana/pull/47860), [@joeblubaugh](https://github.com/joeblubaugh)
- **Alerting:** Fix RBAC actions for notification policies. [#49185](https://github.com/grafana/grafana/pull/49185), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Fix access to alerts for viewer with editor permissions when RBAC is disabled. [#49270](https://github.com/grafana/grafana/pull/49270), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Fix anonymous access to alerting. [#49203](https://github.com/grafana/grafana/pull/49203), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** correctly show all alerts in a folder. [#48684](https://github.com/grafana/grafana/pull/48684), [@gillesdemey](https://github.com/gillesdemey)
- **AzureMonitor:** Fixes metric definition for Azure Storage queue/file/blob/table resources. [#49101](https://github.com/grafana/grafana/pull/49101), [@aangelisc](https://github.com/aangelisc)
- **Dashboard:** Fix dashboard update permission check. [#48746](https://github.com/grafana/grafana/pull/48746), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **DashboardExport:** Fix exporting and importing dashboards where query data source ended up as incorrect. [#48410](https://github.com/grafana/grafana/pull/48410), [@torkelo](https://github.com/torkelo)
- **FileUpload:** clicking the `Upload file` button now opens the modal correctly. [#48766](https://github.com/grafana/grafana/pull/48766), [@ashharrison90](https://github.com/ashharrison90)
- **GrafanaUI:** Fix color of links in error Tooltips in light theme. [#49327](https://github.com/grafana/grafana/pull/49327), [@joshhunt](https://github.com/joshhunt)
- **LibraryPanels:** Fix library panels not connecting properly in imported dashboards. [#49161](https://github.com/grafana/grafana/pull/49161), [@joshhunt](https://github.com/joshhunt)
- **Loki:** Improve unpack parser handling. [#49074](https://github.com/grafana/grafana/pull/49074), [@gabor](https://github.com/gabor)
- **RolePicker:** Fix menu position on smaller screens. [#48429](https://github.com/grafana/grafana/pull/48429), [@Clarity-89](https://github.com/Clarity-89)
- **TimeRange:** Fixes updating time range from url and browser history. [#48657](https://github.com/grafana/grafana/pull/48657), [@torkelo](https://github.com/torkelo)
- **TimeSeries:** Fix detection & rendering of sparse datapoints. [#48841](https://github.com/grafana/grafana/pull/48841), [@leeoniya](https://github.com/leeoniya)
- **Timeseries:** Fix outside range stale state. [#49633](https://github.com/grafana/grafana/pull/49633), [@ryantxu](https://github.com/ryantxu)
- **Tooltip:** Fix links not legible in Tooltips when using light theme. [#48748](https://github.com/grafana/grafana/pull/48748), [@joshhunt](https://github.com/joshhunt)
- **Tooltip:** Sort decimals using standard numeric compare. [#49084](https://github.com/grafana/grafana/pull/49084), [@dprokop](https://github.com/dprokop)
- **Transforms:** Labels to fields, fix label picker layout. [#49304](https://github.com/grafana/grafana/pull/49304), [@torkelo](https://github.com/torkelo)
- **Variables:** Fixes issue with data source variables not updating queries with variable. [#49478](https://github.com/grafana/grafana/pull/49478), [@torkelo](https://github.com/torkelo)
- **[v8.5.x] Alerting:** Fix RBAC actions for notification policies (#49185). [#49348](https://github.com/grafana/grafana/pull/49348), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **[v8.5.x] Alerting:** Fix access to alerts for viewer with editor permissions when RBAC is disabled. [#49427](https://github.com/grafana/grafana/pull/49427), [@konrad147](https://github.com/konrad147)
- **[v8.5.x] Alerting:** Fix anonymous access to alerting. [#49268](https://github.com/grafana/grafana/pull/49268), [@yuri-tceretian](https://github.com/yuri-tceretian)
### Breaking changes
For a data source query made via /api/ds/query :
- If the `DatasourceQueryMultiStatus` feature is enabled and
- The data source response has an error set as part of the `DataResponse`, the resulting HTTP status code is now `207 Multi Status` instead of `400 Bad gateway`
- If the `DatasourceQueryMultiStatus` feature is **not** enabled and
- The data source response has an error set as part of the `DataResponse`, the resulting HTTP status code is `400 Bad Request` (no breaking change)
--> Issue [#48550](https://github.com/grafana/grafana/issues/48550)
<!-- 8.5.4 END -->
<!-- 8.5.3 START -->
# 8.5.3
### Bug fixes
- **Security:** fixes CVE-2022-29170. [#49240](https://github.com/grafana/grafana/pull/49240), [@xlson](https://github.com/xlson)
<!-- 8.5.3 END -->
<!-- 8.5.2 START -->
# 8.5.2 (2022-05-03)
### Features and enhancements
- **Alerting:** Add safeguard for migrations that might cause dataloss. [#48526](https://github.com/grafana/grafana/pull/48526), [@JohnnyQQQQ](https://github.com/JohnnyQQQQ)
- **AzureMonitor:** Add support for not equals and startsWith operators when creating Azure Metrics dimension filters. [#48077](https://github.com/grafana/grafana/pull/48077), [@aangelisc](https://github.com/aangelisc)
- **Elasticsearch:** Add deprecation notice for < 7.10 versions. [#48506](https://github.com/grafana/grafana/pull/48506), [@ivanahuckova](https://github.com/ivanahuckova)
- **Traces:** Filter by service/span name and operation in Tempo and Jaeger. [#48209](https://github.com/grafana/grafana/pull/48209), [@joey-grafana](https://github.com/joey-grafana)
### Bug fixes
- **AzureAd Oauth:** Fix strictMode to reject users without an assigned role. [#48474](https://github.com/grafana/grafana/pull/48474), [@kyschouv](https://github.com/kyschouv)
- **CloudWatch:** Fix variable query tag migration. [#48587](https://github.com/grafana/grafana/pull/48587), [@iwysiu](https://github.com/iwysiu)
- **Plugins:** Ensure catching all appropriate 4xx api/ds/query scenarios. [#47565](https://github.com/grafana/grafana/pull/47565), [@wbrowne](https://github.com/wbrowne)
<!-- 8.5.2 END -->
<!-- 8.5.1 START -->
# 8.5.1 (2022-04-27)
### Bug fixes
- **Azure Monitor:** Fix space character encoding for metrics query link to Azure Portal. [#48139](https://github.com/grafana/grafana/pull/48139), [@kevinwcyu](https://github.com/kevinwcyu)
- **CloudWatch:** Prevent log groups from being removed on query change. [#47994](https://github.com/grafana/grafana/pull/47994), [@asimpson](https://github.com/asimpson)
- **Cloudwatch:** Fix template variables in variable queries. [#48140](https://github.com/grafana/grafana/pull/48140), [@iwysiu](https://github.com/iwysiu)
- **Explore:** Prevent direct access to explore if disabled via feature toggle. [#47714](https://github.com/grafana/grafana/pull/47714), [@Elfo404](https://github.com/Elfo404)
- **InfluxDB:** Fixes invalid no data alerts. [#48295](https://github.com/grafana/grafana/pull/48295), [@yesoreyeram](https://github.com/yesoreyeram)
- **Navigation:** Prevent navbar briefly showing on login. [#47968](https://github.com/grafana/grafana/pull/47968), [@ashharrison90](https://github.com/ashharrison90)
- **Plugins Catalog:** Fix styling of hyperlinks. [#48196](https://github.com/grafana/grafana/pull/48196), [@marefr](https://github.com/marefr)
- **Table:** Fix filter crashes table. [#48258](https://github.com/grafana/grafana/pull/48258), [@zoltanbedi](https://github.com/zoltanbedi)
- **TimeSeries:** Properly stack series with missing datapoints. [#48321](https://github.com/grafana/grafana/pull/48321), [@leeoniya](https://github.com/leeoniya)
<!-- 8.5.1 END -->
<!-- 8.5.0 START -->
# 8.5.0 (2022-04-21)
### Features and enhancements
- **Alerting:** Add contact points provisioning API. [#47197](https://github.com/grafana/grafana/pull/47197), [@JohnnyQQQQ](https://github.com/JohnnyQQQQ)
- **Alerting:** Add resolved count to notification title when both firing and resolved present. [#46697](https://github.com/grafana/grafana/pull/46697), [@JacobsonMT](https://github.com/JacobsonMT)
- **Alerting:** Alert rule should wait For duration when execution error state is Alerting. [#47052](https://github.com/grafana/grafana/pull/47052), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **Alerting:** Classic conditions can now display multiple values. [#46971](https://github.com/grafana/grafana/pull/46971), [@gotjosh](https://github.com/gotjosh)
- **Alerting:** Display query from grafana-managed alert rules on `/api/v1/rules`. [#45969](https://github.com/grafana/grafana/pull/45969), [@gotjosh](https://github.com/gotjosh)
- **Alerting:** Enhance support for arbitrary group names in managed alerts. [#47785](https://github.com/grafana/grafana/pull/47785), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** add field for custom slack endpoint. [#45751](https://github.com/grafana/grafana/pull/45751), [@nathanrodman](https://github.com/nathanrodman)
- **Azure Monitor :** Adding json formatting of error messages in Panel Header Corner and Inspect Error Tab. [#44877](https://github.com/grafana/grafana/pull/44877), [@yaelleC](https://github.com/yaelleC)
- **Azure Monitor:** Add 2 more Curated Dashboards for VM Insights. [#45187](https://github.com/grafana/grafana/pull/45187), [@jcolladokuri](https://github.com/jcolladokuri)
- **CloudWatch:** Handle new error codes for MetricInsights. [#47033](https://github.com/grafana/grafana/pull/47033), [@Gabrielopesantos](https://github.com/Gabrielopesantos)
- **Dashboards:** show changes in save dialog. [#46557](https://github.com/grafana/grafana/pull/46557), [@ryantxu](https://github.com/ryantxu)
- **DataSource:** Default data source is no longer a persisted state but just the default data source for new panels. [#45132](https://github.com/grafana/grafana/pull/45132), [@torkelo](https://github.com/torkelo)
- **DataSourcePlugin API:** Allow queries import when changing data source type. [#47435](https://github.com/grafana/grafana/pull/47435), [@dprokop](https://github.com/dprokop)
- **Explore:** Remove return to panel button. [#45018](https://github.com/grafana/grafana/pull/45018), [@gelicia](https://github.com/gelicia)
- **Explore:** allow users to save Explore state to a new panel in a new dashboard. [#45148](https://github.com/grafana/grafana/pull/45148), [@Elfo404](https://github.com/Elfo404)
- **Instrumentation:** Proxy status code correction and various improvements. [#47473](https://github.com/grafana/grafana/pull/47473), [@marefr](https://github.com/marefr)
- **Logging:** Introduce feature toggle to activate gokit/log format. [#47336](https://github.com/grafana/grafana/pull/47336), [@ying-jeanne](https://github.com/ying-jeanne)
- **NewsPanel:** Add support for Atom feeds. [#45390](https://github.com/grafana/grafana/pull/45390), [@kaydelaney](https://github.com/kaydelaney)
- **Plugins:** Add deprecation notice for /api/tsdb/query endpoint. [#45238](https://github.com/grafana/grafana/pull/45238), [@wbrowne](https://github.com/wbrowne)
- **Plugins:** Adding support for traceID field to accept variables. [#45559](https://github.com/grafana/grafana/pull/45559), [@vinisdl](https://github.com/vinisdl)
- **PostgreSQL:** \_\_unixEpochGroup to support arithmetic expression as argument. [#46764](https://github.com/grafana/grafana/pull/46764), [@s0nik42](https://github.com/s0nik42)
- **Profile/Help:** Expose option to disable profile section and help menu. [#46308](https://github.com/grafana/grafana/pull/46308), [@cameronwaterman](https://github.com/cameronwaterman)
- **Prometheus:** Enable new visual query builder by default. [#46634](https://github.com/grafana/grafana/pull/46634), [@torkelo](https://github.com/torkelo)
- **SAML:** Allow disabling of SAML signups. [#47481](https://github.com/grafana/grafana/pull/47481), [@mmandrus](https://github.com/mmandrus)
- **SAML:** Allow disabling of SAML signups. (Enterprise)
- **Table:** New pagination option. [#45732](https://github.com/grafana/grafana/pull/45732), [@zoltanbedi](https://github.com/zoltanbedi)
- **TablePanel:** Add cell inspect option. [#45620](https://github.com/grafana/grafana/pull/45620), [@dprokop](https://github.com/dprokop)
- **Tempo / Trace Viewer:** Support Span Links in Trace Viewer. [#45632](https://github.com/grafana/grafana/pull/45632), [@Shachi16](https://github.com/Shachi16)
- **Tempo:** Download span references in data inspector. [#47074](https://github.com/grafana/grafana/pull/47074), [@connorlindsey](https://github.com/connorlindsey)
- **Tempo:** Separate trace to logs and loki search datasource config. [#46655](https://github.com/grafana/grafana/pull/46655), [@connorlindsey](https://github.com/connorlindsey)
- **Trace View:** Show number of child spans. [#44393](https://github.com/grafana/grafana/pull/44393), [@tharun208](https://github.com/tharun208)
- **Transformations:** Support escaped characters in key-value pair parsing. [#47901](https://github.com/grafana/grafana/pull/47901), [@aangelisc](https://github.com/aangelisc)
### Bug fixes
- **Azure Monitor:** Bug Fix for incorrect variable cascading for template variables. [#47478](https://github.com/grafana/grafana/pull/47478), [@jcolladokuri](https://github.com/jcolladokuri)
- **CloudWatch:** List all metrics properly in SQL autocomplete. [#45898](https://github.com/grafana/grafana/pull/45898), [@sunker](https://github.com/sunker)
- **CloudWatch:** Run query on blur in logs query field. [#47454](https://github.com/grafana/grafana/pull/47454), [@fridgepoet](https://github.com/fridgepoet)
- **Dashboard:** Template variables are now correctly persisted when clicking breadcrumb links. [#46790](https://github.com/grafana/grafana/pull/46790), [@ashharrison90](https://github.com/ashharrison90)
- **DashboardPage:** Remember scroll position when coming back panel edit / view panel. [#47639](https://github.com/grafana/grafana/pull/47639), [@torkelo](https://github.com/torkelo)
- **Panel Edit:** Options search now works correctly when a logarithmic scale option is set. [#47927](https://github.com/grafana/grafana/pull/47927), [@ashharrison90](https://github.com/ashharrison90)
- **Postgres:** Return tables with hyphenated schemes. [#45754](https://github.com/grafana/grafana/pull/45754), [@zuchka](https://github.com/zuchka)
- **Table panel:** Fix horizontal scrolling when pagination is enabled. [#47776](https://github.com/grafana/grafana/pull/47776), [@dprokop](https://github.com/dprokop)
- **Variables:** Ensure variables in query params are correctly recognised. [#47049](https://github.com/grafana/grafana/pull/47049), [@ashharrison90](https://github.com/ashharrison90)
- **Variables:** Fix crash when changing query variable datasource. [#44957](https://github.com/grafana/grafana/pull/44957), [@joshhunt](https://github.com/joshhunt)
- **Visualizations:** Stack negative-valued series downwards. [#47373](https://github.com/grafana/grafana/pull/47373), [@leeoniya](https://github.com/leeoniya)
### Breaking changes
For a proxied request, e.g. Grafana's datasource or plugin proxy:
- If the request is cancelled, e.g. from the browser/by the client, the HTTP status code is now `499 Client closed request` instead of `502 Bad gateway`
- If the request times out, e.g. takes longer time than allowed, the HTTP status code is now `504 Gateway timeout` instead of `502 Bad gateway`. Issue [#47473](https://github.com/grafana/grafana/issues/47473)
The change in behavior is that negative-valued series are now stacked downwards from 0 (in their own stacks), rather than downwards from the top of the positive stacks. We now automatically group stacks by Draw style, Line interpolation, and Bar alignment, making it impossible to stack bars on top of lines, or smooth lines on top of stepped lines. Issue [#47373](https://github.com/grafana/grafana/issues/47373)
The meaning of the default data source has now changed from being a persisted property in a panel. Before when you selected the default data source for a panel and later changed the default data source to another data source it would change all panels who were configured to use the default data source. From now on the default data source is just the default for new panels and changing the default will not impact any currently saved dashboards. Issue [#45132](https://github.com/grafana/grafana/issues/45132)
The Tooltip component provided by `@grafana/ui` is no longer automatically interactive (that is you can hover onto it and click a link or select text). It will from now on by default close automatically when you mouse out from the trigger element. To make tooltips behave like before set the new `interactive` property to true.
Issue [#45053](https://github.com/grafana/grafana/issues/45053)
### Deprecations
`/api/tsdb/query` API has been deprecated and will be removed in a future release. Use [/api/ds/query](https://grafana.com/docs/grafana/latest/http_api/data_source/#query-a-data-source) instead. Issue [#45238](https://github.com/grafana/grafana/issues/45238)
### Plugin development fixes & changes
- **Card:** Increase clickable area when meta items are present. [#47935](https://github.com/grafana/grafana/pull/47935), [@ashharrison90](https://github.com/ashharrison90)
- **Loki:** Fix operator description propup from being shortened. [#46575](https://github.com/grafana/grafana/pull/46575), [@glintik](https://github.com/glintik)
- **Tooltips:** Make tooltips non interactive by default. [#45053](https://github.com/grafana/grafana/pull/45053), [@torkelo](https://github.com/torkelo)
<!-- 8.5.0 END -->
<!-- 8.5.0-beta1 START -->
# 8.5.0-beta1 (2022-04-06)
### Features and enhancements
- Add config option to enable/disable reporting. (Enterprise)
- **Alerting:** Accurately set value for prom-compatible APIs. [#47216](https://github.com/grafana/grafana/pull/47216), [@gotjosh](https://github.com/gotjosh)
- **Alerting:** Provisioning API - Notification Policies. [#46755](https://github.com/grafana/grafana/pull/46755), [@alexweav](https://github.com/alexweav)
- **Alerting:** Notification URL points to alert view page instead of alert edit page. [#47752](https://github.com/grafana/grafana/pull/47752), [@joeblubaugh](https://github.com/joeblubaugh)
- **Analytics:** Enable grafana and plugin update checks to be operated independently. [#46352](https://github.com/grafana/grafana/pull/46352), [@wbrowne](https://github.com/wbrowne)
- **Azure Monitor:** Add support for multiple template variables in resource picker. [#46215](https://github.com/grafana/grafana/pull/46215), [@sarahzinger](https://github.com/sarahzinger)
- **Caching:** Add separate TTL for resources cache. (Enterprise)
- **Caching:** add support for TLS configuration for Redis Cluster. (Enterprise)
- **NewsPanel:** Remove Use Proxy option and update documentation with recommendations. [#47189](https://github.com/grafana/grafana/pull/47189), [@joshhunt](https://github.com/joshhunt)
- **OAuth:** Sync GitHub OAuth user name to Grafana if it's set. [#45438](https://github.com/grafana/grafana/pull/45438), [@pallxk](https://github.com/pallxk)
### Bug fixes
- **Plugins:** Fix Default Nav URL for dashboard includes. [#47143](https://github.com/grafana/grafana/pull/47143), [@wbrowne](https://github.com/wbrowne)
### Breaking changes
When user is using Github OAuth, GitHub login is showed as both Grafana login and name. Now the GitHub name is showed as Grafana name, and GitHub login is showed as Grafana Login. Issue [#45438](https://github.com/grafana/grafana/issues/45438)
The meaning of the default data source has now changed from being a persisted property in a panel. Before when you selected the default data source for a panel and later changed the default data source to another data source it would change all panels who were configured to use the default data source. From now on the default data source is just the default for new panels and changing the default will not impact any currently saved dashboards. Issue [#45132](https://github.com/grafana/grafana/issues/45132)
<!-- 8.4.7 START -->
# 8.4.7 (2022-04-19)
### Features and enhancements
- **CloudWatch:** Added missing MemoryDB Namespace metrics. [#47290](https://github.com/grafana/grafana/pull/47290), [@james-deee](https://github.com/james-deee)
- **Histogram Panel:** Take decimal into consideration. [#47330](https://github.com/grafana/grafana/pull/47330), [@mdvictor](https://github.com/mdvictor)
- **TimeSeries:** Sort tooltip values based on raw values. [#46738](https://github.com/grafana/grafana/pull/46738), [@dprokop](https://github.com/dprokop)
### Bug fixes
- **API:** Include userId, orgId, uname in request logging middleware. [#47183](https://github.com/grafana/grafana/pull/47183), [@marefr](https://github.com/marefr)
- **Elasticsearch:** Respect maxConcurrentShardRequests datasource setting. [#47120](https://github.com/grafana/grafana/pull/47120), [@alexandrst88](https://github.com/alexandrst88)
<!-- 8.4.7 END -->
<!-- 8.5.0-beta1 END -->
<!-- 8.4.6 START -->
# 8.4.6 (2022-04-12)
@@ -396,43 +168,6 @@ AngularJS plugin support is now in a deprecated state, meaning it will be remove
- **News:** Reload feed when changing the time range or refreshing. [#42217](https://github.com/grafana/grafana/pull/42217), [@ashharrison90](https://github.com/ashharrison90)
- **UI/Plot:** Implement keyboard controls for plot cursor. [#42244](https://github.com/grafana/grafana/pull/42244), [@kaydelaney](https://github.com/kaydelaney)
<!-- 8.3.7 START -->
# 8.3.7 (2022-03-01)
### Bug fixes
- **Provisioning:** Ensure that the default value for orgID is set when provisioning datasources to be deleted. [#44244](https://github.com/grafana/grafana/pull/44244), [@filewalkwithme](https://github.com/filewalkwithme)
<!-- 8.3.7 END -->
<!-- 8.3.6 START -->
# 8.3.6 (2022-02-09)
### Features and enhancements
- **Cloud Monitoring:** Reduce request size when listing labels. [#44365](https://github.com/grafana/grafana/pull/44365), [@mtanda](https://github.com/mtanda)
- **Explore:** Show scalar data result in a table instead of graph. [#44362](https://github.com/grafana/grafana/pull/44362), [@tharun208](https://github.com/tharun208)
- **Snapshots:** Updates the default external snapshot server URL. [#44563](https://github.com/grafana/grafana/pull/44563), [@DanCech](https://github.com/DanCech)
- **Table:** Makes footer not overlap table content. [#44210](https://github.com/grafana/grafana/pull/44210), [@dprokop](https://github.com/dprokop)
- **Tempo:** Add request histogram to service graph datalink. [#44671](https://github.com/grafana/grafana/pull/44671), [@connorlindsey](https://github.com/connorlindsey)
- **Tempo:** Add time range to tempo search query behind a feature flag. [#43811](https://github.com/grafana/grafana/pull/43811), [@connorlindsey](https://github.com/connorlindsey)
- **Tempo:** Auto-clear results when changing query type. [#44390](https://github.com/grafana/grafana/pull/44390), [@connorlindsey](https://github.com/connorlindsey)
- **Tempo:** Display start time in search results as relative time. [#44568](https://github.com/grafana/grafana/pull/44568), [@tharun208](https://github.com/tharun208)
### Bug fixes
- **CloudMonitoring:** Fix resource labels in query editor. [#44550](https://github.com/grafana/grafana/pull/44550), [@iwysiu](https://github.com/iwysiu)
- **Cursor sync:** Apply the settings without saving the dashboard. [#44270](https://github.com/grafana/grafana/pull/44270), [@dprokop](https://github.com/dprokop)
- **LibraryPanels:** Fix for Error while cleaning library panels. [#45033](https://github.com/grafana/grafana/pull/45033), [@hugohaggmark](https://github.com/hugohaggmark)
- **Logs Panel:** fix timestamp parsing for string dates without timezone. [#44664](https://github.com/grafana/grafana/pull/44664), [@Elfo404](https://github.com/Elfo404)
- **Prometheus:** Fix some of the alerting queries that use reduce/math operation. [#44380](https://github.com/grafana/grafana/pull/44380), [@ivanahuckova](https://github.com/ivanahuckova)
- **TablePanel:** Fix ad-hoc variables not working on default datasources. [#44314](https://github.com/grafana/grafana/pull/44314), [@joshhunt](https://github.com/joshhunt)
- **Text Panel:** Fix alignment of elements. [#44313](https://github.com/grafana/grafana/pull/44313), [@ashharrison90](https://github.com/ashharrison90)
- **Variables:** Fix for constant variables in self referencing links. [#44631](https://github.com/grafana/grafana/pull/44631), [@hugohaggmark](https://github.com/hugohaggmark)
<!-- 8.3.6 END -->
<!-- 8.4.0-beta1 END -->
<!-- 8.3.5 START -->

View File

@@ -20,7 +20,7 @@ COPY emails emails
ENV NODE_ENV production
RUN yarn build
FROM golang:1.17.11-alpine3.15 as go-builder
FROM golang:1.17.8-alpine3.15 as go-builder
RUN apk add --no-cache gcc g++ make

View File

@@ -21,7 +21,7 @@ COPY emails emails
ENV NODE_ENV production
RUN yarn build
FROM golang:1.17.11 AS go-builder
FROM golang:1.17.8 AS go-builder
WORKDIR /src/grafana

View File

@@ -100,7 +100,7 @@ The current team members are:
- Ryan McKinley ([Grafana Labs](https://grafana.com/))
- Sofia Papagiannaki ([Grafana Labs](https://grafana.com/))
- Stephanie Closson ([Grafana Labs](https://grafana.com/))
- Tobias Skarhed ([CERN](https://home.web.cern.ch/))
- Tobias Skarhed ([Grafana Labs](https://grafana.com/))
- Torkel Ödegaard ([Grafana Labs](https://grafana.com/))
- Utkarsh Bhatnagar ([Tinder](https://www.tinder.com/))
- Will Browne ([Grafana Labs](https://grafana.com/))

View File

@@ -77,11 +77,11 @@ Instructions for setting up filters in Gmail can be found [here](#setting-up-gma
## 2. Ensure the issue contains basic information
Before triaging an issue very far, make sure that the issue's author provided the standard issue information. This will help you make an educated recommendation on how to categorize the issue. The Grafana project utilizes [GitHub issue templates](https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository) to guide contributors to provide standard information that must be included for each type of template or type of issue.
Before triaging an issue very far, make sure that the issue's author provided the standard issue information. This will help you make an educated recommendation on how to categorize the issue. The Grafana project utilizes [GitHub issue templates](https://help.github.com/en/articles/creating-issue-templates-for-your-repository) to guide contributors to provide standard information that must be included for each type of template or type of issue.
### Standard issue information that must be included
Given a certain [issue template](https://github.com/grafana/grafana/issues/new/choose) have been used by the issue author or depending how the issue is perceived by the issue triage responsible, the following should help you understand what standard issue information that must be included.
Given a certain [issue template](<[template](https://github.com/grafana/grafana/issues/new/choose)>) have been used by the issue author or depending how the issue is perceived by the issue triage responsible, the following should help you understand what standard issue information that must be included.
#### Bug reports
@@ -192,7 +192,7 @@ First, evaluate if the documentation makes sense to be included in the Grafana p
- Is this something we want/can maintain as a project?
- Is this referring to usage of some specific integration/tool and in that case is that a popular use case in combination with Grafana?
- If unsure, kindly and politely add a comment explaining that we would need [upvotes](https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments) to identify that lots of other users want/need this.
- If unsure, kindly and politely add a comment explaining that we would need [upvotes](https://help.github.com/en/articles/about-conversations-on-github#reacting-to-ideas-in-comments) to identify that lots of other users want/need this.
Second, label the issue `type/docs` and at least one `area/*` or `datasource/*` label.
@@ -296,13 +296,13 @@ In many cases the issue author or community as a whole is more suitable to contr
## Investigation of issues
When an issue has all basic information provided, but the triage responsible haven't been able to reproduce the reported problem at a first glance, the issue is labeled [Needs investigation](https://github.com/grafana/grafana/labels/needs%20investigation). Depending on the perceived severity and/or number of [upvotes](https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments), the investigation will either be delegated to another maintainer for further investigation or put on hold until someone else (maintainer or contributor) picks it up and eventually starts investigating it.
When an issue has all basic information provided, but the triage responsible haven't been able to reproduce the reported problem at a first glance, the issue is labeled [Needs investigation](https://github.com/grafana/grafana/labels/needs%20investigation). Depending on the perceived severity and/or number of [upvotes](https://help.github.com/en/articles/about-conversations-on-github#reacting-to-ideas-in-comments), the investigation will either be delegated to another maintainer for further investigation or put on hold until someone else (maintainer or contributor) picks it up and eventually starts investigating it.
Investigating issues can be a very time consuming task, especially for the maintainers, given the huge number of combinations of plugins, data sources, platforms, databases, browsers, tools, hardware, integrations, versions and cloud services, etc that are being used with Grafana. There is a certain number of combinations that are more common than others, and these are in general easier for maintainers to investigate.
For some other combinations it may not be possible at all for a maintainer to setup a proper test environment to investigate the issue. In these cases we really appreciate any help we can get from the community. Otherwise the issue is highly likely to be closed.
Even if you don't have the time or knowledge to investigate an issue we highly recommend that you [upvote](https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments) the issue if you happen to have the same problem. If you have further details that may help investigating the issue please provide as much information as possible.
Even if you don't have the time or knowledge to investigate an issue we highly recommend that you [upvote](https://help.github.com/en/articles/about-conversations-on-github#reacting-to-ideas-in-comments) the issue if you happen to have the same problem. If you have further details that may help investigating the issue please provide as much information as possible.
## Automation

View File

@@ -1,14 +1,14 @@
![Grafana](docs/logo-horizontal.png)
The open-source platform for monitoring and observability
The open-source platform for monitoring and observability.
[![License](https://img.shields.io/github/license/grafana/grafana)](LICENSE)
[![Drone](https://drone.grafana.net/api/badges/grafana/grafana/status.svg)](https://drone.grafana.net/grafana/grafana)
[![Go Report Card](https://goreportcard.com/badge/github.com/grafana/grafana)](https://goreportcard.com/report/github.com/grafana/grafana)
Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data-driven culture:
Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data driven culture:
- **Visualizations:** Fast and flexible client side graphs with a multitude of options. Panel plugins offer many different ways to visualize metrics and logs.
- **Visualize:** Fast and flexible client side graphs with a multitude of options. Panel plugins offer many different ways to visualize metrics and logs.
- **Dynamic Dashboards:** Create dynamic & reusable dashboards with template variables that appear as dropdowns at the top of the dashboard.
- **Explore Metrics:** Explore your data through ad-hoc queries and dynamic drilldown. Split view and compare different time ranges, queries and data sources side by side.
- **Explore Logs:** Experience the magic of switching from metrics to logs with preserved label filters. Quickly search through all your logs or streaming them live.

View File

@@ -15,7 +15,6 @@ Upgrading Go or Node.js requires making changes in many different files. See bel
- `grafana/build-container`
- Appveyor
- Dockerfile
- `.github/workflows/publish.yml`
## Go dependencies

View File

@@ -9,9 +9,6 @@ app_mode = production
# instance name, defaults to HOSTNAME environment variable value or hostname if HOSTNAME var is empty
instance_name = ${HOSTNAME}
# force migration will run migrations that might cause dataloss
force_migration = false
#################################### Paths ###############################
[paths]
# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)
@@ -196,19 +193,12 @@ reporting_enabled = true
reporting_distributor = grafana-labs
# Set to false to disable all checks to https://grafana.com
# for new versions of grafana. The check is used
# in some UI views to notify that a grafana update exists.
# for new versions (grafana itself and plugins), check is used
# in some UI views to notify that grafana or plugin update exists
# This option does not cause any auto updates, nor send any information
# only a GET request to https://raw.githubusercontent.com/grafana/grafana/main/latest.json to get the latest version.
# only a GET request to https://grafana.com to get latest versions
check_for_updates = true
# Set to false to disable all checks to https://grafana.com
# for new versions of plugins. The check is used
# in some UI views to notify that a plugin update exists.
# This option does not cause any auto updates, nor send any information
# only a GET request to https://grafana.com to get the latest versions.
check_for_plugin_updates = true
# Google Analytics universal tracking code, only enabled if you specify an id here
google_analytics_ua_id =
@@ -233,9 +223,6 @@ application_insights_connection_string =
# Optional. Specifies an Application Insights endpoint URL where the endpoint string is wrapped in backticks ``.
application_insights_endpoint_url =
# Controls if the UI contains any links to user feedback forms
feedback_links_enabled = true
#################################### Security ############################
[security]
# disable creation of admin user on first start of grafana
@@ -305,18 +292,6 @@ content_security_policy = false
# $ROOT_PATH is server.root_url without the protocol.
content_security_policy_template = """script-src 'self' 'unsafe-eval' 'unsafe-inline' 'strict-dynamic' $NONCE;object-src 'none';font-src 'self';style-src 'self' 'unsafe-inline' blob:;img-src * data:;base-uri 'self';connect-src 'self' grafana.com ws://$ROOT_PATH wss://$ROOT_PATH;manifest-src 'self';media-src 'none';form-action 'self';"""
# Controls if old angular plugins are supported or not. This will be disabled by default in future release
angular_support_enabled = true
[security.encryption]
# Defines the time-to-live (TTL) for decrypted data encryption keys stored in memory (cache).
# Please note that small values may cause performance issues due to a high frequency decryption operations.
data_keys_cache_ttl = 15m
# Defines the frequency of data encryption keys cache cleanup interval.
# On every interval, decrypted data encryption keys that reached the TTL are removed from the cache.
data_keys_cache_cleanup_interval = 1m
#################################### Snapshots ###########################
[snapshots]
# snapshot sharing options
@@ -521,7 +496,6 @@ auth_url = https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize
token_url = https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
allowed_domains =
allowed_groups =
role_attribute_strict = false
#################################### Okta OAuth #######################
[auth.okta]
@@ -903,16 +877,6 @@ max_annotations_to_keep =
# Enable the Explore section
enabled = true
#################################### Help #############################
[help]
# Enable the Help section
enabled = true
#################################### Profile #############################
[profile]
# Enable the Profile section
enabled = true
#################################### Query History #############################
[query_history]
# Enable the Query history
@@ -1137,12 +1101,6 @@ license_path =
# enable = feature1,feature2
enable =
# The new prometheus visual query builder
promQueryBuilder = true
# Experimental Explore to Dashboard workflow
explore2Dashboard = true
# feature1 = true
# feature2 = false

View File

@@ -9,9 +9,6 @@
# instance name, defaults to HOSTNAME environment variable value or hostname if HOSTNAME var is empty
;instance_name = ${HOSTNAME}
# force migration will run migrations that might cause dataloss
;force_migration = false
#################################### Paths ####################################
[paths]
# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)
@@ -201,20 +198,13 @@
# The name of the distributor of the Grafana instance. Ex hosted-grafana, grafana-labs
;reporting_distributor = grafana-labs
# Set to false to disable all checks to https://grafana.com
# for new versions of grafana. The check is used
# in some UI views to notify that a grafana update exists.
# Set to false to disable all checks to https://grafana.net
# for new versions (grafana itself and plugins), check is used
# in some UI views to notify that grafana or plugin update exists
# This option does not cause any auto updates, nor send any information
# only a GET request to https://raw.githubusercontent.com/grafana/grafana/main/latest.json to get the latest version.
# only a GET request to http://grafana.com to get latest versions
;check_for_updates = true
# Set to false to disable all checks to https://grafana.com
# for new versions of plugins. The check is used
# in some UI views to notify that a plugin update exists.
# This option does not cause any auto updates, nor send any information
# only a GET request to https://grafana.com to get the latest versions.
;check_for_plugin_updates = true
# Google Analytics universal tracking code, only enabled if you specify an id here
;google_analytics_ua_id =
@@ -233,9 +223,6 @@
# Rudderstack Config url, optional, used by Rudderstack SDK to fetch source config
;rudderstack_config_url =
# Controls if the UI contains any links to user feedback forms
;feedback_links_enabled = true
#################################### Security ####################################
[security]
# disable creation of admin user on first start of grafana
@@ -305,18 +292,6 @@
# $ROOT_PATH is server.root_url without the protocol.
;content_security_policy_template = """script-src 'self' 'unsafe-eval' 'unsafe-inline' 'strict-dynamic' $NONCE;object-src 'none';font-src 'self';style-src 'self' 'unsafe-inline' blob:;img-src * data:;base-uri 'self';connect-src 'self' grafana.com ws://$ROOT_PATH wss://$ROOT_PATH;manifest-src 'self';media-src 'none';form-action 'self';"""
# Controls if old angular plugins are supported or not. This will be disabled by default in future release
;angular_support_enabled = true
[security.encryption]
# Defines the time-to-live (TTL) for decrypted data encryption keys stored in memory (cache).
# Please note that small values may cause performance issues due to a high frequency decryption operations.
;data_keys_cache_ttl = 15m
# Defines the frequency of data encryption keys cache cleanup interval.
# On every interval, decrypted data encryption keys that reached the TTL are removed from the cache.
;data_keys_cache_cleanup_interval = 1m
#################################### Snapshots ###########################
[snapshots]
# snapshot sharing options
@@ -506,7 +481,6 @@
;token_url = https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
;allowed_domains =
;allowed_groups =
;role_attribute_strict = false
#################################### Okta OAuth #######################
[auth.okta]
@@ -885,16 +859,6 @@
# Enable the Explore section
;enabled = true
#################################### Help #############################
[help]
# Enable the Help section
;enabled = true
#################################### Profile #############################
[profile]
# Enable the Profile section
;enabled = true
#################################### Query History #############################
[query_history]
# Enable the Query history

View File

@@ -2,8 +2,6 @@
Grafana uses a _bus_ to pass messages between different parts of the application. All communication over the bus happens synchronously.
> **Deprecated:** The bus has officially been deprecated, however, we're still using the command/query objects paradigms.
There are three types of messages: _events_, _commands_, and _queries_.
## Events

View File

@@ -99,8 +99,6 @@ To add a migration:
- In the `AddMigrations` function, find the `addXxxMigration` function for the service you want to create a migration for.
- At the end of the `addXxxMigration` function, register your migration:
> **NOTE:** Putting migrations behind feature flags is no longer recommended as it may cause the migration skip integration testing.
[Example](https://github.com/grafana/grafana/blob/00d0640b6e778ddaca021670fe851fe00982acf2/pkg/services/sqlstore/migrations/migrations.go#L55-L70)
### Implement `DatabaseMigrator`

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

View File

@@ -1,119 +0,0 @@
# Handling breaking changes in Grafana frontend APIs
This guide tries to help you identify and communicate breaking changes introduced to our frontend API.
- [What are our public APIs?](#what-are-our-public-apis)
- [What is Levitate?](#what-is-levitate)
- [How does the CI workflow look like?](#how-does-the-ci-workflow-look-like)
- [I received a comment on my PR, what does it mean?](#i-received-a-comment-on-my-pr-what-does-it-mean)
- [**I know it's a breaking change, what's next?**](#i-know-its-a-breaking-change-whats-next)
- [Introduce breaking changes only in major versions](#introduce-breaking-changes-only-in-major-versions)
- [Deprecate first](#deprecate-first)
- [Communicate](#communicate)
- [I still have questions, who can help me out?](#i-still-have-questions-who-can-help-me-out)
---
## What are our public APIs?
The Grafana frontend codebase is exposing functionality through NPM packages to make plugin development easier and faster.
These packages live in the `/packages` folder and contain packages like:
- `@grafana/data`
- `@grafana/runtime`
- `@grafana/toolkit`
- `@grafana/ui`
- etc. ([They can be viewed here](https://github.com/grafana/grafana/tree/main/packages)
Any change that causes dependent software to behave differently is considered to be breaking.
## What is Levitate?
[`@grafana/levitate`](https://github.com/grafana/levitate) is a tool created by Grafana that can show breaking changes between two versions of a **TypeScript** package or a source file.
It can list exported members of an NPM package or imports used by an NPM package,
**but we are mainly using it for comparing different versions of the same package to see changes in the exported members.**
A Github workflow runs against every pull request and comments a hint in case there are
possible breaking changes. It also adds the `"breaking change"` label to the pull request.
## How does the CI workflow look like?
<img src="./breaking-changes-workflow.png" alt="CI workflow" width="700" />
## I received a comment on my PR, what does it mean?
![Levitate comment](./breaking-changes-comment-screenshot.png)
Receiving a comment like the one above does not necessarily mean that you actually introduced breaking
changes (as certain edge cases are still not covered by the tool), but as there is a good chance we rather raise attention.
By clicking the links in the comment ("more info" or "Check console output") you can view more detailed information about what triggered the notification.
**Removed exported members** (console view):<br />
This means that some previously exported members won't be available in the newer version of the package which can break dependent plugins.
![](./breaking-changes-console-screenshot-1.png)
**Changed an existing member** (console view):<br />
This means that a member was changed in a way that can break dependent plugins.
![](./breaking-changes-console-screenshot-2.png)
**No breaking changes** (console view):<br />
Seeing this suggests that whilst changes were made, most probably none of them were breaking. You are good to go! 👏
![](./breaking-changes-console-screenshot-3.png)
## How can I decide if it is really a breaking change?
First go to the console output of the workflow and make sure that the diffs make sense.
It can happen that Levitate highlights a change which is marked with TSDoc tags `// @alpha` or `// @internal` in
which case you can choose to ignore it - keep in mind though that these flags won't really hold developers back
from using your code and most likely it is going to cause them problems if we are breaking them.
It can also happen that Levitate marks changing an interface as a possible breaking change.
For anyone that implements that interface introducing a new property will break their code. Whilst this is correctly marked as a breaking change maybe it is an interface that is never implemented by other developers. In which case you can choose to ignore Levitate's message.
These notifications are only warnings though, and **in the end it's up to the author of the PR to make a decision that makes the most sense.**
## I know it's a breaking change, what's next?
### Introduce breaking changes only in major versions
We can make breaking changes less painful if they are only happening between major releases of Grafana.
### Deprecate first
Whenever possible try to deprecate first what you are about to remove or change. For example:
```javascript
import { deprecationWarning } from '@grafana/data';
/**
* @deprecated -- this is no longer necessary and will be removed in Grafana 9.0.0
*/
myOldFunction(name: string) {
deprecationWarning('MyFile', 'myOldFunction', 'myNewFunction');
// ...
}
```
1. Add a deprecation comment `// @deprecated`
2. Add info in the comment about **when it is going to be removed**
3. Add info in the comment about **what should be used instead**
4. In case it's a function or a method, use `deprecationWarning(<file name>, <old name>, <new name>)` to raise attention during runtime as well
5. Update the [migration guide](../docs/sources/developers/plugins/migration-guide.md) with your instructions
### Communicate
Reach out to **@grafana/plugins-platform-frontend** to help finding which plugins are using the code that is just about to change, so we try making it smoother by communicating it to them.
---
## I still have questions, who can help me out?
We are here to help.
Please either ping us in the pull request by using the **@grafana/plugins-platform-frontend** handle or reach out to us on the internal Slack in `#grafana-plugins-platform`.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 KiB

View File

@@ -136,20 +136,6 @@ Running the backend tests on Windows currently needs some tweaking, so use the b
go run build.go test
```
### Run PostgreSQL and MySQL integration tests
To run PostgreSQL and MySQL integration tests locally, you need to start the docker blocks for MySQL and/or PostgreSQL test data sources by running `make devenv sources=mysql_tests,postgres_tests`. When your test data sources are running, you can execute integration tests by running:
```
GRAFANA_TEST_DB=mysql go test -covermode=atomic -tags=integration ./pkg/...
```
and/or
```
GRAFANA_TEST_DB=postgres go test -covermode=atomic -tags=integration ./pkg/...
```
### Run end-to-end tests
The end to end tests in Grafana use [Cypress](https://www.cypress.io/) to run automated scripts in a headless Chromium browser. Read more about our [e2e framework](/contribute/style-guides/e2e.md).

View File

@@ -212,10 +212,10 @@ of the sentence. When you write in passive voice, the recipient of the action (a
Active-voice sentences are more direct and clearly identify _who_ is doing _what_. Not all tasks are completed by a user; sometimes the system can also be a performer (and by extension, the subject of the sentence). When you write in active voice you clearly make that distinction, which results in more engaging and less wordy content.
| Use (active) | Avoid (passive) |
| ----------------------------------------------------- | -------------------------------------------------------------------- |
| ----------------------------------------------------- | -------------------------------------------------------------------- | --- |
| After you upgrade the software, restart the computer. | After the software has been upgraded, the computer can be restarted. |
| Click **OK** to save the dashboard. | The dashboard is saved when the **OK** button is clicked. |
| Create a dashboard. | A dashboard is created by you. |
| Create a dashboard. | A dashboard is created by you. | . |
### Avoid obscure non-English words and abbreviations

View File

@@ -93,7 +93,7 @@ If you don't want to backport you need to add a label named **no-backport** to t
#### Backport
If your pull request has changes that need to go into one or several existing release branches you need to backport the changes. Please refer to [Backport PR](/.github/bot.md#backport-pr) for detailed instructions.
If your pull request has changes that need to go into one or several existing release branches you need to backport the changes. Please refer to [Backport PR](.github/bot.md#backport-pr) for detailed instructions.
The general rule of thumb regarding what changes goes into what release is:

View File

@@ -58,100 +58,6 @@ code, plus lets you run each test case in isolation when debugging. Don't use `t
Use [`t.Cleanup`](https://golang.org/pkg/testing/#T.Cleanup) to clean up resources in tests. It's a less fragile choice than `defer`, since it's independent of which
function you call it in. It will always execute after the test is over in reverse call order (last `t.Cleanup` first, same as `defer`).
### Mock
Optionally, we use [`mock.Mock`](https://github.com/stretchr/testify#mock-package) package to generate mocks. This is
useful when you expect different behaviours of the same function.
#### Tips
- Use `Once()` or `Times(n)` to make this mock only works `n` times.
- Use `mockedClass.AssertExpectations(t)` to guarantee that the mock is called the times asked.
- If any mock set is not called or its expects more calls, the test fails.
- You can pass `mock.Anything` as argument if you don't care about the argument passed.
- Use `mockedClass.AssertNotCalled(t, "FunctionName")` to assert that this test is not called.
#### Example
This is an example to easily create a mock of an interface.
Given this interface:
```go
func MyInterface interface {
Get(ctx context.Context, id string) (Object, error)
}
```
Mock implementation should be like this:
```go
import
func MockImplementation struct {
mock.Mock
}
func (m *MockImplementation) Get(ctx context.Context, id string) error {
args := m.Called(ctx, id) // Pass all arguments in order here
return args.Get(0).(Object), args.Error(1)
}
```
And use it as the following way:
```go
objectToReturn := Object{Message: "abc"}
errToReturn := errors.New("my error")
myMock := &MockImplementation{}
defer myMock.AssertExpectations(t)
myMock.On("Get", mock.Anything, "id1").Return(objectToReturn, errToReturn).Once()
myMock.On("Get", mock.Anything, "id2").Return(Object{}, nil).Once()
anyService := NewService(myMock)
resp, err := anyService.Call("id1")
assert.Equal(t, resp.Message, objectToReturn.Message)
assert.Error(t, err, errToReturn)
resp, err = anyService.Call("id2")
assert.Nil(t, err)
```
#### Mockery
When an interface to test is too big, it's annoying to mock each function manually. To avoid this, you can
use [`mockery`](https://github.com/vektra/mockery) library to generate the mocks.
The command is like the following (there are more options documented if you need to use another one):
```
mockery --name InterfaceName --structname MockImplementationName --inpackage --filename my_implementation_mock.go
```
- `--name`: Interface to mock
- `--structname`: Mock implementation name
- `--inpackage`: To use the same package name as the interface
- `--filename`: Your mock generated file name
If any interface signature changes, executing the command again updates the mock.
Additionally, you can put `go:generate` command on the top of the file as a comment. It's useful because some IDEs
like Goland and Visual Studio Code allows executing scripts from the IDE.
```
package <package>
import (
...
)
//go:generate mockery --name InterfaceName --structname MockImplementationName --inpackage --filename my_implementation_mock.go
```
## Globals
As a general rule of thumb, avoid using global variables, since they make the code difficult to maintain and reason

View File

@@ -195,7 +195,7 @@ datasources:
timeInterval: 10s
interval: Daily
timeField: "@timestamp"
esVersion: 7.10.0
esVersion: 70
- name: gdev-elasticsearch-v7-logs
type: elasticsearch
@@ -205,7 +205,7 @@ datasources:
jsonData:
interval: Daily
timeField: "@timestamp"
esVersion: 7.10.0
esVersion: 70
- name: gdev-elasticsearch-v7-filebeat
type: elasticsearch
@@ -215,7 +215,7 @@ datasources:
jsonData:
interval: Daily
timeField: "@timestamp"
esVersion: 7.10.0
esVersion: 70
timeInterval: "10s"
logMessageField: message
logLevelField: fields.level
@@ -228,7 +228,7 @@ datasources:
jsonData:
interval: Daily
timeField: "@timestamp"
esVersion: 7.10.0
esVersion: 70
timeInterval: "10s"
- name: gdev-mysql

View File

@@ -16,7 +16,7 @@
"gnetId": null,
"graphTooltip": 0,
"id": null,
"iteration": 1601526910610,
"iteration": 1646409057541,
"links": [
{
"icon": "external link",
@@ -73,6 +73,61 @@
"timeShift": null,
"title": "${custom.text}",
"type": "text"
},
{
"id": 4,
"gridPos": {
"h": 9,
"w": 9,
"x": 12,
"y": 0
},
"type": "stat",
"title": "Panel Title",
"fieldConfig": {
"defaults": {
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"color": {
"mode": "thresholds"
},
"links": [
{
"title": "Var Link",
"url": "/d/vmie2cmWz/bar-gauge-demo?var-custom=$custom"
}
]
},
"overrides": []
},
"options": {
"reduceOptions": {
"values": false,
"calcs": [
"lastNotNull"
],
"fields": ""
},
"orientation": "auto",
"textMode": "auto",
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto"
},
"pluginVersion": "8.5.0-pre",
"datasource": null
}
],
"schemaVersion": 26,
@@ -112,6 +167,11 @@
"selected": false,
"text": "p3",
"value": "p3"
},
{
"selected": false,
"text": "p4",
"value": "test%25value"
}
],
"query": "p1,p2,p3",

View File

@@ -1,76 +0,0 @@
{
"__inputs": [],
"__elements": [],
"__requires": [
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
"version": "8.4.0-pre"
},
{
"type": "panel",
"id": "text",
"name": "Text",
"version": ""
}
],
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"target": {
"limit": 100,
"matchAny": false,
"tags": [],
"type": "dashboard"
},
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"liveNow": false,
"panels": [
{
"gridPos": {
"h": 9,
"w": 12,
"x": 0,
"y": 0
},
"id": 2,
"options": {
"mode": "markdown",
"content": "VariableUnderTest: $VariableUnderTest"
},
"pluginVersion": "8.4.0-pre",
"title": "Panel Title",
"type": "text"
}
],
"schemaVersion": 35,
"style": "dark",
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Test variable output",
"uid": "kVi2Gex7z",
"version": 2,
"weekStart": ""
}

View File

@@ -1042,10 +1042,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -1147,10 +1143,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -1230,95 +1222,6 @@
],
"title": "Always show points between gaps",
"type": "timeseries"
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineStyle": {
"fill": "solid"
},
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 7,
"x": 7,
"y": 22
},
"id": 16,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,60,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,61,,,,,,60,,,,,,,,,,,,,,,,,,61,,,,,,60,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,61,,,,,,60,,,,,,59,,,,,,60,,,,,,,59,,,,,,,,,,,,,,,,,,,,,,,,58,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,57,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,56,,,,,,57,,,,,,56,,,,,,57,,,,,,,,,,,,56,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,56,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,54,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,53,,,,,54,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,56,,,,,,,,,,,,,,,,,,55,,,,,,56,,,,,,,,,,,,57,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,56,,,,,,57,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,56,,,,,,,,,,,,57,,,,,,,58,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,57,,,,,,,,,,,,,,,,,,,58,,,,,,59,,,,,,58,,,,,,,,,,,,,,,,,,,,,,,,57,,,,,,58,,,,,,,,,,,,,,,,,,,59,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,60,,,,,,,,,,,,61,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,62,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,61,,,,,,,,,,,,,,,,,,60,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,59,,,,,,60,,,,,,59,,,,,,60,,,,,,,,,,,,,,,,,,,,,,,,,59,,,,,,,,,,,,,,,,,60,,,,,,,,,,,,,59,,,,,,60,,,,,,,,,,,,59,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,58,,,,,,59,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,58,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,57,,,,,,58,,,,,,57,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,56,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,55,,,,,,56,,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,54,,,,,,53,,,,,,,,,,,,,,,,,,,52,,,,,,,,,,,51,,,,,,,,,,,,,,,,,,,,,,,,,52,,,,,,,54,,,,,,55,,,,,,56,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,57,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,58,,,,,,,,,,,,,,,,,,59,,,,,,,,,,,,,,,,,,60,,,,,,,,,,,,61,,,,,,,,,,,,,,,,,,,,,,,,60,,,,,,61,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,62,,,,,,61,,,,,,62,,,,,,61,,,,,,62,,,,,,,,,,,,,,,,,,,63,,,,,,,,,,,,,,,,,,,,,,,,64,,,,,,63,,,,,,64,,,,,,63,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,62,,,,,,,,,,,,,,,,,,,61,,,,,,,,,,,,62,,,,,,,,,,,,,,,,,,,,,,,,,63,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,64,,,,,,,,,,,,63,,,,,,,,,,,,,62,,,,,,,,,,,,,,,,,,,,"
}
],
"title": "Always show points between gaps",
"type": "timeseries"
}
],
"schemaVersion": 33,

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +1,7 @@
# You need to run 'sysctl -w vm.max_map_count=262144' on the host machine
elasticsearch7:
image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2
image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.0.0
command: elasticsearch -E "discovery.type=single-node"
ports:
- "12200:9200"
@@ -17,7 +17,7 @@
FD_PORT: 9200
filebeat7:
image: docker.elastic.co/beats/filebeat-oss:7.17.0
image: docker.elastic.co/beats/filebeat-oss:7.0.0
command: filebeat -e -strict.perms=false
volumes:
- ./docker/blocks/elastic7/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro
@@ -25,7 +25,7 @@
- ../data/log:/var/log/grafana:ro
metricbeat7:
image: docker.elastic.co/beats/metricbeat-oss:7.17.0
image: docker.elastic.co/beats/metricbeat-oss:7.0.0
command: metricbeat -e -strict.perms=false
user: root
volumes:

View File

@@ -7,7 +7,7 @@
promtail:
image: grafana/promtail:latest
volumes:
- ./docker/blocks/loki/promtail-config.yaml:/etc/promtail/docker-config.yaml
- ./docker/blocks/loki/config.yaml:/etc/promtail/docker-config.yaml
- /var/log:/var/log
- ../data/log:/var/log/grafana
command:

View File

@@ -4,12 +4,6 @@
- "9090:9090"
extra_hosts:
- "host.docker.internal:host-gateway"
command: >
--enable-feature=remote-write-receiver
--config.file=/etc/prometheus/prometheus.yml
--storage.tsdb.path=/prometheus
--web.console.libraries=/usr/share/prometheus/console_libraries
--web.console.templates=/usr/share/prometheus/consoles
node_exporter:
image: prom/node-exporter

View File

@@ -24,7 +24,7 @@ services:
MYSQL_PASSWORD: password
command: [mysqld, --character-set-server=utf8mb4, --collation-server=utf8mb4_unicode_ci, --innodb_monitor_enable=all, --max-connections=1001]
ports:
- "3306:3306"
- 3306
healthcheck:
test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
timeout: 10s
@@ -47,7 +47,7 @@ services:
# POSTGRES_USER: grafana
# POSTGRES_PASSWORD: password
# ports:
# - "5432:5432"
# - 5432
# healthcheck:
# test: ["CMD-SHELL", "pg_isready -d grafana -U grafana"]
# timeout: 10s
@@ -66,9 +66,13 @@ services:
- GF_DATABASE_TYPE=mysql
- GF_DATABASE_HOST=db:3306
- GF_DATABASE_MAX_OPEN_CONN=300
- GF_SESSION_PROVIDER=mysql
- GF_SESSION_PROVIDER_CONFIG=grafana:password@tcp(db:3306)/grafana?allowNativePasswords=true
# - GF_DATABASE_TYPE=postgres
# - GF_DATABASE_HOST=db:5432
# - GF_DATABASE_SSL_MODE=disable
# - GF_SESSION_PROVIDER=postgres
# - GF_SESSION_PROVIDER_CONFIG=user=grafana password=password host=db port=5432 dbname=grafana sslmode=disable
- GF_SERVER_ROUTER_LOGGING=true
- GF_LOG_CONSOLE_FORMAT=json
- GF_LOG_FILTERS=alerting.notifier:debug,alerting.notifier.slack:debug,auth:debug

View File

@@ -10,7 +10,7 @@ Yarn >= 1.22.4
## Build the doc site
1. On the command line, first change to the docs folder: `cd docs`.
1. Run `make docs`. This launches a preview of the website with the current grafana docs at `http://localhost:3002/docs/grafana/next/` which will refresh automatically when changes are made to content in the `sources` directory.
1. Run `make docs-quick`. This launches a preview of the website with the current grafana docs at `http://localhost:3002/docs/grafana/next/` which will refresh automatically when changes are made to content in the `sources` directory.
If you have the grafana/website repo checked out in the same directory as the grafana repo, then you can run `make docs-local-static` to use local assets (such as images).

View File

@@ -1,15 +1,9 @@
---
aliases:
- /docs/grafana/v1.1
- /docs/grafana/latest/guides/reference/admin
- /docs/grafana/v3.1
description: Guides, Installation and Feature Documentation
keywords:
- grafana
- installation
- documentation
title: Grafana documentation
---
+++
title = "Grafana documentation"
description = "Guides, Installation and Feature Documentation"
keywords = ["grafana", "installation", "documentation"]
aliases = ["/docs/grafana/v1.1", "/docs/grafana/latest/guides/reference/admin", "/docs/grafana/v3.1"]
+++
# Grafana documentation

View File

@@ -1,8 +1,8 @@
---
description: Administration
title: Administration
weight: 40
---
+++
title = "Administration"
description = "Administration"
weight = 40
+++
# Administration
@@ -12,4 +12,3 @@ This section includes information for Grafana administrators, team administrator
- [Configuration]({{< relref "configuration" >}})
- [Configure Docker image]({{< relref "configure-docker" >}})
- [Security]({{< relref "security" >}})
- [Service accounts]({{< relref "service-accounts" >}})

View File

@@ -1,17 +0,0 @@
---
description: This section contains information about API keys in Grafana
keywords:
- API keys
- Service accounts
menuTitle: API keys
title: API keys in Grafana
weight: 300
---
# API keys in Grafana
API Keys can be used to interact with Grafana HTTP APIs.
We recommend using service accounts instead of API keys if you are on Grafana 8.5+, for more information refer to [About service accounts]({{< relref "../service-accounts/about-service-accounts.md#">}}).
{{< section >}}

View File

@@ -1,12 +0,0 @@
---
description: Learn about using API keys in Grafana
menuTitle: About API keys
title: About API keys in Grafana
weight: 30
---
# About API keys in Grafana
An API key is a randomly generated string that external systems use to interact with Grafana HTTP APIs.
When you create an API key, you specify a **Role** that determines the permissions associated with the API key. Role permissions control that actions the API key can perform on Grafana resources. For more information about creating API keys, refer to [Create an API key]({{< relref "./create-api-key.md#">}}).

View File

@@ -1,34 +0,0 @@
---
description: How to create an API key in Grafana
keywords:
- API keys
- Service accounts
menuTitle: Create an API key
title: Create an API key in Grafana
weight: 50
---
# Create an API key in Grafana
Create an API key when you want to manage your computed workload with a user.
For more information about API keys, refer to [About API keys in Grafana]({{< relref "./about-api-keys.md">}}).
This topic shows you how to create an API key using the Grafana UI. You can also create an API key using the Grafana HTTP API. For more information about creating API keys via the API, refer to [Create API key via API]({{< relref "../../http_api/create-api-tokens-for-org.md#how-to-create-a-new-organization-and-an-api-token">}}).
## Before you begin:
- Ensure you have permission to create and edit API keys. For more information about permissions, refer to [About users and permissions]({{< relref "../manage-users-and-permissions/about-users-and-permissions.md#">}}).
**To create an API key:**
1. Sign in to Grafana, hover your cursor over **Configuration** (the gear icon), and click **API Keys**.
1. Click **New API key**.
1. Enter a unique name for the key.
1. In the **Role** field, select one of the following access levels you want to assign to the key.
- **Admin**: Enables a user to use APIs at the broadest, most powerful administrative level.
- **Editor** or **Viewer** to limit the key's users to those levels of power.
1. In the **Time to live** field, specify how long you want the key to be valid.
- The maximum length of time is 30 days (one month). You enter a number and a letter. Valid letters include `s` for seconds,`m` for minutes, `h` for hours, `d `for days, `w` for weeks, and `M `for month. For example, `12h` is 12 hours and `1M` is 1 month (30 days).
- If you are unsure about how long an API key should be valid, we recommend that you choose a short duration, such as a few hours. This approach limits the risk of having API keys that are valid for a long time.
1. Click **Add**.

View File

@@ -1,13 +1,9 @@
---
description: Guide to using grafana-cli
keywords:
- grafana
- cli
- grafana-cli
- command line interface
title: Grafana CLI
weight: 400
---
+++
title = "Grafana CLI"
description = "Guide to using grafana-cli"
keywords = ["grafana", "cli", "grafana-cli", "command line interface"]
weight = 400
+++
# Grafana CLI

View File

@@ -1,14 +1,10 @@
---
aliases:
- /docs/grafana/latest/installation/configuration/
description: Configuration documentation
keywords:
- grafana
- configuration
- documentation
title: Configuration
weight: 150
---
+++
title = "Configuration"
description = "Configuration documentation"
keywords = ["grafana", "configuration", "documentation"]
aliases = ["/docs/grafana/latest/installation/configuration/"]
weight = 150
+++
# Configuration
@@ -139,10 +135,6 @@ Options are `production` and `development`. Default is `production`. _Do not_ ch
Set the name of the grafana-server instance. Used in logging, internal metrics, and clustering info. Defaults to: `${HOSTNAME}`, which will be replaced with
environment variable `HOSTNAME`, if that is empty or does not exist Grafana will try to use system calls to get the machine name.
### force_migration
Force migration will run migrations that might cause data loss. Default is `false`.
<hr />
## [paths]
@@ -469,13 +461,7 @@ value is `true`.
### check_for_updates
Set to false, disables checking for new versions of Grafana from Grafana's GitHub repository. When enabled, the check for a new version runs every 10 minutes. It will notify, via the UI, when a new version is available. The check itself will not prompt any auto-updates of the Grafana software, nor will it send any sensitive information.
### check_for_plugin_updates
> **Note**: Available in Grafana v8.5.0 and later versions.
Set to false disables checking for new versions of installed plugins from https://grafana.com. When enabled, the check for a new plugin runs every 10 minutes. It will notify, via the UI, when a new plugin update exists. The check itself will not prompt any auto-updates of the plugin, nor will it send any sensitive information.
Set to false to disable all checks to https://grafana.com for new versions of installed plugins and to the Grafana GitHub repository to check for a newer version of Grafana. The version information is used in some UI views to notify that a new Grafana update or a plugin update exists. This option does not cause any auto updates, nor send any sensitive information. The check is run every 10 minutes.
### google_analytics_ua_id
@@ -517,10 +503,6 @@ If you want to track Grafana usage via Azure Application Insights, then specify
<hr />
### enable_feedback_links
If set to false will remove all feedback links from the UI. Defaults to true.
## [security]
### disable_initial_admin_creation
@@ -604,21 +586,6 @@ Set Content Security Policy template used when adding the Content-Security-Polic
<hr />
### angular_support_enabled
This currently defaults to `true` but will default to `false` in a future release. When set to false the angular framework and support components will not be loaded. This means that
all plugins and core features that depend on angular support will stop working.
Current core features that will stop working:
- Heatmap panel
- Old graph panel
- Old table panel
- Postgres, MySQL and MSSQL data source query editors
- Legacy alerting edit rule UI
Before we disable angular support by default we plan to migrate these remaining areas to React.
## [snapshots]
### external_enabled
@@ -672,7 +639,7 @@ Path to the default home dashboard. If this value is empty, then Grafana uses St
Set to `false` to prohibit users from being able to sign up / create
user accounts. Default is `false`. The admin user can still create
users. For more information about creating a user, refer to [Add a user]({{< relref "../administration/manage-users-and-permissions/manage-server-users/add-user.md" >}}).
users from the [Grafana Admin Pages]({{< relref "../manage-users/server-admin/server-admin-manage-users.md" >}}).
### allow_org_create
@@ -1363,22 +1330,6 @@ For more information about this feature, refer to [Explore]({{< relref "../explo
Enable or disable the Explore section. Default is `enabled`.
## [help]
Configures the help section.
### enabled
Enable or disable the Help section. Default is `enabled`.
## [profile]
Configures the Profile section.
### enabled
Enable or disable the Profile section. Default is `enabled`.
## [metrics]
For detailed instructions, refer to [Internal Grafana metrics]({{< relref "view-server/internal-metrics.md" >}}).

View File

@@ -1,15 +1,10 @@
---
aliases:
- /docs/grafana/latest/installation/configure-docker/
description: Guide for configuring the Grafana Docker image
keywords:
- grafana
- configuration
- documentation
- docker
title: Configure Grafana Docker image
weight: 200
---
+++
title = "Configure Grafana Docker image"
description = "Guide for configuring the Grafana Docker image"
keywords = ["grafana", "configuration", "documentation", "docker"]
aliases = ["/docs/grafana/latest/installation/configure-docker/"]
weight = 200
+++
# Configure a Grafana Docker image

View File

@@ -1,16 +1,10 @@
---
aliases:
- ''
description: Grafana database encryption
keywords:
- grafana
- database
- encryption
- envelope encryption
- documentation
title: Database encryption
weight: 450
---
+++
title = "Database encryption"
description = "Grafana database encryption"
keywords = ["grafana", "database", "encryption", "envelope encryption", "documentation"]
aliases = [""]
weight = 450
+++
# Grafana database encryption

View File

@@ -1,12 +1,9 @@
---
description: Jaeger traces emitted and propagation by Grafana
keywords:
- grafana
- jaeger
- tracing
title: Jaeger instrumentation
weight: 900
---
+++
title = "Jaeger instrumentation"
description = "Jaeger traces emitted and propagation by Grafana"
keywords = ["grafana", "jaeger", "tracing"]
weight = 900
+++
# Jaeger instrumentation

View File

@@ -1,119 +0,0 @@
---
aliases:
- /docs/grafana/latest/manage-users/server-admin/
- /docs/grafana/latest/manage-users/server-admin/server-admin-manage-orgs/
description: Describes how to use organizations to isolate dashboard to users and
teams.
keywords:
- organizations
- dashboards
menuTitle: Manage organizations
title: Manage organizations
weight: 300
---
# Manage organizations
This topic describes what organizations are, and how to create, edit, and delete them.
## About organizations
An organization is an entity that helps you isolate users and resources such as dashboards, annotations, and data sources from each other. Their purpose is to provide completely separate experiences, which look like multiple instances of Grafana, within a single instance. Multiple organizations are easier and cheaper to manage than multiple instances of Grafana.
Users, configuration settings, and Grafana Enterprise licenses are shared between organizations. Other resources, like dashboards, data sources, annotations, folders, Teams, and Alerts, are isolated within each organization and cannot be easily shared with another organization.
The following table summarizes the resources you can share and/or isolate using organizations.
| Resource | Mode |
| ------------------------ | ---------------- |
| Users | Share or isolate |
| Folders | Isolate only |
| Dashboards | Isolate only |
| Data sources | Isolate only |
| Alerts | Isolate only |
| Notification channels | Isolate only |
| Annotations | Isolate only |
| Reports | Isolate only |
| API keys | Isolate only |
| Authentication providers | Share only |
| Configuration settings | Share only |
| Licenses | Share |
The member of one organization cannot view dashboards assigned to another organization. However, a user can belong to multiple organizations.
Grafana Server Administrators are responsible for creating organizations. For more information about the Grafana Server Administrator role, refer to [Grafana server administrators]({{< relref "../manage-users-and-permissions/about-users-and-permissions.md#Grafana server administrators" >}}).
## View a list of organizations
Complete this task when you want to view a list of existing organizations.
### Before you begin
- Ensure that you have Grafana Server Administrator permissions
**To view a list of organizations:**
1. Sign in to Grafana as a server administrator.
1. Hover your cursor over the **Server Admin** (shield) icon until a menu appears, and click **Orgs**.
A list of organizations appears.
![Server Admin organization list](/static/img/docs/manage-users/server-org-list-7-3.png)
## Create an organization
Create an organization when you want to isolate dashboards and other resources from each other.
### Before you begin
- Ensure that you have Grafana Server Administrator permissions
**To create an organization:**
1. Sign in to Grafana as a server administrator.
1. Hover your cursor over the **Server Admin** (shield) icon until a menu appears, and click **Orgs**.
1. Click **+ New org**.
1. Enter the name of the new organization and click **Create**.
Grafana creates the organization and adds you as the organization administrator.
1. On the **Preferences** tab, select a home dashboard, time zone, and week start.
For more information about preferences, refer to [Preferences]({{< relref "../preferences/_index.md" >}}).
For more information about adding users to an organization, refer to [Add a user to an organization]({{< relref "../manage-users-and-permissions/manage-server-users/add-remove-user-to-org.md" >}}).
## Delete an organization
This action permanently removes an organization from your Grafana server.
> **Warning:** Deleting the organization also deletes all teams and dashboards associated the organization.
### Before you begin
- Ensure that you have Grafana Server Administrator permissions
- Because the delete action removes all teams and dashboards associated with the organization, ensure that the users who rely on the organization dashboards are aware of the change
**To delete an organization:**
1. Sign in to Grafana as a server administrator.
1. Hover your cursor over the **Server Admin** (shield) icon until a menu appears, and click **Orgs**.
1. Click the red **X** next to the organization that you want to delete.
1. Click **Delete**.
## Edit an organization
Edit an organization when you want to change its name.
### Before you begin
- Ensure that you have Grafana Server Administrator permissions
**To edit an organization:**
1. Sign in to Grafana as a server administrator.
1. Hover your cursor over the **Server Admin** (shield) icon until a menu appears, and click **Orgs**.
1. Click the organization you want to edit.
1. Update the organization name and click **Update**.
![Server admin Edit Organization](/static/img/docs/manage-users/server-admin-edit-org-7-3.png)

View File

@@ -1,106 +0,0 @@
---
aliases:
- /docs/grafana/latest/administration/change-your-password/
- /docs/grafana/latest/administration/manage-user-preferences/
description: Learn how to update your user preferences and switch organizations
keywords:
- password
- change
- organization
- change
title: Manage user preferences
weight: 400
---
# Manage user preferences
Grafana allows you to manage certain aspects of your user account, including your user name, email, and password.
You can also view important information about your account, such as the organizations and roles to which you are assigned and the Grafana sessions associated with your account.
## Change your Grafana password
You can change your Grafana password at any time.
> **Note**: If your Grafana instance uses an <!--[external authentication provider]({{< relref "../../auth/_index.md">}})--> external authentication provider, then you might not be able to change your password in Grafana. Contact your Grafana administrator for more information.
**To change your password**:
1. Sign in to Grafana.
1. Hover your mouse over the user icon in the lower-left corner of the page.
1. Click **Change Password**.
Grafana opens the **Change Password** tab.
1. Enter your old password and a new password.
1. Confirm your new password.
1. Click **Change Password**.
## Edit your profile
Your profile includes your name, user name, and email address, which you can update.
**To edit your profile**:
1. Sign in to Grafana.
1. Hover your cursor over the user icon in the lower-left corner of the page and click **Preferences**.
1. In the **Edit Profile** section, update your profile and click **Save**.
## Edit your preferences
You can choose the way you would like data to appear in Grafana, including the UI theme, home dashboard, timezone, and first day of the week. You can set these preferences for your own account, for a team, for an organization, or Grafana-wide using configuration settings. Your user preferences take precedence over team, organization, and Grafana default preferences. For more information, see [Grafana preferences]({{< relref "../../administration/preferences/_index.md">}}).
- **UI theme** determines whether Grafana appears in light mode or dark mode. By default, UI theme is set to dark mode.
- **Home dashboard** refers to the dashboard you see when you sign in to Grafana. By default, this is set to the Home dashboard.
- **Timezone** is used by dashboards when you set time ranges, so that you view data in your timezone instead of UTC.
- **Week start** is the first day of the week you want to use in dashboard time ranges, for example, `This week`.
**To edit your preferences**:
1. Sign in to Grafana.
1. Hover your cursor over the user icon in the lower-left corner of the page, and click **Preferences**.
1. Update any of the values in the **Preferences** section.
1. Click **Save** at the bottom of the Preferences section.
## Switch organizations
When you sign in to Grafana, the system signs you in to a default organization. If you are assigned to multiple organizations, then you might need to switch organizations. For example, if you need to view a dashboard not associated with your current organization, then you should switch organizations to view associated dashboards.
**To switch organizations**:
1. Sign in to Grafana.
1. Hover your cursor over the user icon in the lower-left corner of the page and click **Switch organization**.
1. Next to the organization that you want to sign in to, click **Switch to**.
## View your assigned organizations
Every user is a member of at least one organization. You can have different roles in each organization of which you are a member.
**To view your assigned organizations**:
1. Sign in to Grafana.
1. Hover your cursor over the user icon in the lower-left corner of the page and click **Preferences**.
1. Scroll down to the **Organizations** section and review the following information:
- **Name**: The name of the organizations of which you are a member.
- **Role**: The role to which you are assigned in the organization. For more information about roles and permissions, refer to [Organization users and permissions]({{< relref "../../administration/manage-users-and-permissions/about-users-and-permissions.md#organization-users-and-permissions" >}}).
- **Current**: Grafana indicates the organization that you are currently signed into as _Current_. If you are a member of multiple organizations, you can click **Select** to switch to that organization.
## View your Grafana sessions
Grafana logs your sessions in each Grafana instance. You can review this section if you suspect someone has misused your Grafana credentials.
**To view your Grafana sessions**:
1. Sign in to Grafana.
1. Hover your cursor over the user icon in the lower-left corner of the page, and click **Preferences**.
1. Scroll down to the **Sessions** section.
## Sign out a user session
You can sign out other sessions using your account in order to prevent other people from accessing Grafana using your credentials.
**To sign out one of your Grafana sessions**:
1. Sign in to Grafana.
1. Hover your cursor over the user icon in the lower-left corner of the page, and click **Preferences**.
1. Scroll down to the **Sessions** section.
1. Click the red "sign out" icon next to the session you would like to sign out.

View File

@@ -1,14 +0,0 @@
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/
title: Manage users and permissions
weight: 200
---
# Manage users and permissions
A _user_ is defined as any individual who can log in to Grafana. Each user is associated with a _role_ that includes _permissions_. Permissions determine the tasks a user can perform in the system. For example, the **Admin** role includes permissions for an administrator to create and delete users.
The following topics describe how to use permissions to control user access to data sources, dashboards, users, and teams.
{{< section >}}

View File

@@ -1,157 +0,0 @@
---
aliases:
- /docs/grafana/latest/manage-users/
- /docs/grafana/latest/administration/manage-users-and-permissions/about-users-and-permissions/
- /docs/grafana/latest/permissions/overview/
- /docs/grafana/latest/permissions/
- /docs/grafana/latest/permissions/organization_roles/
title: About users and permissions
weight: 100
---
# About users and permissions
A _user_ is defined as any individual who can log in to Grafana. Each user is associated with a _role_ that includes _permissions_. Permissions determine the tasks a user can perform in the system. For example, the **Admin** role includes permissions for an administrator to create and delete users.
You can assign a user one of three types of permissions:
- Grafana server administrator permissions: Manage Grafana server-wide settings and resources
- Organization permissions: Manage access to dashboards, alerts, plugins, teams, playlists, and other resources for an entire organization. The available roles are Viewer, Editor, and Admin.
- Dashboard and folder permission: Manage access to dashboards and folders
> **Note**: If you are running Grafana Enterprise, you can also control access to data sources and use fine-grained access control to grant read and write permissions for specific resources. For more information about access control options available with Grafana Enterprise, refer to [Grafana Enterprise user permissions features](#grafana-enterprise-user-permissions-features).
## Grafana server administrators
A Grafana server administrator manages server-wide settings and access to resources such as organizations, users, and licenses. Grafana includes a default server administrator that you can use to manage all of Grafana, or you can divide that responsibility among other server administrators that you create.
A server administrator can perform the following tasks:
- Manage users and permissions
- Create, edit, and delete organizations
- View server-wide settings defined in the [Configuration]({{< relref "../../administration/configuration.md" >}}) file
- View Grafana server statistics, including total users and active sessions
- Upgrade the server to Grafana Enterprise.
> **Note:** The server administrator role does not exist in Grafana Cloud.
## Organization users and permissions
All Grafana users belong to at least one organization. An organization is an entity that exists within your instance of Grafana.
Permissions assigned to a user within an organization control the extent to which the user has access to and can update the following organization resources:
- dashboards and folders
- alerts
- playlists
- users within that organization
- data sources
- teams
- organization and team settings
- plugins
- annotations
- library panels
- API keys
### Organization roles
Organization role-based permissions are global, which means that each permission level applies to all Grafana resources within an given organization. For example, an editor can see and update _all_ dashboards in an organization, unless those dashboards have been specifically restricted using [dashboard permissions]({{< relref "manage-dashboard-permissions/_index.md">}}).
Grafana uses the following roles to control user access:
- **Organization administrator**: Has access to all organization resources, including dashboards, users, and teams.
- **Editor**: Can view and edit dashboards, folders, and playlists.
- **Viewer**: Can view dashboards and playlists.
The following table lists permissions for each role.
| Permission | Organization administrator | Editor | Viewer |
| :----------------------------- | :------------------------: | :----: | :----: |
| View dashboards | x | x | x |
| Add, edit, delete dashboards | x | x | |
| Add, edit, delete folders | x | x | |
| View playlists | x | x | x |
| Add, edit, delete playlists | x | x | |
| Create library panels | x | x | |
| View annotations | x | x | x |
| Add, edit, delete annotations | x | x | |
| Access Explore | x | x | |
| Add, edit, delete data sources | x | | |
| Add and edit users | x | | |
| Add and edit teams | x | | |
| Change organizations settings | x | | |
| Change team settings | x | | |
| Configure application plugins | x | | |
## Dashboard permissions
When you want to extend a viewer's ability to edit and save dashboard changes or limit an editor's permission to modify a dashboard, you can assign permissions to dashboards and dashboard folders. For example, you might want a certain viewer to be able to to edit a dashboard. While that user can _see_ all dashboards, you can grant them access to _update_ only one of them.
> Important: The dashboard permissions you specify override the organization permissions you assign to the user for the selected entity.
You can specify the following permissions to dashboards and folders.
- **Admin**: Can create, edit, or delete a dashboard or folder. Administrators can also change dashboard and folder permissions.
- **Edit**: Can create and edit dashboards. Editors _cannot_ change folder or dashboard permissions, or add, edit, or delete folders.
- **View**: Can only view dashboards and folders.
For more information about assigning dashboard folder permissions, refer to [Grant dashboard folder permissions]({{< relref "./manage-dashboard-permissions/_index.md#grant-dashboard-folder-permissions" >}}).
For more information about assigning dashboard permissions, refer to [Grant dashboard permissions]({{< relref "./manage-dashboard-permissions/_index.md#grant-dashboard-permissions" >}}).
## Editors with administrator permissions
If you have access to the Grafana server, you can modify the default editor role so that editors can use administrator permissions to manage dashboard folders, dashboards, and teams that they create.
> **Note**: This permission does not allow editors to manage folders, dashboards, and teams that they do not create.
This setting can be used to enable self-organizing teams to administer their own dashboards.
For more information about assigning administrator permissions to editors, refer to [Grant editors administrator permissions]({{< relref "./manage-server-users/grant-editor-admin-permissions.md" >}}).
## Viewers with dashboard preview and Explore permissions
If you have access to the Grafana server, you can modify the default viewer role so that viewers can:
- Edit and preview dashboards, but cannot save their changes or create new dashboards.
- Access and use [Explore]({{< relref "../../explore/_index.md" >}}).
Extending the viewer role is useful for public Grafana installations where you want anonymous users to be able to edit panels and queries, but not be able to save or create new dashboards.
For more information about assigning dashboard preview permissions to viewers, refer to [Enable viewers to preview dashboards and use Explore]({{< relref "./manage-dashboard-permissions/_index.md#enable-viewers-to-preview-dashboards-and-use-explore" >}}).
## Teams and permissions
A team is a group of users within an organization that have common dashboard and data source permission needs. For example, instead of assigning five users access to the same dashboard, you can create a team that consists of those users and assign dashboard permissions to the team. A user can belong to multiple teams.
You can assign a team member one of the following permissions:
- **Member**: Includes the user as a member of the team. Members do not have team administrator privileges.
- **Admin**: Administrators have permission to manage various aspects of the team, including team membership, permissions, and settings.
Because teams exist inside an organization, the organization administrator can manage all teams. When the `editors_can_admin` setting is enabled, editors can create teams and manage teams that they create. For more information about the `editors_can_admin` setting, refer to [Grant editors administrator permissions]({{< relref "./manage-server-users/grant-editor-admin-permissions.md" >}}).
## Grafana Enterprise user permissions features
While Grafana OSS includes a robust set of permissions and settings that you can use to manage user access to server and organization resources, you might find that you require additional capabilities.
Grafana Enterprise provides the following permissions-related features:
- Data source permissions
- Fine-grained access control
### Data source permissions
By default, a user can query any data source in an organization, even if the data source is not linked to the user's dashboards.
Data source permissions enable you to restrict data source query permissions to specific **Users** and **Teams**. For more information about assigning data source permissions, refer to [Data source permissions]({{< relref "../../enterprise/datasource_permissions.md" >}}).
### Fine-grained access control
Fine-grained access control provides you a way of granting, changing, and revoking user read and write access to Grafana resources, such as users, reports, and authentication.
For more information about fine-grained access control, refer to [Fine-grained access control]({{< relref "../../enterprise/access-control" >}}).
### Learn more
Want to know more? Complete the [Create users and teams](https://grafana.com/tutorials/create-users-and-teams) tutorial to learn how to set up users and teams.

View File

@@ -1,145 +0,0 @@
---
aliases:
- /docs/grafana/latest/permissions/dashboard_folder_permissions/
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-dashboard-permissions/
title: Manage dashboard permissions
weight: 500
---
# Manage dashboard permissions
Dashboard and dasboard folder permissions enable you to grant a viewer the ability to edit and save dashboard changes, or limit an editor's permission to modify a dashboard.
For more information about dashboard permissions, refer to [Dashboard permissions]({{< relref "../about-users-and-permissions/#dashboard-permissions">}}).
## Grant dashboard folder permissions
When you grant user permissions for folders, that setting applies to all dashboards contained in the folder. Consider using this approach to assigning dashboard permissions when you have users or teams who require access to groups of related dashboards.
### Before you begin
- Ensure you have organization administrator privileges
- Identify the dashboard folder permissions you want to modify and the users or teams to which you want to grant access. For more information about dashboard permissions, refer to [Dashboard permissions]({{< relref "../about-users-and-permissions/#dashboard-permissions">}}).
**To grant dashboard folder permissions**:
1. Sign in to Grafana as an organization administrator.
2. In the sidebar, hover your mouse over the **Dashboards** (squares) icon and click **Browse**.
3. Hover your mouse cursor over a folder and click **Go to folder**.
4. Click the **Permissions** tab, and then click **Add Permission**.
5. In the **Add Permission For** dropdown menu, select **User**, **Team**, or one of the role options.
6. Select the user or team.
If you select a role option, you do not select a user or team.
7. Select the permission and click **Save**.
## Grant dashboard permissions
When you grant dashboard folder permissions, that setting applies to all dashboards in the folder. For a more granular approach to assigning permissions, you can also assign user permissions to individual dashboards.
For example, if a user with the viewer organization role requires editor (or admin) access to a dashboard, you can assign those elevated permissions on an individual basis.
> **Note**: If you have assigned a user dashboard folder permissions, you cannot also assign the user permission to dashboards contained in the folder.
Grant dashboard permissions when you want to restrict or enhance dashboard access for users who do not have permissions defined in the associated dashboard folder.
### Before you begin
- Ensure you have organization administrator privileges
- Identify the dashboard permissions you want to modify and the users or teams to which you want to grant access
**To grant dashboard permissions**:
1. Sign in to Grafana as an organization administrator.
1. In the sidebar, hover your mouse over the **Dashboards** (squares) icon and click **Browse**.
1. Open a dashboard.
1. In the top right corner of the dashboard, click **Dashboard settings** (the cog icon).
1. Click **Permissions** and then click **Add Permission**.
1. In the **Add Permission For** dropdown menu, select **User** or **Team**.
1. Select the user or team.
1. Select the permission and click **Save**.
## Enable viewers to edit (but not save) dashboards and use Explore
By default, the viewer organization role does not allow viewers to create dashboards or use the Explore feature. However, by modifying a configuration setting, you can allow viewers to edit a panel and make changes to a dashboard but not save those changes. This setting also enables viewers to use the Explore feature.
This modification is useful for public Grafana installations where you want anonymous users to be able to edit panels and queries but not save or create new dashboards.
### Before you begin
- Ensure that you have access to the Grafana server
**To enable viewers to preview dashboards and use Explore**:
1. Open the Grafana configuration file.
For more information about the Grafana configuration file and its location, refer to [Configuration]({{< relref "../../../administration/configuration">}}).
1. Locate the `viewers_can_edit` parameter.
1. Set the `viewers_can_edit` value to `true`.
1. Save your changes and restart Grafana.
## Edit dashboard permissions
Edit dashboard permissions when you are want to enhance or restrict a user's access to a dashboard. For more information about dashboard permissions, refer to [Dashboard permissions]({{< relref "../about-users-and-permissions/#dashboard-permissions">}}).
### Before you begin
- Identify the dashboard and user permission you want to change
- Ensure you have organization administrator privileges
**To edit dashboard permissions**:
1. Sign in to Grafana as an organization administrator.
1. In the sidebar, hover your mouse over the **Dashboards** (squares) icon and click **Browse**.
1. Open a dashboard.
1. In the top-right corner of the dashboard, click **Dashboard settings** (the cog icon).
1. Click **Permissions**.
1. In the dropdown, update the permissions, and click **Save**.
## Restrict access to dashboards
Grafana applies the highest permission a given user has to access a resource like a dashboard, so if you want to prevent a user from accessing a folder or dashboard you need to consider the user's organization role, folder permissions, and dashboard permissions.
- You cannot override organization administrator permissions. Organization administrators have access to all organization resources.
- User permissions set for a dashboard folder propagate to dashboards contained in the folder.
- A lower permission level does not affect access if a more general rule exists with a higher permission.
Refer to the following examples to understand how organization and dashboard permissions impact a user's access to dashboards.
### Example 1
In this example, user1 has the editor organization role.
Dashboard permissions settings:
- Everyone with Editor role can edit
- user1 is set to `view`
Result: User1 has edit permissions because the user's organization role is Editor.
### Example 2
In this example, user1 has the viewer organization role and is a member of team1.
Dashboard permissions settings:
- Everyone with Viewer role can view
- user1 is set to `edit`
- team1 is set to `admin`
Result: User1 has administrator permissions for the dashboard because user1 is a member of team1.
### Example 3
In this example, user1 has the viewer organization role.
Dashboard permissions settings:
- user1 is set to `admin`, which is inherited from the permissions set in parent folder
- user1 is set to `edit`
Result: You receive an error message that cannot override a higher permission with a lower permission in the same dashboard. User1 has administrator permissions.
> Refer to [Fine-grained access Control]({{< relref "../../../enterprise/access-control/_index.md" >}}) in Grafana Enterprise to understand how to use fine-grained permissions to restrict access to dashboards, folders, administrative functions, and other resources.

View File

@@ -1,15 +0,0 @@
---
aliases:
- /docs/grafana/latest/manage-users/org-admin/
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/
title: Manage users in an organization
weight: 400
---
# Manage users in an organization
Organization administrators can invite users to join their organization. Organization users have access to organization resources based on their role, which is **Admin**, **Editor**, or **Viewer**. Permissions associated with each role determine the tasks a user can perform in the system.
For more information about organization user permissions, refer to [Organization users and permissions]({{< relref "../about-users-and-permissions/#organization-users-and-permissions">}}).
{{< section >}}

View File

@@ -1,28 +0,0 @@
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/change-user-org-permissions/
title: Change a user's organization permissions
weight: 30
---
# Change a user's organization permissions
Update user permissions when you want to enhance or restrict a user's access to organization resources. For more information about organization permissions, refer to [Organization roles]({{< relref "../about-users-and-permissions/#organization-roles">}}).
## Before you begin
- Ensure you have organization administrator privileges
**To change the organization role of a user**:
1. Sign in to Grafana as an organization administrator.
1. Hover your cursor over the **Configuration** (gear) icon in the side menu and click **Users**.
1. Find the user account for which you want to change the role.
If necessary, use the search field to filter the list.
1. Locate the user on the list and in the **Role** column, click the user role.
1. Select the role that you want to assign.
1. Click **Update**.
> **Note:** If you have [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators">}}) permissions, you can also [change a user's organization permissions]({{< relref "../../manage-users-and-permissions/manage-server-users/change-user-org-permissions.md" >}}) in the Server Admin section.

View File

@@ -1,45 +0,0 @@
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/invite-user-join-org/
title: Invite a user to join an organization
weight: 10
---
# Invite a user to join an organization
When you invite users to join an organization, you assign the **Admin**, **Editor**, or **Viewer** role which controls user access to the dashboards and data sources owned by the organization. Users receive an email that prompts them to accept the invitation.
- If you know that the user already has access Grafana and you know their user name, then you issue an invitation by entering their user name.
- If the user is new to Grafana, then use their email address to issue an invitation. The system automatically creates the user account on first sign in.
> **Note:** If you have [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators">}}) permissions, you can also manually [add a user to an organization]({{< relref "../../manage-users-and-permissions/manage-server-users/add-remove-user-to-org.md" >}}).
## Before you begin
- Ensure you have organization administrator privileges.
- If the user already has access to Grafana, obtain their user name.
- Determine the permissions you want to assign to the user. For more information about organization permissions, refer to [Organization roles]({{< relref "../about-users-and-permissions/#organization-roles">}}).
**To invite or add an existing user account to your organization**:
1. Sign in to Grafana as an organization administrator.
1. To switch to the organization to which you want to invite a user, hover your mouse over your profile and click **Switch organization** and select an organization.
> **Note**: It might be that you are currently in the proper organization and don't need to switch organizations.
1. Hover your cursor over the **Configuration** (gear) icon in the side menu and click **Users**.
1. Click **Invite**.
1. Enter the following information:
| Field | Description |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Email or username | Either the email or username that the user will use to sign in to Grafana. |
| Name | The user's name. |
| Role | Click the organization role to assign this user. For more information about organization roles, refer to [Organization roles]({{< relref "../about-users-and-permissions#organization-roles" >}}).. |
| Send invite email | Switch to on if your organization has configured. The system sends an email to the user inviting them to sign in to Grafana and join the organization. Switch to off if you are not using email. The user can sign in to Grafana with the email or username you entered. |
1. Click **Submit**.
If the invitee is not already a user, the system adds them.
![Invite User](/static/img/docs/manage-users/org-invite-user-7-3.png).

View File

@@ -1,32 +0,0 @@
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/manage-pending-invites/
title: Manage a pending invitation
weight: 20
---
# Manage a pending invitation
Periodically review invitations you have sent so that you can see a list of users that have not yet accepted the invitation or cancel a pending invitation.
> **Note:** The **Pending Invites** button is only visible if there are unanswered invitations.
## Before you begin
- Ensure you have organization administrator privileges
**To manage a pending invitation**:
1. Sign in to Grafana as an organization administrator.
1. Hover your cursor over the **Configuration** (gear) icon in the side menu and click **Users**.
1. Click **Pending Invites**.
The **Pending Invites** button appears only when there are unaccepted invitations.
![Pending Invites button](/static/img/docs/manage-users/pending-invites-button-7-3.png)
To cancel an invitation, click the red **X** next to the invitation.
To copy an invitation link and send it directly to a user, click Copy Invite. You can then paste the invite link into a message.
![Pending Invites list](/static/img/docs/manage-users/pending-invites-list-7-3.png)

View File

@@ -1,28 +0,0 @@
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/remove-user-from-org/
title: Remove a user from an organization
weight: 40
---
# Remove a user from an organization
You can remove a user from an organization when they no longer require access to the dashboard or data sources owned by the organization. No longer requiring access to an organization might occur when the user has left your company or has internally moved to another organization.
This action does not remove the user account from the Grafana server.
## Before you begin
- Ensure you have organization administrator privileges
**To remove a user from an organization**:
1. Sign in to Grafana as an organization administrator.
1. Hover your cursor over the **Configuration** (gear) icon in the side menu and click **Users**.
1. Find the user account that you want to remove from the organization.
Use the search field to filter the list, if necessary.
1. Click the red **X** to remove the user from the organization.
> **Note:** If you have [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators">}}) permissions, you can also [remove a user from an organization]({{< relref "../../manage-users-and-permissions/manage-server-users/add-remove-user-to-org.md#remove-a-user-from-an-organization" >}}) on the Users page of the Server Admin section.

View File

@@ -1,23 +0,0 @@
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/view-list-org-users/
title: View a list of organization users
weight: 50
---
# View a list of organization users
You can see a list of users with accounts in your Grafana organization. If necessary, you can use the search field to filter the list.
## Before you begin
- Ensure you have organization administrator privileges
**To view a list of organization users**:
1. Sign in to Grafana as an organization administrator.
1. Hover your cursor over the **Configuration** (gear) icon in the side menu and click **Users**.
![Org Admin user list](/static/img/docs/manage-users/org-user-list-7-3.png)
> **Note:** If you have [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators">}}) permissions, you can also [view a global list of users]({{< relref "../../manage-users-and-permissions/manage-server-users/view-list-users.md" >}}) in the Server Admin section of Grafana.

View File

@@ -1,20 +0,0 @@
---
aliases:
- /docs/grafana/latest/manage-users/server-admin/
- /docs/grafana/latest/manage-users/server-admin/server-admin-manage-users/
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/
title: Manage users globally
weight: 300
---
# Manage users globally
A _user_ is defined as any individual who can log in to Grafana. Each user is associated with a _role_ that includes _permissions_. Permissions determine the tasks a user can perform in the system.
If you have [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators">}}) permissions in Grafana, you can manage all users for a Grafana instance in the Server Admin section:
{{< section >}}
If you have [organization administrator]({{< relref "../about-users-and-permissions.md#organization-roles">}}) permissions and _not_ [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators">}}) permissions, refer to [Manage users in a organization]({{< relref "../../manage-users-and-permissions/manage-org-users/_index.md" >}}).
For more information about users and permissions, refer to [About users and permissions]({{< relref "../about-users-and-permissions">}}).

View File

@@ -1,52 +0,0 @@
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/add-user-to-org/
title: Add or remove a user from an organization
weight: 30
---
# Add a user to an organization
Add a user to an organization when you want the user to have access to organization resources such as dashboards, data sources, and playlists. A user must belong to at least one organization.
You are required to specify an Admin role for each organization. The first user you add to an organization becomes the Admin by default. After you assign the Admin role to a user, you can add other users to an organization as either Admins, Editors, or Viewers.
## Before you begin
- [Create an organization]({{< relref "../../manage-organizations/_index.md">}})
- [Add a user]({{< relref "./add-user.md">}}) to Grafana
- Ensure you have Grafana server administrator privileges
**To add a user to an organization**:
1. Sign in to Grafana as a server administrator.
1. Hover your cursor over the **Server Admin** (shield) icon until a menu appears, and click **Users**.
1. Click a user.
1. In the **Organizations** section, click **Add user to organization**.
1. Select an organization and a role.
For more information about user permissions, refer to [Organization roles]({{< relref "../about-users-and-permissions/#organization-roles">}}).
1. Click **Add to organization**.
The next time the user signs in, they will be able to navigate to their new organization using the Switch Organizations option in the user profile menu.
> **Note:** If you have [organization administrator]({{< relref "../about-users-and-permissions.md#organization-roles">}}) permissions and _not_ [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators">}}) permissions, you can still [invite a user to join an organization]({{< relref "../../manage-users-and-permissions/manage-org-users/invite-user-join-org.md" >}}).
# Remove a user from an organization
Remove a user from an organization when they no longer require access to the dashboards, data sources, or alerts in that organization.
## Before you begin
- Ensure you have Grafana server administrator privileges
**To remove a user from an organization**:
1. Sign in to Grafana as a server administrator.
1. Hover your cursor over the **Server Admin** (shield) icon until a menu appears, and click **Users**.
1. Click a user.
1. In the **Organization** section, click **Remove from organization** next to the organization from which you want to remove the user.
1. Click **Confirm removal**.
> **Note:** If you have [organization administrator]({{< relref "../about-users-and-permissions.md#organization-roles">}}) permissions and _not_ [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators">}}) permissions, you can still [remove a user from an organization]({{< relref "../../manage-users-and-permissions/manage-org-users/remove-user-from-org.md" >}}) in the Users section of organization configuration.

View File

@@ -1,29 +0,0 @@
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/add-user/
title: Add a user
weight: 10
---
# Add a user
Add users when you want to manually provide individuals with access to Grafana.
When you create a user using this method, you must create their password. The user does not receive a notification by email. To invite a user to Grafana and allow them to create their own password, [invite a user to join an organization]({{< relref "../manage-org-users/invite-user-join-org.md">}}).
When you configure advanced authentication using Oauth, SAML, LDAP, or the Auth proxy, users are created automatically.
## Before you begin
- Ensure that you have Grafana server administrator privileges
**To add a user**:
1. Sign in to Grafana as a server administrator.
1. Hover your cursor over the **Server Admin** (shield) icon until a menu appears, and click **Users**.
1. Click **New user**.
1. Complete the fields and click **Create user**.
When you create a user, the system assigns the user viewer permissions in a default organization, which you can change. You can now [add a user to a second organization]({{< relref "./add-remove-user-to-org.md">}}).
> **Note:** If you have [organization administrator]({{< relref "../about-users-and-permissions.md#organization-roles">}}) permissions and _not_ [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators">}}) permissions, you can still add users by [inviting a user to join an organization]({{< relref "../../manage-users-and-permissions/manage-org-users/invite-user-join-org.md" >}}).

View File

@@ -1,28 +0,0 @@
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/assign-remove-server-admin-privileges/
title: Assign or remove Grafana server administrator privileges
weight: 20
---
# Assign or remove Grafana server administrator privileges
Grafana server administrators are responsible for creating users, organizations, and managing permissions. For more information about the server administration role, refer to [Grafana server administrators]({{< relref "../about-users-and-permissions/#grafana-server-administrators">}}).
> **Note:** Server administrators are "super-admins" with full permissions to create, read, update, and delete all resources and users in all organizations, as well as update global settings such as licenses. Only grant this permission to trusted users.
## Before you begin
- [Add a user]({{< relref "./add-user.md">}})
- Ensure you have Grafana server administrator privileges
**To assign or remove Grafana administrator privileges**:
1. Sign in to Grafana as a server administrator.
1. Hover your cursor over the **Server Admin** (shield) icon until a menu appears, and click **Users**.
1. Click a user.
1. In the **Grafana Admin** section, click **Change**.
1. Click **Yes** or **No**, depending on whether or not you want this user to have the Grafana server administrator role.
1. Click **Change**.
The system updates the user's permission the next time they load a page in Grafana.

View File

@@ -1,23 +0,0 @@
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/change-user-org-permissions/
title: Change a user's organization permissions
weight: 50
---
# Change a user's organization permissions
Update organization permissions when you want to enhance or restrict a user's access to organization resources. For more information about organization permissions, refer to [Organization roles]({{< relref "../about-users-and-permissions/#organization-roles">}}).
## Before you begin
- [Add a user to an organization]({{< relref "./add-remove-user-to-org.md">}})
- Ensure you have Grafana server administrator privileges
**To change a user's organization permissions**:
1. Sign in to Grafana as a server administrator.
1. Hover your cursor over the **Server Admin** (shield) icon until a menu appears, and click **Users**.
1. Click a user.
1. In the **Organizations** section, click the role you want to change, and then select another role.
1. Click **Update**.

View File

@@ -1,25 +0,0 @@
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/force-user-logout/
title: Force a user to logout from Grafana
weight: 90
---
# Force a user to log out of Grafana
If you suspect a user account is compromised or is no longer authorized to access the Grafana server, then you can force the user to log out of Grafana.
The force logout action can apply to one device that is logged in to Grafana, or all devices logged in to Grafana.
## Before you begin
- Ensure you have Grafana server administrator privileges
1. Sign in to Grafana as a server administrator.
1. Hover your cursor over the **Server Admin** (shield) icon until a menu appears, and click **Users**.
1. Click a user.
1. Scroll down to the **Sessions** section.
1. Perform one of the following actions:
- Click **Force logout** next to the session entry that you want logged out of Grafana.
- Click **Force logout from all devices**.
1. Confirm the logout.

View File

@@ -1,31 +0,0 @@
---
aliases:
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/grant-editor-admin-permissions/
title: Grant editors administrator permissions
weight: 60
---
# Grant editors administrator permissions
By default, the editor organization role does not allow editors to manage dashboard folders, dashboards, and teams, which you can change by modifying a configuration parameter. You can allow them to do so using the `editors_can_admin` configuration option.
This setting can be used to enable self-organizing teams to administer their own dashboards.
When `editors_can_admin` is enabled:
- Users with the Editor role in an organization are Administrators for new dashboards and folders they create, meaning they can edit dashboard permissions. To learn more about dashboard permissions, refer to [Manage dashboard permissions]({{< relref "../manage-dashboard-permissions/_index.md" >}}).
- Users with the Editor role in an organization can create teams, and they are Administrators of the teams they create. To learn more about team permissions, refer to [Manage teams]({{< relref "../manage-teams/_index.md" >}})
## Before you begin
- Ensure that you have access to the Grafana server
**To enable editors with administrator permissions**:
1. Log in to the Grafana server and open the Grafana configuration file.
For more information about the Grafana configuration file and its location, refer to [Configuration]({{< relref "../../../administration/configuration">}}).
1. Locate the `editors_can_admin` parameter.
1. Set the `editors_can_admin` value to `true`.
1. Save your changes and restart the Grafana server.

Some files were not shown because too many files have changed in this diff Show More