Compare commits

...

326 Commits

Author SHA1 Message Date
Jguer
c53173ff6b Merge pull request #295 from grafana/bump-version-8.4.6
Release: Bump version to 8.4.6
2022-04-04 09:37:02 +00:00
grafanabot
4e424d6a42 "Release: Updated versions in package to 8.4.6" 2022-04-04 09:26:58 +00:00
Dominik Prokop
4cafe613e1 Merge pull request #289 from grafana/bump-version-8.4.5
Release: Bump version to 8.4.5
2022-03-31 05:23:19 -07:00
grafanabot
eb30befb0f "Release: Updated versions in package to 8.4.5" 2022-03-31 12:07:48 +00:00
Dominik Prokop
8cea14f8d1 bump-version.yml - remove check about version alignment with main 2022-03-31 14:03:53 +02:00
Dominik Prokop
83f8c366a1 Merge branch 'v8.4.x' of github.com:grafana/grafana into v8.4.x 2022-03-31 13:39:07 +02: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
Dimitris Sotirakis
fcfb01faeb Update grabpl (#46639)
(cherry picked from commit 85184ee9dc)
(cherry picked from commit 3d8c6b1640)
2022-03-16 13:36:26 +00:00
Daniel Lee
b9df06ed3a Merge pull request #279 from grafana/bump-version-8.4.4
Release: Bump version to 8.4.4
2022-03-16 13:21:40 +01:00
grafanabot
a07ad8af45 "Release: Updated versions in package to 8.4.4" 2022-03-16 12:12:00 +00:00
Daniel Lee
708cda2052 Merge branch 'v8.4.x' of github.com:grafana/grafana into v8.4.x 2022-03-16 13:07:45 +01: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
Giordano Ricci
b7d2911cac Merge pull request #269 from grafana/bump-version-8.4.3
Release: Bump version to 8.4.3
2022-03-02 13:01:27 +00:00
grafanabot
f944a0fe16 "Release: Updated versions in package to 8.4.3" 2022-03-02 12:50:11 +00:00
Elfo404
e68b468420 Merge branch 'v8.4.x' of github.com:grafana/grafana into v8.4.x 2022-03-02 12:46:54 +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
sam boyer
dea7d4996a grafana-cli: Diff generated ts directly instead of relying on git (#45815)
* 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)
(cherry picked from commit 0a3fcc07d8)
2022-02-24 13:19:31 +02: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)
9fc02d717f Release: Bump version to 8.4.2 (#261)
* "Release: Updated versions in package to 8.4.2"

* updated yarn.lock - 8.4.2 release process

Co-authored-by: Stephanie Closson <srclosson@gmail.com>
2022-02-23 14:22:54 -04:00
Stephanie Closson
d98982bf02 Merge branch 'v8.4.x' of github.com:grafana/grafana into v8.4.x 2022-02-23 13:53:00 -04: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
Andrej Ocenas
53f5c6a44c Merge pull request #258 from grafana/bump-version-8.4.1
Release: Bump version to 8.4.1
2022-02-18 12:14:07 +01:00
Dimitris Sotirakis
5407140306 Update grabpl (#45591) (#45596)
(cherry picked from commit 0a8c3f92f6)
(cherry picked from commit 787553ed31)
2022-02-18 12:57:17 +02:00
Dimitris Sotirakis
787553ed31 Update grabpl (#45591) (#45596)
(cherry picked from commit 0a8c3f92f6)
2022-02-18 12:49:24 +02:00
Andrej Ocenas
0a66eb3a8a update yarn.lock 2022-02-18 11:33:51 +01:00
grafanabot
468735b7a2 "Release: Updated versions in package to 8.4.1" 2022-02-18 10:18:25 +00:00
Andrej Ocenas
eb1e411991 Merge branch 'v8.4.x' of github.com:grafana/grafana into v8.4.x 2022-02-18 11:11:57 +01: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
Andrej Ocenas
e6728d1434 Merge pull request #255 from grafana/bump-version-8.4.0
Release: Bump version to 8.4.0
2022-02-16 17:08:58 +01:00
Andrej Ocenas
6cd56ee459 Update yarn.lock 2022-02-16 16:38:48 +01:00
grafanabot
2d7625ac1b "Release: Updated versions in package to 8.4.0" 2022-02-16 15:24:39 +00:00
Andrej Ocenas
37c34c6d5b Merge branch 'v8.4.x' of github.com:grafana/grafana into v8.4.x 2022-02-16 16:11:07 +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
Andres Martinez Gotor
d0871959b6 Update yarn.lock 2022-02-02 17:58:37 +01:00
Andres Martinez Gotor
0a90d1eeeb Merge pull request #243 from grafana/bump-version-8.4.0-beta.1
Release: Bump version to 8.4.0-beta.1
2022-02-02 17:39:53 +01:00
grafanabot
c52dae0296 "Release: Updated versions in package to 8.4.0-beta.1" 2022-02-02 16:09:46 +00:00
721 changed files with 50682 additions and 7274 deletions

View File

@@ -6,6 +6,7 @@
load('scripts/drone/pipelines/pr.star', 'pr_pipelines')
load('scripts/drone/pipelines/main.star', 'main_pipelines')
load('scripts/drone/pipelines/docs.star', 'docs_pipelines')
load('scripts/drone/pipelines/release.star', 'release_pipelines', 'publish_image_pipelines', 'publish_artifacts_pipelines', 'publish_npm_pipelines', 'publish_packages_pipeline')
load('scripts/drone/version.star', 'version_branch_pipelines')
load('scripts/drone/pipelines/cron.star', 'cronjobs')

1012
.drone.yml

File diff suppressed because it is too large Load Diff

View File

@@ -10,6 +10,9 @@ scripts/grafana-server/tmp
public/lib/monaco
deployment_tools_config.json
# TS generate from cue by cuetsy
**/*.gen.ts
# Auto-generated localisation files
public/locales/_build/
public/locales/**/*.js

View File

@@ -4,7 +4,7 @@ on:
inputs:
version:
required: true
default: '7.x.x'
default: '8.x.x'
workflow_call:
inputs:
version_call:
@@ -16,6 +16,8 @@ on:
required: true
metricsWriteAPIKey:
required: true
env:
YARN_ENABLE_IMMUTABLE_INSTALLS: false
jobs:
main:
runs-on: ubuntu-latest
@@ -58,12 +60,6 @@ jobs:
echo "::set-output name=branch_name::v${{steps.regex-match.outputs.group1}}"
echo "::set-output name=branch_exist::$(git ls-remote --heads https://github.com/grafana/grafana.git v${{ steps.regex-match.outputs.group1 }}.x | wc -l)"
- name: Check input version is aligned with branch(not main)
if: ${{ github.event.inputs.version != '' && steps.intermedia.outputs.branch_exist != '0' && !contains(steps.intermedia.outputs.short_ref, steps.intermedia.outputs.branch_name) }}
run: |
echo " You need to run the workflow on branch v${{steps.regex-match.outputs.group1}}.x
exit 1
- name: Check input version is aligned with branch(main)
if: ${{ github.event.inputs.version != '' && steps.intermedia.outputs.branch_exist == '0' && !contains(steps.intermedia.outputs.short_ref, 'main') }}
run: |
@@ -80,7 +76,7 @@ jobs:
ref: main
- uses: actions/setup-node@v2.5.1
with:
node-version: '14'
node-version: '16'
- name: Install Actions
run: npm install --production --prefix ./actions
- name: Run bump version (manually invoked)

View File

@@ -43,18 +43,18 @@ jobs:
name: buildPr
path: './pr/pr_built_packages.zip'
buildMain:
name: Build Main
buildBase:
name: Build Base
runs-on: ubuntu-latest
defaults:
run:
working-directory: './main'
working-directory: './base'
steps:
- uses: actions/checkout@v2
with:
path: './main'
ref: 'main'
path: './base'
ref: ${{ github.event.pull_request.base.ref }}
- name: Get yarn cache directory path
id: yarn-cache-dir-path
@@ -76,18 +76,18 @@ jobs:
run: yarn packages:build
- name: Zip built packages
run: zip -r ./main_built_packages.zip ./packages/**/dist
run: zip -r ./base_built_packages.zip ./packages/**/dist
- name: Upload build output as artifact
uses: actions/upload-artifact@v2
with:
name: buildMain
path: './main/main_built_packages.zip'
name: buildBase
path: './base/base_built_packages.zip'
Detect:
name: Detect breaking changes
runs-on: ubuntu-latest
needs: ['buildPR', 'buildMain']
needs: ['buildPR', 'buildBase']
env:
GITHUB_STEP_NUMBER: 7
@@ -99,16 +99,16 @@ jobs:
with:
name: buildPr
- name: Get built packages from main
- name: Get built packages from base
uses: actions/download-artifact@v2
with:
name: buildMain
name: buildBase
- name: Unzip artifact from pr
run: unzip pr_built_packages.zip -d ./pr && rm pr_built_packages.zip
- name: Unzip artifact from main
run: unzip main_built_packages.zip -d ./main && rm main_built_packages.zip
- name: Unzip artifact from base
run: unzip base_built_packages.zip -d ./base && rm base_built_packages.zip
- name: Get link for the Github Action job
id: job

View File

@@ -3,7 +3,7 @@ name: publish_docs
on:
push:
branches:
- main
- v8.4.x
paths:
- 'docs/sources/**'
- 'packages/grafana-*/**'
@@ -41,7 +41,7 @@ jobs:
host: github.com
github_pat: '${{ secrets.GH_BOT_ACCESS_TOKEN }}'
source_folder: docs/sources
target_folder: content/docs/grafana/next
target_folder: content/docs/grafana/latest
allow_no_changes: 'true'
- shell: bash
run: |

View File

@@ -9,28 +9,28 @@ packageExtensions:
"@mdx-js/loader@1.6.22":
peerDependencies:
react: 17.0.1
"@storybook/addon-docs@6.4.13":
"@storybook/addon-docs@6.4.15":
peerDependencies:
"@storybook/manager-webpack5": 6.4.13
"@storybook/addon-essentials@6.4.13":
"@storybook/manager-webpack5": 6.4.15
"@storybook/addon-essentials@6.4.15":
peerDependencies:
"@storybook/components": 6.4.13
"@storybook/core-events": 6.4.13
"@storybook/manager-webpack5": 6.4.13
"@storybook/theming": 6.4.13
"@storybook/core-server@6.4.13":
"@storybook/components": 6.4.15
"@storybook/core-events": 6.4.15
"@storybook/manager-webpack5": 6.4.15
"@storybook/theming": 6.4.15
"@storybook/core-server@6.4.15":
peerDependencies:
"@babel/core": ^7.0.0
"@storybook/core@6.4.13":
"@storybook/core@6.4.15":
peerDependencies:
"@babel/core": ^7.0.0
"@storybook/manager-webpack5": 6.4.13
"@storybook/csf-tools@6.4.13":
"@storybook/manager-webpack5": 6.4.15
"@storybook/csf-tools@6.4.15":
peerDependencies:
"@babel/core": ^7.0.0
"@storybook/react@6.4.13":
"@storybook/react@6.4.15":
peerDependencies:
"@storybook/manager-webpack5": 6.4.13
"@storybook/manager-webpack5": 6.4.15
doctrine@3.0.0:
dependencies:
assert: 2.0.0
@@ -60,10 +60,6 @@ packageExtensions:
react-simple-compat: 1.2.1
peerDependencies:
framework-utils: ^1.1.0
react-dev-utils@11.0.4:
peerDependencies:
typescript: 4.4.3
webpack: 5.51.1
react-docgen-typescript-loader@3.7.2:
peerDependencies:
webpack: 4.41.5

View File

@@ -1,3 +1,159 @@
<!-- 8.4.4 START -->
# 8.4.4 (2022-03-16)
### Features and enhancements
- **Loki:** Add unpack to autocomplete suggestions (#44623). [#46573](https://github.com/grafana/grafana/pull/46573), [@glintik](https://github.com/glintik)
- **Plugins:** allow using both Function and Class components for app plugins. [#46148](https://github.com/grafana/grafana/pull/46148), [@leventebalogh](https://github.com/leventebalogh)
- **TimeSeries:** Add migration for Graph panel's transform series override. [#46577](https://github.com/grafana/grafana/pull/46577), [@dprokop](https://github.com/dprokop)
- **TimeSeries:** Preserve null/undefined values when performing negative y transform. [#46584](https://github.com/grafana/grafana/pull/46584), [@dprokop](https://github.com/dprokop)
### Bug fixes
- **CloudWatch:** Use default http client from aws-sdk-go. [#46370](https://github.com/grafana/grafana/pull/46370), [@sunker](https://github.com/sunker)
- **Dashboards:** Fixes repeating by row and no refresh. [#46565](https://github.com/grafana/grafana/pull/46565), [@torkelo](https://github.com/torkelo)
- **Gauge:** Fixes blank viz when data link exists and orientation was horizontal. [#46335](https://github.com/grafana/grafana/pull/46335), [@torkelo](https://github.com/torkelo)
- **Search:** sort results correctly when using postgres. [#46466](https://github.com/grafana/grafana/pull/46466), [@xlson](https://github.com/xlson)
- **TagsInput:** fix tags remove button accessibility issues. [#46254](https://github.com/grafana/grafana/pull/46254), [@Elfo404](https://github.com/Elfo404)
- **TextPanel:** Sanitize after markdown has been rendered to html. [#46166](https://github.com/grafana/grafana/pull/46166), [@ashharrison90](https://github.com/ashharrison90)
<!-- 8.4.4 END -->
<!-- 8.4.3 START -->
# 8.4.3 (2022-03-02)
### Features and enhancements
- **Alerting:** Grafana uses > instead of >= when checking the For duration. [#46010](https://github.com/grafana/grafana/issues/46010)
- **Alerting:** Use expanded labels in dashboard annotations. [#45726](https://github.com/grafana/grafana/pull/45726), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **Logs:** Escape windows newline into single newline. [#45771](https://github.com/grafana/grafana/pull/45771), [@perosb](https://github.com/perosb)
### Bug fixes
- **Alerting:** Fix use of > instead of >= when checking the For duration. [#46011](https://github.com/grafana/grafana/pull/46011), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **Azure Monitor:** Fixes broken log queries that use workspace. [#45820](https://github.com/grafana/grafana/pull/45820), [@sunker](https://github.com/sunker)
- **CloudWatch:** Remove error message when using multi-valued template vars in region field. [#45886](https://github.com/grafana/grafana/pull/45886), [@sunker](https://github.com/sunker)
- **Middleware:** Fix IPv6 host parsing in CSRF check. [#45911](https://github.com/grafana/grafana/pull/45911), [@ying-jeanne](https://github.com/ying-jeanne)
### Plugin development fixes & changes
- **ClipboardButton:** Use a fallback when the Clipboard API is unavailable. [#45831](https://github.com/grafana/grafana/pull/45831), [@ashharrison90](https://github.com/ashharrison90)
<!-- 8.4.3 END -->
<!-- 8.4.2 START -->
# 8.4.2 (2022-02-23)
### Features and enhancements
- **OAuth:** Add setting to skip org assignment for external users. [#34834](https://github.com/grafana/grafana/pull/34834), [@baez90](https://github.com/baez90)
- **Tracing:** Add option to map tag names to log label names in trace to logs settings. [#45178](https://github.com/grafana/grafana/pull/45178), [@connorlindsey](https://github.com/connorlindsey)
### Bug fixes
- **Explore:** Fix closing split pane when logs panel is used. [#45602](https://github.com/grafana/grafana/pull/45602), [@ifrost](https://github.com/ifrost)
<!-- 8.4.2 END -->
<!-- 8.4.1 START -->
# 8.4.1 (2022-02-18)
### Features and enhancements
- **Cloudwatch:** Add support for AWS/PrivateLink\* metrics and dimensions. [#45515](https://github.com/grafana/grafana/pull/45515), [@szymonpk](https://github.com/szymonpk)
- **Configuration:** Add ability to customize okta login button name and icon. [#44079](https://github.com/grafana/grafana/pull/44079), [@DanCech](https://github.com/DanCech)
- **Tempo:** Switch out Select with AsyncSelect component to get loading state in Tempo Search. [#45110](https://github.com/grafana/grafana/pull/45110), [@CatPerry](https://github.com/CatPerry)
### Bug fixes
- **Alerting:** Fix migrations by making send_alerts_to field nullable. [#45572](https://github.com/grafana/grafana/pull/45572), [@santihernandezc](https://github.com/santihernandezc)
<!-- 8.4.1 END -->
<!-- 8.4.0 START -->
# 8.4.0 (2022-02-16)
### Features and enhancements
- **API:** Extract OpenAPI specification from source code using go-swagger. [#40528](https://github.com/grafana/grafana/pull/40528), [@papagian](https://github.com/papagian)
- **AccessControl:** Disable user remove and user update roles when they do not have the permissions. [#43429](https://github.com/grafana/grafana/pull/43429), [@Jguer](https://github.com/Jguer)
- **AccessControl:** Provisioning for teams. [#43767](https://github.com/grafana/grafana/pull/43767), [@gamab](https://github.com/gamab)
- **API:** Add usage stats preview endpoint. [#43899](https://github.com/grafana/grafana/pull/43899), [@Jguer](https://github.com/Jguer)
- **Alerting:** Move slow queries in the scheduler to another goroutine. [#44423](https://github.com/grafana/grafana/pull/44423), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **Alerting:** Use time.Ticker instead of alerting.Ticker in ngalert. [#44395](https://github.com/grafana/grafana/pull/44395), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **Alerting:** add custom grouping to Alert Panel. [#44559](https://github.com/grafana/grafana/pull/44559), [@gillesdemey](https://github.com/gillesdemey)
- **Analytics:** Add user id tracking to google analytics. [#42763](https://github.com/grafana/grafana/pull/42763), [@autoric](https://github.com/autoric)
- **Angular:** Add AngularJS plugin support deprecation plan to docs site. [#45149](https://github.com/grafana/grafana/pull/45149), [@torkelo](https://github.com/torkelo)
- **Auth:** implement auto_sign_up for auth.jwt. [#43502](https://github.com/grafana/grafana/pull/43502), [@sakjur](https://github.com/sakjur)
- **Azure Monitor Logs:** Order subscriptions in resource picker by name. [#45228](https://github.com/grafana/grafana/pull/45228), [@sunker](https://github.com/sunker)
- **Azure monitor Logs:** Optimize data fetching in resource picker. [#44549](https://github.com/grafana/grafana/pull/44549), [@sunker](https://github.com/sunker)
- **AzureMonitor:** Filter list of resources by resourceType. [#43522](https://github.com/grafana/grafana/pull/43522), [@andresmgot](https://github.com/andresmgot)
- **BarChart:** color by field, x time field, bar radius, label skipping. [#43257](https://github.com/grafana/grafana/pull/43257), [@leeoniya](https://github.com/leeoniya)
- **Chore:** Implement OpenTelemetry in Grafana. [#42674](https://github.com/grafana/grafana/pull/42674), [@idafurjes](https://github.com/idafurjes)
- **Cloud Monitoring:** Adds metric type to Metric drop down options. [#43268](https://github.com/grafana/grafana/pull/43268), [@tw1nk](https://github.com/tw1nk)
- **CloudWatch:** Add Data Lifecycle Manager metrics and dimension. [#43310](https://github.com/grafana/grafana/pull/43310), [@ilyastoli](https://github.com/ilyastoli)
- **CloudWatch:** Add Missing Elasticache Host-level metrics. [#43455](https://github.com/grafana/grafana/pull/43455), [@dhendo](https://github.com/dhendo)
- **CloudWatch:** Add all ElastiCache Redis Metrics. [#43336](https://github.com/grafana/grafana/pull/43336), [@siavashs](https://github.com/siavashs)
- **CloudWatch:** Add new AWS/ES metrics. [#43034](https://github.com/grafana/grafana/pull/43034), [@sunker](https://github.com/sunker)
- **Cloudwatch:** Add syntax highlighting and autocomplete for "Metric Search". [#43985](https://github.com/grafana/grafana/pull/43985), [@sarahzinger](https://github.com/sarahzinger)
- **Explore:** Support custom display label for exemplar links for Prometheus datasource. [#42732](https://github.com/grafana/grafana/pull/42732), [@JokerQueue](https://github.com/JokerQueue)
- **Hotkeys:** Make time range absolute/permanent. [#43802](https://github.com/grafana/grafana/pull/43802), [@davkal](https://github.com/davkal)
- **Playlists:** Enable sharing direct links to playlists. [#44161](https://github.com/grafana/grafana/pull/44161), [@ashharrison90](https://github.com/ashharrison90)
- **SQLStore:** Prevent concurrent migrations. [#44101](https://github.com/grafana/grafana/pull/44101), [@papagian](https://github.com/papagian)
- **SSE:** Add Mode to drop NaN/Inf/Null in Reduction operations. [#43583](https://github.com/grafana/grafana/pull/43583), [@kylebrandt](https://github.com/kylebrandt)
- **Setting:** Support configuring feature toggles with bools instead of just passing an array. [#43326](https://github.com/grafana/grafana/pull/43326), [@bergquist](https://github.com/bergquist)
- **TimeSeries:** Add support for negative Y and constant transform. [#44774](https://github.com/grafana/grafana/pull/44774), [@dprokop](https://github.com/dprokop)
- **Transformations:** Add 'JSON' field type to ConvertFieldTypeTransformer. [#42624](https://github.com/grafana/grafana/pull/42624), [@sd2k](https://github.com/sd2k)
### Bug fixes
- **Auth:** Guarantee consistency of signed SigV4 headers. [#45054](https://github.com/grafana/grafana/pull/45054), [@wbrowne](https://github.com/wbrowne)
- **CloudWatch:** Fix MetricName resetting on Namespace change. [#44165](https://github.com/grafana/grafana/pull/44165), [@yaelleC](https://github.com/yaelleC)
- **Cloudwatch :** Fixed resetting metric name when changing namespace in Metric Query. [#44612](https://github.com/grafana/grafana/pull/44612), [@yaelleC](https://github.com/yaelleC)
- **Explore:** Avoid locking timepicker when range is inverted. [#44790](https://github.com/grafana/grafana/pull/44790), [@Elfo404](https://github.com/Elfo404)
- **Instrumentation:** Fix HTTP request instrumentation of authentication failures. [#44234](https://github.com/grafana/grafana/pull/44234), [@marefr](https://github.com/marefr)
- **LibraryPanels:** Prevent long descriptions and names from obscuring the delete button. [#45190](https://github.com/grafana/grafana/pull/45190), [@zuchka](https://github.com/zuchka)
- **OAuth:** Fix parsing of ID token if header contains non-string value. [#44159](https://github.com/grafana/grafana/pull/44159), [@marefr](https://github.com/marefr)
- **Panel Edit:** Visualization search now works correctly with special characters. [#45137](https://github.com/grafana/grafana/pull/45137), [@ashharrison90](https://github.com/ashharrison90)
- **Provisioning:** Fix duplicate validation when multiple organizations have been configured. [#44151](https://github.com/grafana/grafana/pull/44151), [@marefr](https://github.com/marefr)
- **QueryField:** Fix issue with undo history when suggestion is inserted (#28656). [#39114](https://github.com/grafana/grafana/pull/39114), [@glintik](https://github.com/glintik)
- **TablePanel:** Do not prefix columns with frame name if multiple frames and override active. [#45174](https://github.com/grafana/grafana/pull/45174), [@mdvictor](https://github.com/mdvictor)
### Deprecations
AngularJS plugin support is now in a deprecated state, meaning it will be removed in a future release. Currently, that is planned for version 10 (in 2023). The documentation site has an [article](https://grafana.com/docs/grafana/next/developers/angular_deprecation/) with more details on why, when, and how. Issue [#45149](https://github.com/grafana/grafana/issues/45149)
<!-- 8.4.0 END -->
<!-- 8.4.0-beta1 START -->
# 8.4.0-beta1 (2022-02-02)
### Features and enhancements
- **Alerting:** Support WeCom as a contact point type. [#40975](https://github.com/grafana/grafana/pull/40975), [@smallpath](https://github.com/smallpath)
- **Alerting:** UI for mute timings. [#41578](https://github.com/grafana/grafana/pull/41578), [@nathanrodman](https://github.com/nathanrodman)
- **Alerting:** add settings for peer reconnection in HA mode. [#42300](https://github.com/grafana/grafana/pull/42300), [@JohnnyQQQQ](https://github.com/JohnnyQQQQ)
- **Auth:** implement auto_sign_up for auth.jwt. [#37040](https://github.com/grafana/grafana/pull/37040), [@Roguelazer](https://github.com/Roguelazer)
- **Dashboard:** Add Show unknown variables toggle to dashboard settings. [#41854](https://github.com/grafana/grafana/pull/41854), [@hugohaggmark](https://github.com/hugohaggmark)
- **Instrumentation:** Logger migration from log15 to gokit/log. [#41636](https://github.com/grafana/grafana/pull/41636), [@ying-jeanne](https://github.com/ying-jeanne)
- **MSSQL:** Change regex to validate Provider connection string. [#40248](https://github.com/grafana/grafana/pull/40248), [@ianselmi](https://github.com/ianselmi)
- **MSSQL:** Configuration of certificate verification for TLS connection. [#31865](https://github.com/grafana/grafana/pull/31865), [@mortenaa](https://github.com/mortenaa)
- **Middleware:** Don't require HTTPS for HSTS headers to be emitted. [#35147](https://github.com/grafana/grafana/pull/35147), [@alexmv](https://github.com/alexmv)
- **Navigation:** Implement Keyboard Navigation. [#41618](https://github.com/grafana/grafana/pull/41618), [@axelavargas](https://github.com/axelavargas)
- **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.4.0-beta1 END -->
<!-- 8.3.5 START -->
# 8.3.5 (2022-02-08)
- **Security**: Fixes CVE-2022-21702. For more information, see our [blog](https://grafana.com/blog/2022/02/08/grafana-7.5.15-and-8.3.5-released-with-moderate-severity-security-fixes/)
- **Security**: Fixes CVE-2022-21703. For more information, see our [blog](https://grafana.com/blog/2022/02/08/grafana-7.5.15-and-8.3.5-released-with-moderate-severity-security-fixes/)
- **Security**: Fixes CVE-2022-21713. For more information, see our [blog](https://grafana.com/blog/2022/02/08/grafana-7.5.15-and-8.3.5-released-with-moderate-severity-security-fixes/)
<!-- 8.3.5 END -->
<!-- 8.3.4 START -->
# 8.3.4 (2022-01-17)
@@ -1259,7 +1415,15 @@ Issue [#33352](https://github.com/grafana/grafana/issues/33352)
- **AGPL License:** Update license from Apache 2.0 to the GNU Affero General Public License (AGPL). [#33184](https://github.com/grafana/grafana/pull/33184)
<!-- 8.0.0-beta1 END -->
<!-- 7.5.15 START -->
# 7.5.15 (2022-02-08)
- **Security**: Fixes CVE-2022-21702. For more information, see our [blog](https://grafana.com/blog/2022/02/08/grafana-7.5.15-and-8.3.5-released-with-moderate-severity-security-fixes/)
- **Security**: Fixes CVE-2022-21703. For more information, see our [blog](https://grafana.com/blog/2022/02/08/grafana-7.5.15-and-8.3.5-released-with-moderate-severity-security-fixes/)
- **Security**: Fixes CVE-2022-21713. For more information, see our [blog](https://grafana.com/blog/2022/02/08/grafana-7.5.15-and-8.3.5-released-with-moderate-severity-security-fixes/)
<!-- 7.5.15 END -->
<!-- 7.5.13 START -->
# 7.5.13 (2022-01-18)

View File

@@ -11,7 +11,7 @@ COPY plugins-bundled plugins-bundled
RUN yarn install
COPY tsconfig.json .eslintrc .editorconfig .browserslistrc .prettierrc.js babel.config.json ./
COPY tsconfig.json .eslintrc .editorconfig .browserslistrc .prettierrc.js babel.config.json .linguirc ./
COPY public public
COPY tools tools
COPY scripts scripts
@@ -20,7 +20,7 @@ COPY emails emails
ENV NODE_ENV production
RUN yarn build
FROM golang:1.17.6-alpine3.15 as go-builder
FROM golang:1.17.8-alpine3.15 as go-builder
RUN apk add --no-cache gcc g++ make
@@ -30,6 +30,7 @@ COPY go.mod go.sum embed.go Makefile build.go package.json ./
COPY cue cue
COPY packages/grafana-schema packages/grafana-schema
COPY public/app/plugins public/app/plugins
COPY public/api-spec.json public/api-spec.json
COPY pkg pkg
COPY scripts scripts
COPY cue.mod cue.mod

View File

@@ -12,7 +12,7 @@ COPY plugins-bundled plugins-bundled
RUN yarn install
COPY tsconfig.json .eslintrc .editorconfig .browserslistrc .prettierrc.js babel.config.json ./
COPY tsconfig.json .eslintrc .editorconfig .browserslistrc .prettierrc.js babel.config.json .linguirc ./
COPY public public
COPY tools tools
COPY scripts scripts
@@ -21,7 +21,7 @@ COPY emails emails
ENV NODE_ENV production
RUN yarn build
FROM golang:1.17.6 AS go-builder
FROM golang:1.17.8 AS go-builder
WORKDIR /src/grafana
@@ -33,6 +33,7 @@ COPY cue cue/
COPY cue.mod cue.mod/
COPY packages/grafana-schema packages/grafana-schema/
COPY public/app/plugins public/app/plugins/
COPY public/api-spec.json public/api-spec.json
RUN go mod verify
RUN make build-go

View File

@@ -7,11 +7,13 @@ WIRE_TAGS = "oss"
-include local/Makefile
include .bingo/Variables.mk
.PHONY: all deps-go deps-js deps build-go build-server build-cli build-js build build-docker-full lint-go golangci-lint test-go test-js gen-ts test run run-frontend clean devenv devenv-down protobuf drone help
.PHONY: all deps-go deps-js deps build-go build-server build-cli build-js build build-docker-full build-docker-full-ubuntu lint-go golangci-lint test-go test-js gen-ts test run run-frontend clean devenv devenv-down protobuf drone help
GO = go
GO_FILES ?= ./pkg/...
SH_FILES ?= $(shell find ./scripts -name *.sh)
API_DEFINITION_FILES = $(shell find ./pkg/api/docs/definitions -name '*.go' -print)
SWAGGER_TAG ?= latest
all: deps build
@@ -28,13 +30,62 @@ node_modules: package.json yarn.lock ## Install node modules.
@echo "install frontend dependencies"
YARN_ENABLE_PROGRESS_BARS=false yarn install --immutable
##@ Swagger
SPEC_TARGET = public/api-spec.json
MERGED_SPEC_TARGET := public/api-merged.json
NGALERT_SPEC_TARGET = pkg/services/ngalert/api/tooling/post.json
$(SPEC_TARGET): $(API_DEFINITION_FILES) ## Generate API spec
docker run --rm -it \
-e GOPATH=${HOME}/go:/go \
-e SWAGGER_GENERATE_EXTENSION=false \
-v ${HOME}/go:/go \
-v $$(pwd):/grafana \
-w $$(pwd)/pkg/api/docs quay.io/goswagger/swagger:$(SWAGGER_TAG) \
generate spec -m -o /grafana/public/api-spec.json \
-w /grafana/pkg/server \
-x "grafana/grafana/pkg/services/ngalert/api/tooling/definitions" \
-x "github.com/prometheus/alertmanager" \
-i /grafana/pkg/api/docs/tags.json
swagger-api-spec: gen-go $(SPEC_TARGET) $(MERGED_SPEC_TARGET)
$(NGALERT_SPEC_TARGET):
+$(MAKE) -C pkg/services/ngalert/api/tooling post.json
$(MERGED_SPEC_TARGET): $(SPEC_TARGET) $(NGALERT_SPEC_TARGET) ## Merge generated and ngalert API specs
go run pkg/api/docs/merge/merge_specs.go -o=public/api-merged.json $(<) pkg/services/ngalert/api/tooling/post.json
ensure_go-swagger_mac:
@hash swagger &>/dev/null || (brew tap go-swagger/go-swagger && brew install go-swagger)
--swagger-api-spec-mac: ensure_go-swagger_mac $(API_DEFINITION_FILES) ## Generate API spec (for M1 Mac)
swagger generate spec -m -w pkg/server -o public/api-spec.json \
-x "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" \
-x "github.com/prometheus/alertmanager" \
-i pkg/api/docs/tags.json
swagger-api-spec-mac: gen-go --swagger-api-spec-mac $(MERGED_SPEC_TARGET)
validate-api-spec: $(MERGED_SPEC_TARGET) ## Validate API spec
docker run --rm -it \
-e GOPATH=${HOME}/go:/go \
-e SWAGGER_GENERATE_EXTENSION=false \
-v ${HOME}/go:/go \
-v $$(pwd):/grafana \
-w $$(pwd)/pkg/api/docs quay.io/goswagger/swagger:$(SWAGGER_TAG) \
validate /grafana/$(<)
clean-api-spec:
rm $(SPEC_TARGET) $(MERGED_SPEC_TARGET)
##@ Building
gen-go: $(WIRE)
@echo "generate go files"
$(WIRE) gen -tags $(WIRE_TAGS) ./pkg/server ./pkg/cmd/grafana-cli/runner
build-go: gen-go ## Build all Go binaries.
build-go: $(MERGED_SPEC_TARGET) gen-go ## Build all Go binaries.
@echo "build go files"
$(GO) run build.go build
@@ -99,6 +150,11 @@ build-docker-full: ## Build Docker image for development.
@echo "build docker container"
docker build --tag grafana/grafana:dev .
build-docker-full-ubuntu: ## Build Docker image based on Ubuntu for development.
@echo "build docker container"
docker build --tag grafana/grafana:dev-ubuntu -f ./Dockerfile.ubuntu .
##@ Services
# create docker-compose file with provided sources and start them

View File

@@ -33,6 +33,9 @@
"allowDeclareFields": true
}
],
// added to mitigate https://github.com/babel/babel/issues/14289
// package (and following line) can be removed once the issue is fixed and released
"@babel/plugin-proposal-class-properties",
["@babel/plugin-proposal-object-rest-spread", { "loose": true }],
"@babel/plugin-transform-react-constant-elements",
"@babel/plugin-proposal-nullish-coalescing-operator",

View File

@@ -122,6 +122,9 @@ path = grafana.db
# For "sqlite3" only. cache mode setting used for connecting to the database
cache_mode = private
# For "mysql" only if lockingMigration feature toggle is set. How many seconds to wait before failing to lock the database for the migrations, default is 0.
locking_attempt_timeout_sec = 0
#################################### Cache server #############################
[remote_cache]
# Either "redis", "memcached" or "database" default is "database"
@@ -397,12 +400,18 @@ oauth_auto_login = false
# OAuth state max age cookie duration in seconds. Defaults to 600 seconds.
oauth_state_cookie_max_age = 600
# Skip forced assignment of OrgID 1 or 'auto_assign_org_id' for social logins
oauth_skip_org_role_update_sync = false
# limit of api_key seconds to live before expiration
api_key_max_seconds_to_live = -1
# Set to true to enable SigV4 authentication option for HTTP-based datasources
sigv4_auth_enabled = false
# Set to true to enable verbose logging of SigV4 request signing
sigv4_verbose_logging = false
#################################### Anonymous Auth ######################
[auth.anonymous]
# enable anonymous access
@@ -491,6 +500,7 @@ allowed_groups =
#################################### Okta OAuth #######################
[auth.okta]
name = Okta
icon = okta
enabled = false
allow_sign_up = true
client_id = some_id
@@ -507,6 +517,7 @@ role_attribute_strict = false
#################################### Generic OAuth #######################
[auth.generic_oauth]
name = OAuth
icon = signin
enabled = false
allow_sign_up = true
client_id = some_id
@@ -550,6 +561,7 @@ ldap_sync_ttl = 60
sync_ttl = 60
whitelist =
headers =
headers_encoded = false
enable_login_token = false
#################################### Auth JWT ##########################
@@ -871,14 +883,14 @@ enabled = true
enabled = false
#################################### Internal Grafana Metrics ############
# Metrics available at HTTP API Url /metrics
# Metrics available at HTTP URL /metrics and /metrics/plugins/:pluginId
[metrics]
enabled = true
interval_seconds = 10
# Disable total stats (stat_totals_*) metrics to be generated
disable_total_stats = false
#If both are set, basic auth will be required for the metrics endpoint.
#If both are set, basic auth will be required for the metrics endpoints.
basic_auth_username =
basic_auth_password =

View File

@@ -123,6 +123,9 @@
# For "sqlite3" only. cache mode setting used for connecting to the database. (private, shared)
;cache_mode = private
# For "mysql" only if lockingMigration feature toggle is set. How many seconds to wait before failing to lock the database for the migrations, default is 0.
;locking_attempt_timeout_sec = 0
################################### Data sources #########################
[datasources]
# Upper limit of data sources that Grafana will return. This limit is a temporary configuration and it will be deprecated when pagination will be introduced on the list data sources API.
@@ -391,12 +394,18 @@
# OAuth state max age cookie duration in seconds. Defaults to 600 seconds.
;oauth_state_cookie_max_age = 600
# Skip forced assignment of OrgID 1 or 'auto_assign_org_id' for social logins
;oauth_skip_org_role_update_sync = false
# limit of api_key seconds to live before expiration
;api_key_max_seconds_to_live = -1
# Set to true to enable SigV4 authentication option for HTTP-based datasources.
;sigv4_auth_enabled = false
# Set to true to enable verbose logging of SigV4 request signing
;sigv4_verbose_logging = false
#################################### Anonymous Auth ######################
[auth.anonymous]
# enable anonymous access
@@ -533,6 +542,8 @@
;sync_ttl = 60
;whitelist = 192.168.1.1, 192.168.2.1
;headers = Email:X-User-Email, Name:X-User-Name
# Non-ASCII strings in header values are encoded using quoted-printable encoding
;headers_encoded = false
# Read the auth proxy docs for details on what the setting below enables
;enable_login_token = false
@@ -854,7 +865,7 @@
;enabled = false
#################################### Internal Grafana Metrics ##########################
# Metrics available at HTTP API Url /metrics
# Metrics available at HTTP URL /metrics and /metrics/plugins/:pluginId
[metrics]
# Disable / Enable internal metrics
;enabled = true
@@ -863,7 +874,7 @@
# Disable total stats (stat_totals_*) metrics to be generated
;disable_total_stats = false
#If both are set, basic auth will be required for the metrics endpoint.
#If both are set, basic auth will be required for the metrics endpoints.
; basic_auth_username =
; basic_auth_password =

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

@@ -37,3 +37,8 @@ scrape_configs:
- job_name: 'prometheus-random-data'
static_configs:
- targets: ['prometheus-random-data:8080']
# - job_name: 'grafana-test-datasource'
# metrics_path: /metrics/plugins/grafana-test-datasource
# static_configs:
# - targets: ['host.docker.internal:3000']

View File

@@ -14,7 +14,7 @@ Grafana has default and custom configuration files. You can customize your Grafa
## Configuration file location
The default settings for a Grafana instance are stored in the `$WORKING_DIR/conf/defaults.ini` file. _Do not_ change the location in this file.
The default settings for a Grafana instance are stored in the `$WORKING_DIR/conf/defaults.ini` file. _Do not_ change this file.
Depending on your OS, your custom configuration file is either the `$WORKING_DIR/conf/defaults.ini` file or the `/usr/local/etc/grafana/grafana.ini` file. The custom configuration file path can be overridden using the `--config` parameter.
@@ -202,6 +202,8 @@ Another way is to put a web server like Nginx or Apache in front of Grafana and
### domain
This setting is only used in as a part of the `root_url` setting (see below). Important if you use GitHub or Google OAuth.
### enforce_domain
Redirect to correct domain if the host header does not match the domain. Prevents DNS rebinding attacks. Default is `false`.
@@ -314,6 +316,10 @@ The maximum number of open connections to the database.
Sets the maximum amount of time a connection may be reused. The default is 14400 (which means 14400 seconds or 4 hours). For MySQL, this setting should be shorter than the [`wait_timeout`](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_wait_timeout) variable.
### locking_attempt_timeout_sec
For "mysql", if `lockingMigration` feature toggle is set, specify the time (in seconds) to wait before failing to lock the database for the migrations. Default is 0.
### log_queries
Set to `true` to log the sql calls and execution times.
@@ -357,6 +363,8 @@ Defaults to `private`.
## [remote_cache]
Caches authentication details and session information in the configured database, Redis or Memcached. This setting does not configure [Query Caching in Grafana Enterprise]({{< relref "../enterprise/query-caching.md" >}}).
### type
Either `redis`, `memcached`, or `database`. Defaults to `database`
@@ -747,6 +755,12 @@ This setting is ignored if multiple OAuth providers are configured. Default is `
How many seconds the OAuth state cookie lives before being deleted. Default is `600` (seconds)
Administrators can increase this if they experience OAuth login state mismatch errors.
### oauth_skip_org_role_update_sync
Skip forced assignment of OrgID `1` or `auto_assign_org_id` for external logins. Default is `false`.
Use this setting to distribute users with external login to multiple organizations.
Otherwise, the users' organization would get reset on every new login, for example, via AzureAD.
### api_key_max_seconds_to_live
Limit of API key seconds to live before expiration. Default is -1 (unlimited).
@@ -757,6 +771,12 @@ Limit of API key seconds to live before expiration. Default is -1 (unlimited).
Set to `true` to enable the AWS Signature Version 4 Authentication option for HTTP-based datasources. Default is `false`.
### sigv4_verbose_logging
> Only available in Grafana 8.4+.
Set to `true` to enable verbose request signature logging when AWS Signature Version 4 Authentication is enabled. Default is `false`.
<hr />
## [auth.anonymous]

View File

@@ -53,4 +53,4 @@ To change the team name or email, follow these steps:
## Change user name or email
To learn how to edit your user information, refer to [Grafana user account profile]({{< relref "../../manage-users/user-admin/user-profile.md" >}}).
To learn how to edit your user information, refer to [Edit your profile]({{< relref "../manage-user-preferences/_index.md#edit-your-profile" >}}).

View File

@@ -30,7 +30,7 @@ These instructions assume you have already added Prometheus as a data source in
1. Enable Prometheus to scrape metrics from Grafana. In your configuration file (`grafana.ini` or `custom.ini` depending on your operating system) remove the semicolon to enable the following configuration options:
```
# Metrics available at HTTP API Url /metrics
# Metrics available at HTTP URL /metrics and /metrics/plugins/:pluginId
[metrics]
# Disable / Enable internal metrics
enabled = true
@@ -39,7 +39,7 @@ These instructions assume you have already added Prometheus as a data source in
disable_total_stats = false
```
1. (optional) If you want to require authorization to view the metrics endpoint, then uncomment and set the following options:
1. (optional) If you want to require authorization to view the metrics endpoints, then uncomment and set the following options:
```
basic_auth_username =
@@ -92,3 +92,48 @@ These instructions assume you have already added Graphite as a data source in Gr
```
1. Restart Grafana. Grafana now exposes metrics at http://localhost:3000/metrics and sends them to the Graphite location you specified.
## Pull metrics from Grafana backend plugin into Prometheus
Any installed [backend plugin]({{< relref "../../developers/plugins/backend/_index.md" >}}) exposes a metrics endpoint through Grafana that you can configure Prometheus to scrape.
These instructions assume you have already added Prometheus as a data source in Grafana.
1. Enable Prometheus to scrape backend plugin metrics from Grafana. In your configuration file (`grafana.ini` or `custom.ini` depending on your operating system) remove the semicolon to enable the following configuration options:
```
# Metrics available at HTTP URL /metrics and /metrics/plugins/:pluginId
[metrics]
# Disable / Enable internal metrics
enabled = true
# Disable total stats (stat_totals_*) metrics to be generated
disable_total_stats = false
```
1. (optional) If you want to require authorization to view the metrics endpoints, then uncomment and set the following options:
```
basic_auth_username =
basic_auth_password =
```
1. Restart Grafana. Grafana now exposes metrics at `http://localhost:3000/metrics/plugins/<plugin id>`, e.g. http://localhost:3000/metrics/plugins/grafana-github-datasource if you have the [Grafana GitHub datasource](https://grafana.com/grafana/plugins/grafana-github-datasource/) installed.
1. Add the job to your prometheus.yml file.
Example:
```
- job_name: 'grafana_github_datasource'
scrape_interval: 15s
scrape_timeout: 5s
metrics_path: /metrics/plugins/grafana-test-datasource
static_configs:
- targets: ['localhost:3000']
```
1. Restart Prometheus. Your new job should appear on the Targets tab.
1. In Grafana, hover your mouse over the **Configuration** (gear) icon on the left sidebar and then click **Data Sources**.
1. Select the **Prometheus** data source.
1. Import a Golang application metrics dashboard - for example [Go Processes](https://grafana.com/grafana/dashboards/6671).

View File

@@ -15,10 +15,11 @@ Grafana 8.0 introduced new and improved alerting that centralizes alerting infor
Grafana alerting is enabled by default for new OSS installations. For older installations, it is still an [opt-in]({{< relref "./unified-alerting/opt-in.md" >}}) feature.
| Release | Cloud | Enterprise | OSS |
| ----------- | ------------- | ---------- | -------------------------------- |
| Grafana 8.2 | On by default | Opt-in | Opt-in |
| Grafana 8.3 | On by default | Opt-in | On by default for new installs\* |
| Release | Cloud | Enterprise | OSS |
| ------------------------ | ------------- | ------------- | -------------------------------- |
| Grafana 8.2 | On by default | Opt-in | Opt-in |
| Grafana 8.3 | On by default | Opt-in | On by default for new installs\* |
| Grafana 9.0 (unreleased) | On by default | On by default | On by default |
> **Note:** New installs include existing installs which do not have any alerts configured.

View File

@@ -7,7 +7,7 @@ weight = 114
Grafana alerting is enabled by default for new OSS installations. For older installations, it is still an [opt-in]({{< relref "../unified-alerting/opt-in.md" >}}) feature.
> **Note**: Legacy dashboard alerts is deprecated and will be removed in a future release. We encourage you to migrate to [Grafana alerting]({{< relref "../unified-alerting/_index.md" >}}) for all existing installations.
> **Note**: Legacy dashboard alerts are deprecated and will be removed in Grafana 9. We encourage you to migrate to [Grafana alerting]({{< relref "../unified-alerting/_index.md" >}}) for all existing installations.
Legacy dashboard alerts have two main components:

View File

@@ -11,7 +11,7 @@ Annotations and labels are key value pairs associated with alerts originating fr
## Annotations
Annotations are key-value pairs that provide additional meta-information about an alert. For example: a description, a summary, and runbook URL. These are displayed in rule and alert details in the UI and can be used in contact point message templates.
Annotations are key-value pairs that provide additional meta-information about an alert. You can use the following annotations: `description`, `summary`, `runbook_url`, `alertId`, `dashboardUid`, and `panelId`. For example, a description, a summary, and a runbook URL. These are displayed in rule and alert details in the UI and can be used in contact point message templates.
## Labels
@@ -20,7 +20,7 @@ Labels are key-value pairs that contain information about, and are used to uniqu
### How are labels used?
- The complete set of labels for an alert is what uniquely identifies an alert within Grafana Alerts.
- The Alertmanager uses labels to match alerts for [silences]({{< relref "../silences/" >}}) and [alert groups]({{< relref "../alert-groups/" >}}) in [notification policies]({{< relref "../notification-policies/" >}}).
- The Alertmanager uses labels to match alerts for [silences]({{< relref "../silences/" >}}) and [alert groups]({{< relref "../alert-groups/" >}}) in [notification policies]({{< relref "../notifications/_index.md" >}}).
- The alerting UI displays labels for every alert instance generated by the evaluation of that rule.
- Contact points can access labels to dynamically generate notifications that contain information specific to the alert that is resulting in a notification.
- Labels can be added to an [alerting rule]({{< relref "../alerting-rules/" >}}). These manually configured labels are able to use template functions and reference other labels. Labels added to an alerting rule here take precedence in the event of a collision between labels.

View File

@@ -149,7 +149,6 @@ Example JSON body:
"version": "1",
"groupKey": "{}:{}",
"truncatedAlerts": 0,
"orgId": 1,
"title": "[FIRING:2] (blue)",
"state": "alerting",
"message": "**Firing**\n\nLabels:\n - alertname = T2\n - team = blue\n - zone = us-1\nAnnotations:\n - description = This is the alert rule checking the second system\n - runbook_url = https://myrunbook.com\n - summary = This is my summary\nSource: https://play.grafana.org/alerting/1afz29v7z/edit\nSilence: https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT2%2Cteam%3Dblue%2Czone%3Dus-1\n\nLabels:\n - alertname = T1\n - team = blue\n - zone = eu-1\nAnnotations:\nSource: https://play.grafana.org/alerting/d1rdpdv7k/edit\nSilence: https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT1%2Cteam%3Dblue%2Czone%3Deu-1\n"

View File

@@ -1,5 +1,5 @@
+++
title = " Configure high availability"
title = " High availability"
description = "High Availability"
keywords = ["grafana", "alerting", "tutorials", "ha", "high availability"]
weight = 450
@@ -11,25 +11,7 @@ The Grafana alerting system has two main components: a `Scheduler` and an intern
When it comes to running Grafana alerting in high availability the operational mode of the scheduler is unaffected such that all alerts continue be evaluated in each Grafana instance. Rather the operational change happens in the Alertmanager which **deduplicates** alert notifications across Grafana instances.
```
.─────.
╲ ┌────────────────┐
( User )──────┐ ┌──────────────────────────────────┐ │ │
`. ,' │ │┌─────────┐ ┌──────────────┐ │ │ ▼
`───' │ ││Scheduler│──────▶Alertmananager│─┼──┘ ┌──────────────────────┐
│ ┌───────────┐ ┌─▶│└─────────┘ ▲──────────────┤ │ │ │
.─────. │ │ Load │ │ │Grafana │ │ │ │ │
╲ │ │ Balancing │ │ └─────────────────┼──────────────┼─┘ │ Integrations │
( User )──────┼─────▶│ Reverse │──┤ ┌─────────────────┼──────────────┼─┐ │ │
`. ,' │ │ Proxy │ │ │┌─────────┐ ├──────────────▼ │ │ │
`───' │ └───────────┘ │ ││Scheduler│──────▶Alertmananager│─┼──┐ └──────────────────────┘
│ └─▶│└─────────┘ └──────────────┘ │ │ ▲
.─────. │ │Grafana │ │ │
╲ │ └──────────────────────────────────┘ └────────────────┘
( User )──────┘
`. ,'
`───'
```
{{< figure src="/static/img/docs/alerting/unified/high-availability-ua.png" class="docs-image--no-shadow" max-width= "750px" caption="High availability" >}}
The coordination between Grafana instances happens via [a Gossip protocol](https://en.wikipedia.org/wiki/Gossip_protocol). Alerts are not gossiped between instances. It is expected that each scheduler delivers the same alerts to each Alertmanager.

View File

@@ -9,7 +9,7 @@ weight = 450
Notification policies determine how alerts are routed to contact points. Policies have a tree structure, where each policy can have one or more child policies. Each policy, except for the root policy, can also match specific alert labels. Each alert is evaluated by the root policy and subsequently by each child policy. If you enable the `Continue matching subsequent sibling nodes` option is enabled for a specific policy, then evaluation continues even after one or more matches. A parent policys configuration settings and contact point information govern the behavior of an alert that does not match any of the child policies. A root policy governs any alert that does not match a specific policy.
You can configure Grafana managed notification policies as well as notification policies for an [external Alertmanager data source]({{< relref "../../datasources/alertmanager.md" >}}). For more information, see [Alertmanager]({{< relref "./fundamentals/alertmanager.md" >}}).
You can configure Grafana managed notification policies as well as notification policies for an [external Alertmanager data source]({{< relref "../../../datasources/alertmanager.md" >}}). For more information, see [Alertmanager]({{< relref "../fundamentals/alertmanager.md" >}}).
## Grouping
@@ -33,7 +33,7 @@ You can configure grouping to be `group_by: [alertname]` (take note that the `en
1. Click **Notification policies**.
1. From the **Alertmanager** dropdown, select an external Alertmanager. By default, the Grafana Alertmanager is selected.
1. In the Root policy section, click **Edit** (pen icon).
1. In **Default contact point**, update the [contact point]({{< relref "./contact-points.md" >}}) to whom notifications should be sent for rules when alert rules do not match any specific policy.
1. In **Default contact point**, update the [contact point]({{< relref "../contact-points.md" >}}) to whom notifications should be sent for rules when alert rules do not match any specific policy.
1. In **Group by**, choose labels to group alerts by. If multiple alerts are matched for this policy, then they are grouped by these labels. A notification is sent per group. If the field is empty (default), then all notifications are sent in a single group. Use a special label `...` to group alerts by all labels (which effectively disables grouping).
1. In **Timing options**, select from the following options:
- **Group wait** Time to wait to buffer alerts of the same group before sending an initial notification. Default is 30 seconds.
@@ -48,7 +48,7 @@ You can configure grouping to be `group_by: [alertname]` (take note that the `en
1. From the **Alertmanager** dropdown, select an Alertmanager. By default, the Grafana Alertmanager is selected.
1. To add a top level specific policy, go to the **Specific routing** section and click **New specific policy**.
1. In **Matching labels** section, add one or more rules for matching alert labels. For more information, see ["How label matching works"](#how-label-matching-works).
1. In **Contact point**, add the [contact point]({{< relref "./contact-points.md" >}}) to send notification to if alert matches only this specific policy and not any of the nested policies.
1. In **Contact point**, add the [contact point]({{< relref "../contact-points.md" >}}) to send notification to if alert matches only this specific policy and not any of the nested policies.
1. Optionally, enable **Continue matching subsequent sibling nodes** to continue matching nested policies even after the alert matched the parent policy. When this option is enabled, you can get more than one notification. Use it to send notification to a catch-all contact point as well as to one of more specific contact points handled by nested policies.
1. Optionally, enable **Override grouping** to specify the same grouping as the root policy. If this option is not enabled, the root policy grouping is used.
1. Optionally, enable **Override general timings** to override the timing options configured in the group notification policy.

View File

@@ -7,11 +7,11 @@ weight = 450
# Mute timings
A mute timing is a recurring interval of time when no new notifications for a policy are generated or sent. are sent for a policy. Use them to prevent alerts from firing a specific and reoccurring period, for example, a regular maintenance period.
A mute timing is a recurring interval of time when no new notifications for a policy are generated or sent. Use them to prevent alerts from firing a specific and reoccurring period, for example, a regular maintenance period.
Similar to silences, mute timings do not prevent alert rules from being evaluated, nor do they stop alert instances from being shown in the user interface. They only prevent notifications from being created.
You can configure Grafana managed mute timings as well as mute timings for an [external Alertmanager data source]({{< relref "../../datasources/alertmanager.md" >}}). For more information, see [Alertmanager]({{< relref "./fundamentals/alertmanager.md" >}}).
You can configure Grafana managed mute timings as well as mute timings for an [external Alertmanager data source]({{< relref "../../../datasources/alertmanager.md" >}}). For more information, see [Alertmanager]({{< relref "../fundamentals/alertmanager.md" >}}).
## Mute timings vs silences

View File

@@ -32,6 +32,8 @@ whitelist =
# Optionally define more headers to sync other user attributes
# Example `headers = Name:X-WEBAUTH-NAME Role:X-WEBAUTH-ROLE Email:X-WEBAUTH-EMAIL Groups:X-WEBAUTH-GROUPS`
headers =
# Non-ASCII strings in header values are encoded using quoted-printable encoding
;headers_encoded = false
# Check out docs on this for more details on the below setting
enable_login_token = false
```

View File

@@ -27,6 +27,8 @@ Example config:
```bash
[auth.generic_oauth]
name = OAuth
icon = signin
enabled = true
client_id = YOUR_APP_CLIENT_ID
client_secret = YOUR_APP_CLIENT_SECRET

View File

@@ -68,7 +68,7 @@ ssl_skip_verify = false
bind_dn = "cn=admin,dc=grafana,dc=org"
# Search user bind password
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
bind_password = 'grafana'
bind_password = "grafana"
# User search filter, for example "(cn=%s)" or "(sAMAccountName=%s)" or "(uid=%s)"
# Allow login from email or username, example "(|(sAMAccountName=%s)(userPrincipalName=%s))"
@@ -236,7 +236,7 @@ use_ssl = false
start_tls = false
ssl_skip_verify = false
bind_dn = "cn=admin,dc=grafana,dc=org"
bind_password = 'grafana'
bind_password = "grafana"
search_filter = "(cn=%s)"
search_base_dns = ["dc=grafana,dc=org"]
@@ -263,7 +263,7 @@ use_ssl = false
start_tls = false
ssl_skip_verify = false
bind_dn = "cn=admin,dc=grafana,dc=org"
bind_password = 'grafana'
bind_password = "grafana"
search_filter = "(cn=%s)"
search_base_dns = ["ou=users,dc=grafana,dc=org"]
@@ -286,7 +286,7 @@ start_tls = false
ssl_skip_verify = false
bind_dn = "cn=admin,dc=grafana,dc=org"
bind_password = 'grafana'
bind_password = "grafana"
search_filter = "(cn=%s)"
search_base_dns = ["ou=users,dc=grafana,dc=org"]

View File

@@ -38,6 +38,7 @@ Before you can sign a user in, you need to create an Okta application from the O
```ini
[auth.okta]
name = Okta
icon = okta
enabled = true
allow_sign_up = true
client_id = some_id

View File

@@ -19,4 +19,4 @@ This mechanism allows Grafana to remove an existing synchronized user from a tea
<div class="clearfix"></div>
> Team Sync is available in Grafana Enterprise Cloud Pro and Advanced and in Grafana Enterprise. For more information, refer to [Team sync]({{< relref "../enterprise/team-sync.md" >}}) in [Grafana Enterprise]({{< relref "../enterprise" >}}).
> Team Sync is available in both Grafana Enterprise and Grafana Cloud Advanced. For more information, refer to [Team sync]({{< relref "../enterprise/team-sync.md" >}}) in [Grafana Enterprise]({{< relref "../enterprise" >}}).

View File

@@ -4,58 +4,25 @@ aliases = ["/docs/grafana/latest/features/dashboard/dashboards/"]
weight = 80
+++
# Dashboard overview
# About Grafana dashboards
A _dashboard_ is a set of one or more panels organized and arranged into one or more rows. Grafana ships with a variety of Panels. Grafana makes it easy to construct the right queries, and customize the display properties so that you can create the perfect dashboard for your need. Each panel can interact with data from any configured Grafana Data Source (currently Graphite, Prometheus, Elasticsearch, InfluxDB, OpenTSDB, MySQL, PostgreSQL, Microsoft SQL Server and AWS Cloudwatch).
A dashboard is a set of one or more [panels]({{< relref "../panels/_index.md" >}}) organized and arranged into one or more rows. Grafana ships with a variety of panels making it easy to construct the right queries, and customize the visualization so that you can create the perfect dashboard for your need. Each panel can interact with data from any configured Grafana [data source]({{< relref "../datasources/_index.md" >}}).
## Dashboard UI
Dashboard snapshots are static . Queries and expressions cannot be re-executed from snapshots. As a result, if you update any variables in your query or expression, it will not change your dashboard data.
<img src="/static/img/docs/v50/dashboard_annotated.png" class="no-shadow" width="700px">
Before you begin, ensure that you have configured a data source. See also:
1. Zoom out time range
1. Time picker dropdown. Here you can access relative time range options, auto refresh options and set custom absolute time ranges.
1. Manual refresh button. Will cause all panels to refresh (fetch new data).
1. Dashboard panel. Click the panel title to edit panels.
1. Graph legend. You can change series colors, y-axis and series visibility directly from the legend.
## Dashboard header
Click the new Dashboard link on the right side of the Dashboard picker. You now have a blank Dashboard.
<img class="no-shadow" src="/static/img/docs/v50/top_nav_annotated.png" width="580px">
The image above shows you the top header for a Dashboard.
1. Side menubar toggle: This toggles the side menu, allowing you to focus on the data presented in the dashboard. The side menu provides access to features unrelated to a Dashboard such as Users, Organizations, and Data Sources.
1. Dashboard dropdown: This dropdown shows you which Dashboard you are currently viewing, and allows you to easily switch to a new Dashboard. From here you can also create a new Dashboard or folder, import existing Dashboards, and manage Dashboard playlists.
1. Add Panel: Adds a new panel to the current Dashboard.
1. Star Dashboard: Star (or unstar) the current Dashboard. Starred Dashboards will show up on your own Home Dashboard by default, and are a convenient way to mark Dashboards that you're interested in.
1. Share Dashboard: Share the current dashboard by creating a link or create a static Snapshot of it. Make sure the Dashboard is saved before sharing.
1. Save dashboard: The current Dashboard will be saved with the current Dashboard name.
1. Settings: Manage Dashboard settings and features such as Templating and Annotations.
## Manage dashboards
The time period for the dashboard can be controlled by the [Time range controls]({{< relref "time-range-controls.md" >}}) in the upper right of the dashboard.
Dashboards can use [templating]({{< relref "../variables/_index.md" >}}) to make them more dynamic and interactive.
Dashboards can use [annotations]({{< relref "annotations.md" >}}) to display event data across panels. This can help correlate the time series data in the panel with other events.
You can [share dashboards]({{< relref "../sharing/share-dashboard.md" >}}) in a variety of ways.
Dashboards can be tagged, and the dashboard picker provides quick, searchable access to all dashboards in a particular organization.
## Rows
A _row_ is a logical divider within a dashboard. It is used to group panels together.
Rows are always 12 “units” wide. These units are automatically scaled dependent on the horizontal resolution of your browser. You can control the relative width of panels within a row by setting their specific width.
We use a unit abstraction so that Grafana looks great on all screen sizes.
> **Note:** With MaxDataPoint functionality, Grafana can show you the perfect number of data points, regardless of resolution or time range.
Collapse a row by clicking on the row title. If you save a dashboard with a row collapsed, then it saves in that state and does not load those graphs until you expand the row.
Use the [repeating rows]({{< relref "../variables/_index.md#repeating-rows" >}}) functionality to dynamically create or remove entire rows, which can be filled with panels, based on the template variables selected.
- [Working with Grafana dashboard UI]({{< relref "./dashboard-ui/_index.md" >}})
- [Dashboard folders]({{< relref "./dashboard-folders.md" >}})
- [Create dashboard]({{< relref "./dashboard-create" >}})
- [Manage dashboards]({{< relref "./dashboard-manage.md" >}})
- [Annotations]({{< relref "./annotations.md" >}})
- [Playlist]({{< relref "./playlist.md" >}})
- [Search]({{< relref "./search.md" >}})
- [Keyboard shortcuts]({{< relref "./shortcuts.md" >}})
- [Reporting]({{< relref "./reporting.md" >}})
- [Time range controls]({{< relref "./time-range-controls.md" >}})
- [Dashboard version history]({{< relref "./dashboard-history.md" >}})
- [Dashboard export and import]({{< relref "./export-import.md" >}})
- [Dashboard JSON model]({{< relref "./json-model.md" >}})
- [Scripted dashboards]({{< relref "./scripted-dashboards.md" >}})

View File

@@ -2,16 +2,16 @@
title = "Annotations"
keywords = ["grafana", "annotations", "documentation", "guide"]
aliases = ["/docs/grafana/latest/reference/annotations/"]
weight = 2
weight = 9
+++
# Annotations
{{< figure src="/static/img/docs/v46/annotations.png" max-width="800px" >}}
Annotations provide a way to mark points on the graph with rich events. When you hover over an annotation
you can get event description and event tags. The text field can include links to other systems with more detail.
{{< figure src="/static/img/docs/v46/annotations.png" max-width="800px" >}}
## Native annotations
Grafana comes with a native annotation store and the ability to add annotation events directly from the graph panel or via the [HTTP API]({{< relref "../http_api/annotations.md" >}}).

View File

@@ -0,0 +1,11 @@
+++
title = "Create dashboards"
aliases = ["/docs/grafana/latest/features/dashboard/dashboards/"]
weight = 7
+++
## Create dashboard
To create a new dashboard:
Click the new dashboard link on the right side of the time picker. A blank dashboard is created.

View File

@@ -0,0 +1,17 @@
+++
title = "Manage dashboards"
aliases = ["/docs/grafana/latest/features/dashboard/dashboards/"]
weight = 8
+++
## Manage dashboards
When managing dashboads, you can use:
- Select a time period for a dashboard using the [Time range controls]({{< relref "time-range-controls.md" >}}) in the upper right of the dashboard.
- Tag dashboards.
- Use [templating]({{< relref "../variables/_index.md" >}}) to make them more dynamic and interactive.
- Use [annotations]({{< relref "annotations.md" >}}) to display event data across panels. This can help correlate the time series data in the panel with other events.
- Use the dashboard picker for quick, searchable access to all dashboards in a particular organization.
You can also [share dashboards]({{< relref "../sharing/share-dashboard.md" >}}) in a variety of ways.

View File

@@ -0,0 +1,19 @@
+++
title = " Dashboard UI"
aliases = ["/docs/grafana/latest/features/dashboard/dashboards/"]
weight = 2
+++
# Working with Grafana dashboard UI
The dashboard UI has the following sections to allow you to customize the presentation of data.
<img src="/static/img/docs/v50/dashboard_annotated.png" class="no-shadow" width="700px">
- **Zoom out time range** (1)
- **Time picker dropdown** (2). Access relative time range options, auto refresh options and set custom absolute time ranges.
- **Manual refresh option** (3) Fetch new data.
- **Dashboard panel** (4) Click the panel title to edit panels.
- **Graph legend** (5) Change series colors, y-axis and series visibility directly from the legend.
For more details, see [Dashboard header]({{< relref "./dashboard-header.md" >}}) and [Dashboard rows]({{< relref "./dashboard-row.md" >}}).

View File

@@ -0,0 +1,21 @@
+++
title = "Dashboard header"
aliases = ["/docs/grafana/latest/features/dashboard/dashboards/"]
weight = 80
+++
## Dashboard header
The dashboard header has the following sections.
<img class="no-shadow" src="/static/img/docs/v50/top_nav_annotated.png" width="580px">
- **Side menubar toggle** (1): This option toggles the side menu. It provides access to features unrelated to a dashboard such as users, organizations, data sources, and alerting.
- **Dashboard dropdown** (2): Use this option to view the current dashboard name. From here, you can:
- Select another dashboard name to easily switch to that dashboard.
- Create a new dashboard or folder, import existing dashboards, and manage dashboard playlists.
- **Add panel** (3): Use this option to add a new panel to the current dashboard.
- **Star dashboard** (4): Use this option to star (or unstar) the current dashboard. Starred dashboards show up on your own homw dashboard by default. It is a convenient way to mark Dashboards that you're interested in.
- **Share dashboard** (5): Use this option to share the current dashboard by creating a link or create a static snapshot of it. You must save the dashboard before sharing.
- **Save dashboard** (6): Use this option to save the current dashboard using its current name.
- **Settings** (7): Use this option to manage dashboard settings and configure templates and annotations.

View File

@@ -0,0 +1,21 @@
+++
title = "Dashboard rows"
aliases = ["/docs/grafana/latest/features/dashboard/dashboards/"]
weight = 80
+++
# Dshboard rows
A dashboard row is a logical divider within a dashboard. It is used to group panels together.
Grafana uses a base unit abstraction so that dashboards and panels look great on all screen sizes. Dashboard rows are always 12 “units” wide. These units are automatically scaled dependent on the horizontal resolution of your browser. You can control the relative width of panels within a row by setting their specific width.
> **Note:** With MaxDataPoint functionality, Grafana can show you the perfect number of data points, regardless of resolution or time range.
## Create or remove rows
Use the [repeating rows]({{< relref "../../variables/_index.md#repeating-rows" >}}) functionality to dynamically create or remove entire rows, which can be filled with panels, based on the template variables selected.
## Collapse rows
Collapse a row by clicking on the row title. If you save a dashboard with a row collapsed, then it saves in that state and does not load those graphs until you expand the row.

View File

@@ -2,7 +2,7 @@
title = "Dashboard Folders"
keywords = ["grafana", "dashboard", "dashboard folders", "folder", "folders", "documentation", "guide"]
aliases = ["/docs/grafana/latest/reference/dashboard_folders/"]
weight = 3
weight = 6
+++
# Dashboard Folders

View File

@@ -1,11 +1,11 @@
+++
title = "Dashboard Version History"
title = "Dashboard version history"
keywords = ["grafana", "dashboard", "documentation", "version", "history"]
aliases = ["/docs/grafana/latest/reference/dashboard_history/"]
weight = 100
weight = 14
+++
# Dashboard Version History
# Dashboard version history
Whenever you save a version of your dashboard, a copy of that version is saved so that previous versions of your dashboard are never lost. A list of these versions is available by entering the dashboard settings and then selecting "Versions" in the left side menu.

View File

@@ -2,17 +2,23 @@
title = "Playlist"
keywords = ["grafana", "dashboard", "documentation", "playlist"]
aliases = ["/docs/grafana/latest/reference/playlist/"]
weight = 4
weight = 9
+++
# Playlist
A playlist displays a list of dashboards that are in a sequence. Use a playlist to build situational awareness or to present your metrics to your team or visitors. Grafana automatically scales dashboards to any resolution, which makes them perfect for big screens. This topic has the following sections:
- [Access, share, and control a playlist](#access-share-and-control-a-playlist)
- [Create a playlist](#create-a-playlist)
- [Edit or delete a playlist](#edit-or-delete-a-playlist)
- [Share a playlist](#share-a-playlist-in-a-view-mode)
- [Playlist](#playlist)
- [Access, share, and control a playlist](#access-share-and-control-a-playlist)
- [Access playlist](#access-playlist)
- [Start a playlist](#start-a-playlist)
- [Control a playlist](#control-a-playlist)
- [Create a playlist](#create-a-playlist)
- [Edit or delete a playlist](#edit-or-delete-a-playlist)
- [Edit a playlist](#edit-a-playlist)
- [Delete a playlist](#delete-a-playlist)
- [Share a playlist in a view mode](#share-a-playlist-in-a-view-mode)
## Access, share, and control a playlist

View File

@@ -3,7 +3,7 @@ title = "Reporting"
description = ""
keywords = ["grafana", "reporting"]
aliases = ["/docs/grafana/latest/administration/reports"]
weight = 8
weight = 10
+++
# Reporting

View File

@@ -2,7 +2,7 @@
title = "Search"
keywords = ["grafana", "dashboard", "documentation", "search"]
aliases =["/docs/grafana/latest/reference/search/"]
weight = 5
weight = 9
+++
# Dashboard Search

View File

@@ -1,6 +1,6 @@
+++
title = "Keyboard shortcuts"
weight = 7
weight = 10
+++
# Keyboard shortcuts

View File

@@ -2,7 +2,7 @@
title = "Time range controls"
keywords = ["grafana", "dashboard", "documentation", "time range"]
aliases = ["/docs/grafana/latest/reference/timerange/"]
weight = 7
weight = 13
+++
# Time range controls
@@ -36,7 +36,7 @@ Here are some examples:
### Note about Grafana alerting
For Grafana alerting, we do not support are the following syntaxes at this time.
For Grafana alerting, we do not support the following syntaxes at this time.
- now+n for future timestamps.
- now-1n/n for "start of n until end of n" since this is an absolute timestamp.

View File

@@ -8,7 +8,7 @@ weight = 150
# Alertmanager data source
Grafana includes built-in support for Prometheus Alertmanager. It is presently in alpha and not accessible unless [alpha plugins are enabled in Grafana settings](https://grafana.com/docs/grafana/latest/administration/configuration/#enable_alpha). Once you add it as a data source, you can use the [Grafana alerting UI](https://grafana.com/docs/grafana/latest/alerting/) to manage silences, contact points as well as notification policies. A drop-down option in these pages allows you to switch between Grafana and any configured Alertmanager data sources.
Grafana includes built-in support for Prometheus Alertmanager. It is presently in alpha and not accessible unless [alpha plugins are enabled in Grafana settings](https://grafana.com/docs/grafana/latest/administration/configuration/#enable_alpha-1). Once you add it as a data source, you can use the [Grafana alerting UI](https://grafana.com/docs/grafana/latest/alerting/) to manage silences, contact points as well as notification policies. A drop-down option in these pages allows you to switch between Grafana and any configured Alertmanager data sources.
## Alertmanager implementations
@@ -26,7 +26,7 @@ apiVersion: 1
datasources:
- name: Alertmanager
type: alertmanager
url: http://localhost:9090
url: http://localhost:9093
access: proxy
jsonData:
implementation: 'prometheus' # alternatively 'cortex'

View File

@@ -26,7 +26,77 @@ For authentication options and configuration details, see [AWS authentication]({
Grafana needs permissions granted via IAM to be able to read CloudWatch metrics and EC2 tags/instances/regions/alarms. You can attach these permissions to the IAM role or IAM user configured in the previous step.
Here is a minimal policy example:
##### Metrics only example:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowReadingMetricsFromCloudWatch",
"Effect": "Allow",
"Action": [
"cloudwatch:DescribeAlarmsForMetric",
"cloudwatch:DescribeAlarmHistory",
"cloudwatch:DescribeAlarms",
"cloudwatch:ListMetrics",
"cloudwatch:GetMetricData",
"cloudwatch:GetInsightRuleReport"
],
"Resource": "*"
},
{
"Sid": "AllowReadingTagsInstancesRegionsFromEC2",
"Effect": "Allow",
"Action": ["ec2:DescribeTags", "ec2:DescribeInstances", "ec2:DescribeRegions"],
"Resource": "*"
},
{
"Sid": "AllowReadingResourcesForTags",
"Effect": "Allow",
"Action": "tag:GetResources",
"Resource": "*"
}
]
}
```
##### Logs only example:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowReadingLogsFromCloudWatch",
"Effect": "Allow",
"Action": [
"logs:DescribeLogGroups",
"logs:GetLogGroupFields",
"logs:StartQuery",
"logs:StopQuery",
"logs:GetQueryResults",
"logs:GetLogEvents"
],
"Resource": "*"
},
{
"Sid": "AllowReadingTagsInstancesRegionsFromEC2",
"Effect": "Allow",
"Action": ["ec2:DescribeTags", "ec2:DescribeInstances", "ec2:DescribeRegions"],
"Resource": "*"
},
{
"Sid": "AllowReadingResourcesForTags",
"Effect": "Allow",
"Action": "tag:GetResources",
"Resource": "*"
}
]
}
```
##### Metrics and Logs example:
```json
{
@@ -40,7 +110,6 @@ Here is a minimal policy example:
"cloudwatch:DescribeAlarmHistory",
"cloudwatch:DescribeAlarms",
"cloudwatch:ListMetrics",
"cloudwatch:GetMetricStatistics",
"cloudwatch:GetMetricData",
"cloudwatch:GetInsightRuleReport"
],

View File

@@ -32,6 +32,7 @@ This is a configuration for the [trace to logs feature]({{< relref "../explore/t
- **Data source -** Target data source.
- **Tags -** The tags that will be used in the Loki query. Default is `'cluster', 'hostname', 'namespace', 'pod'`.
- **Map tag names -** When enabled, allows configuring how Jaeger tag names map to Loki label names. For example, map `service.name` to `service`.
- **Span start time shift -** Shift in the start time for the Loki query based on the span start time. In order to extend to the past, you need to use a negative value. Use time interval units like 5s, 1m, 3h. The default is 0.
- **Span end time shift -** Shift in the end time for the Loki query based on the span end time. Time units can be used here, for example, 5s, 1m, 3h. The default is 0.
- **Filter by Trace ID -** Toggle to append the trace ID to the Loki query.
@@ -147,12 +148,15 @@ datasources:
tracesToLogs:
# Field with internal link pointing to a Loki data source in Grafana.
# datasourceUid value must match the `datasourceUid` value of the Loki data source.
datasourceUid: loki
tags:
- cluster
- hostname
- namespace
- pod
datasourceUid: 'loki'
tags: ['job', 'instance', 'pod', 'namespace']
mappedTags: [{ key: 'service.name', value: 'service' }]
mapTagNamesEnabled: false
spanStartTimeShift: '1h'
spanEndTimeShift: '1h'
filterByTraceID: false
filterBySpanID: false
lokiSearch: true
secureJsonData:
basicAuthPassword: my_password
```

View File

@@ -43,7 +43,7 @@ Each derived field consists of:
- **Name -** Shown in the log details as a label.
- **Regex -** A Regex pattern that runs on the log message and captures part of it as the value of the new field. Can only contain a single capture group.
- **URL/query -** If the link is external, then enter the full link URL. If the link is internal link, then this input serves as query for the target data source. In both cases, you can interpolate the value from the field with `${__value.raw }` macro.
- **URL/query -** If the link is external, then enter the full link URL. If the link is internal link, then this input serves as query for the target data source. In both cases, you can interpolate the value from the field with `${__value.raw}` macro.
- **URL Label -** (Optional) Set a custom display label for the link. The link label defaults to the full external URL or name of the linked internal data source and is overridden by this setting.
- **Internal link -** Select if the link is internal or external. In case of internal link, a data source selector allows you to select the target data source. Only tracing data sources are supported.

View File

@@ -31,6 +31,7 @@ This is a configuration for the [trace to logs feature]({{< relref "../explore/t
- **Data source -** Target data source.
- **Tags -** The tags that will be used in the Loki query. Default is `'cluster', 'hostname', 'namespace', 'pod'`.
- **Map tag names -** When enabled, allows configuring how Tempo tag names map to Loki label names. For example, map `service.name` to `service`.
- **Span start time shift -** A shift in the start time for the Loki query based on the start time for the span. To extend the time to the past, use a negative value. You can use time units, for example, 5s, 1m, 3h. The default is 0.
- **Span end time shift -** Shift in the end time for the Loki query based on the span end time. Time units can be used here, for example, 5s, 1m, 3h. The default is 0.
- **Filter by Trace ID -** Toggle to append the trace ID to the Loki query.
@@ -167,6 +168,8 @@ datasources:
tracesToLogs:
datasourceUid: 'loki'
tags: ['job', 'instance', 'pod', 'namespace']
mappedTags: [{ key: 'service.name', value: 'service' }]
mapTagNamesEnabled: false
spanStartTimeShift: '1h'
spanEndTimeShift: '1h'
filterByTraceID: false

View File

@@ -32,6 +32,7 @@ This is a configuration for the [trace to logs feature]({{< relref "../explore/t
- **Data source -** Target data source.
- **Tags -** The tags that will be used in the Loki query. Default is `'cluster', 'hostname', 'namespace', 'pod'`.
- **Map tag names -** When enabled, allows configuring how Zipkin tag names map to Loki label names. For example, map `service.name` to `service`.
- **Span start time shift -** Shift in the start time for the Loki query based on the span start time. In order to extend to the past, you need to use a negative value. Use time interval units like 5s, 1m, 3h. The default is 0.
- **Span end time shift -** Shift in the end time for the Loki query based on the span end time. Time units can be used here, for example, 5s, 1m, 3h. The default is 0.
- **Filter by Trace ID -** Toggle to append the trace ID to the Loki query.

View File

@@ -6,4 +6,10 @@ weight = 190
# Developers
This section of the documentation contains pages with resources for Grafana developers.
This section of the documentation contains pages with resources for Grafana developers:
- [Grafana Contribution Guide - learn how you can contribute your skills to make Grafana even better.]({{< relref "contribute.md" >}})
- [How to build a plugin]({{< relref "plugins" >}})
- [Grafana Tutorials - step-by-step guides that help you make the most of Grafana](https://grafana.com/tutorials/)
- [Grafana Community Forums - get technical support for open source Grafana, Loki, and Tempo.](https://community.grafana.com)
- [Grafana design system - library of reusable Grafana components and guidelines that help you with contribution and plugin development](https://developers.grafana.com)

View File

@@ -0,0 +1,32 @@
+++
title = "Angular support deprecation"
keywords = ["grafana", "documentation", "developers", "resources"]
+++
# Angular support deprecation
Angular plugin support is deprecated, and it will be removed in a future release. There are still many community plugins that depend on Grafanas angular plugin support for them to work. The same is true for many internal (private) plugins developed over the years by Grafana users. Grafana version 9 will have a server configuration option, global for the whole instance, that will control if angular plugin support is available or not. By default, angular plugin support will be disabled.
## Why are we deprecating angular support?
AngularJS is an old frontend framework that stopped active development many years ago. As a result, it is a security risk. AngularJS also requires unsafe-eval in the CSP (Content Security Policy) settings which also reduces the security level of how javascript is executed in the browser.
## When will angular plugins stop working?
In Grafana version 9 coming in June 2022, all angular plugins will stop working unless a new server configuration option is turned on. If you still depend on community or internally developed plugins that require AngularJS then you will have to turn this option on.
This is a good time to start working on migrating plugins to React.
Our plan is to fully remove angular plugin support in version 10 released in 2023. Meaning all plugins that do depend on angular will stop working and this temporary option to enable it introduced in v9 will be removed.
## How do I migrate an angular plugin to React?
Depending on if its a data source plugin, panel plugin, or app plugin the process will differ.
For panels, the rendering logic could in some cases be easily preserved but all options need to be redone to use the declarative options framework. For data source plugins the query editor and config options will likely need a total rewrite.
### Links
- [Migrate Angular to React](https://grafana.com/docs/grafana/latest/developers/plugins/migration-guide/#migrate-a-plugin-from-angular-to-react)
- [Build a panel plugin](https://grafana.com/tutorials/build-a-panel-plugin/)
- [Build a data source plugin](https://grafana.com/tutorials/build-a-data-source-plugin/)

View File

@@ -291,16 +291,27 @@ When configured, Grafana will pass the user's token to the plugin in an Authoriz
```go
func (ds *dataSource) QueryData(ctx context.Context, req *backend.QueryDataRequest) (*backend.QueryDataResponse, error) {
for _, q := range req.Queries {
token := strings.Fields(q.Headers.Get("Authorization"))
token := strings.Fields(req.Headers["Authorization"])
var (
tokenType = token[0]
accessToken = token[1]
)
var (
tokenType = token[0]
accessToken = token[1]
)
for _, q := range req.Queries {
// ...
}
}
```
// ...
}
In addition, if the user's token includes an ID token, Grafana will pass the user's ID token to the plugin in an `X-ID-Token` header, available on the `QueryDataRequest` object on the `QueryData` request in your backend data source.
```go
func (ds *dataSource) QueryData(ctx context.Context, req *backend.QueryDataRequest) (*backend.QueryDataResponse, error) {
idToken := req.Headers["X-ID-Token"]
for _, q := range req.Queries {
// ...
}
}
```

View File

@@ -80,26 +80,19 @@ For more information on the available variable formats, refer to [Advanced varia
## Set a variable from your plugin
Not only can you read the value of a variable, you can also update the variable from your plugin. Use LocationSrv.update()
Not only can you read the value of a variable, you can also update the variable from your plugin. Use `locationService.partial(query, replace)`.
The following example shows how to update a variable called `service`.
- `query` contains the query parameters you want to update. Query parameters controlling variables are prefixed with `var-`.
- `partial: true` makes the update only affect the query parameters listed in `query`, and leaves the other query parameters unchanged.
- `replace: true` tells Grafana to update the current URL state, rather than creating a new history entry.
```ts
import { getLocationSrv } from '@grafana/runtime';
import { locationService } from '@grafana/runtime';
```
```ts
getLocationSrv().update({
query: {
'var-service': 'billing',
},
partial: true,
replace: true,
});
locationService.partial({ 'var-service': 'billing' }, true);
```
> **Note:** Grafana queries your data source whenever you update a variable. Excessive updates to variables can slow down Grafana and lead to a poor user experience.

View File

@@ -12,29 +12,42 @@ This guide helps you identify the steps you need to take based on the Grafana ve
## Table of contents
- [From version 8.3.x to 8.4.x](#from-version-83x-to-84x)
- [Value Mapping Editor has been removed from @grafana-ui library](#value-mapping-editor-has-been-removed-from-grafana-ui-library)
- [Thresholds Editor has been removed from @grafana-ui library](#thresholds-editor-has-been-removed-from-grafana-ui-library)
- [From version 7.x.x to 8.x.x](#from-version-7xx-to-8xx)
- [Backend plugin v1 support has been dropped](#backend-plugin-v1-support-has-been-dropped)
- [1. Add dependency on grafana-plugin-sdk-go](#1-add-dependency-on-grafana-plugin-sdk-go)
- [2. Update the way you bootstrap your plugin](#2-update-the-way-you-bootstrap-your-plugin)
- [3. Update the plugin package](#3-update-the-plugin-package)
- [Sign and load backend plugins](#sign-and-load-backend-plugins)
- [Update react-hook-form from v6 to v7](#update-react-hook-form-from-v6-to-v7)
- [Update the plugin.json](#update-the-pluginjson)
- [Update imports to match emotion 11](#update-imports-to-match-emotion-11)
- [8.0 Deprecations](#80-deprecations)
- [Grafana theme v1](#grafana-theme-v1)
- [From version 6.2.x to 7.4.0](#from-version-62x-to-740)
- [Legend components](#legend-components)
- [From version 6.x.x to 7.0.0](#from-version-6xx-to-700)
- [What's new in Grafana 7.0?](#whats-new-in-grafana-70)
- [Migrate a plugin from Angular to React](#migrate-a-plugin-from-angular-to-react)
- [Migrate a panel plugin](#migrate-a-panel-plugin)
- [Migrate a data source plugin](#migrate-a-data-source-plugin)
- [Migrate to data frames](#migrate-to-data-frames)
- [Troubleshoot plugin migration](#troubleshoot-plugin-migration)
- [Plugin migration guide](#plugin-migration-guide)
- [Introduction](#introduction)
- [Table of contents](#table-of-contents)
- [From version 8.3.x to 8.4.x](#from-version-83x-to-84x)
- [Value Mapping Editor has been removed from @grafana-ui library](#value-mapping-editor-has-been-removed-from-grafana-ui-library)
- [Thresholds Editor has been removed from @grafana-ui library](#thresholds-editor-has-been-removed-from-grafana-ui-library)
- [8.4 deprecations](#84-deprecations)
- [LocationService replaces getLocationSrv](#locationservice-replaces-getlocationsrv)
- [From version 7.x.x to 8.x.x](#from-version-7xx-to-8xx)
- [Backend plugin v1 support has been dropped](#backend-plugin-v1-support-has-been-dropped)
- [1. Add dependency on grafana-plugin-sdk-go](#1-add-dependency-on-grafana-plugin-sdk-go)
- [2. Update the way you bootstrap your plugin](#2-update-the-way-you-bootstrap-your-plugin)
- [3. Update the plugin package](#3-update-the-plugin-package)
- [Sign and load backend plugins](#sign-and-load-backend-plugins)
- [Update react-hook-form from v6 to v7](#update-react-hook-form-from-v6-to-v7)
- [Update the plugin.json](#update-the-pluginjson)
- [Update imports to match emotion 11](#update-imports-to-match-emotion-11)
- [Update needed for app plugins using dashboards](#update-needed-for-app-plugins-using-dashboards)
- [8.0 deprecations](#80-deprecations)
- [Grafana theme v1](#grafana-theme-v1)
- [From version 6.2.x to 7.4.0](#from-version-62x-to-740)
- [Legend components](#legend-components)
- [From version 6.5.x to 7.3.0](#from-version-65x-to-730)
- [getColorForTheme changes](#getcolorfortheme-changes)
- [From version 6.x.x to 7.0.0](#from-version-6xx-to-700)
- [What's new in Grafana 7.0?](#whats-new-in-grafana-70)
- [New data format](#new-data-format)
- [Improved TypeScript support](#improved-typescript-support)
- [Grafana Toolkit](#grafana-toolkit)
- [Field options](#field-options)
- [Backend plugins](#backend-plugins)
- [Migrate a plugin from Angular to React](#migrate-a-plugin-from-angular-to-react)
- [Migrate a panel plugin](#migrate-a-panel-plugin)
- [Migrate a data source plugin](#migrate-a-data-source-plugin)
- [Migrate to data frames](#migrate-to-data-frames)
- [Troubleshoot plugin migration](#troubleshoot-plugin-migration)
## From version 8.3.x to 8.4.x
@@ -48,6 +61,81 @@ Removed due to being an internal component.
Removed due to being an internal component.
### 8.4 deprecations
#### LocationService replaces getLocationSrv
In a previous release, we migrated to use a new routing system and introduced a new service for managing locations, navigation, and related information. In this release, we are making that new service the primary service.
**Example:** Import the service.
```ts
// before
import { getLocationSrv } from '@grafana/runtime';
// after
import { locationService } from '@grafana/runtime';
```
**Example:** Navigate to a path and add a new record in the navigation history so that you can navigate back to the previous one.
```ts
// before
getLocationSrv.update({
path: '/route-to-navigate-to',
replace: false,
});
// after
locationService.push('/route-to-navigate-to');
```
**Example:** Navigate to a path and replace the current record in the navigation history.
```ts
// before
getLocationSrv.update({
path: '/route-to-navigate-to',
replace: true,
});
// after
locationService.replace('/route-to-navigate-to');
```
**Example:** Update the search or query parameter for the current route and add a new record in the navigation history so that you can navigate back to the previous one.
```ts
// How to navigate to a new path
// before
getLocationSrv.update({
query: {
value: 1,
},
partial: true,
replace: false,
});
// after
locationService.partial({ value: 1 });
```
**Example:** Update the search or query parameter for the current route and add replacing it in the navigation history.
```ts
// before
getLocationSrv.update({
query: {
'var-variable': 1,
},
partial: true,
replace: true,
});
// after
locationService.partial({ 'var-variable': 1 }, true);
```
## From version 7.x.x to 8.x.x
This section explains how to migrate Grafana v7.x.x plugins to the updated plugin system available in Grafana v8.x.x. Depending on your plugin, you need to perform one or more of the following steps. We have documented the breaking changes in Grafana v8.x.x and the steps you need to take to upgrade your plugin.
@@ -231,6 +319,42 @@ import { cx, css } from 'emotion';
import { cx, css } from '@emotion/css';
```
### Update needed for app plugins using dashboards
To make side navigation work properly - app plugins targeting Grafana `8.+` and integrating into the side menu via [addToNav]({{< relref "metadata.md#properties-4" >}}) property need to adjust their `plugin.json` and all dashboard json files to have a matching `uid`.
**`plugin.json`**
```json "linenos=inline,hl_lines=7,linenostart=1"
{
"id": "plugin-id",
// ...
"includes": [
{
"type": "dashboard",
"name": "(Team) Situation Overview",
"path": "dashboards/example-dashboard.json",
"addToNav": true,
"defaultNav": false,
"uid": "l3KqBxCMz"
}
]
// ...
}
```
**`dashboards/example-dashboard.json`**
```json
{
// ...
"title": "Example Dashboard",
"uid": "l3KqBxCMz",
"version": 1
// ...
}
```
### 8.0 deprecations
#### Grafana theme v1

View File

@@ -32,9 +32,9 @@ To verify ownership of your plugin, you need to generate an API key that you'll
Public plugins need to be reviewed by the Grafana team before you can sign them.
1. Submit your plugin for review by creating a pull request in the [grafana-plugin-repository](https://github.com/grafana/grafana-plugin-repository).
1. When your plugin is approved, you're granted a plugin signature level. **Without a plugin signature level, you won't be able to sign your plugin**.
1. In your plugin directory, sign the plugin with the API key you just created. Grafana Toolkit creates a [MANIFEST.txt](#plugin-manifest) file in the `dist` directory of your plugin.
1. Submit your plugin for [review]({{< relref "package-a-plugin.md#publishing-your-plugin-for-the-first-time" >}})
2. When your plugin is approved, you're granted a plugin signature level. **Without a plugin signature level, you won't be able to sign your plugin**.
3. In your plugin directory, sign the plugin with the API key you just created. Grafana Toolkit creates a [MANIFEST.txt](#plugin-manifest) file in the `dist` directory of your plugin.
```bash
export GRAFANA_API_KEY=<YOUR_API_KEY>

View File

@@ -38,13 +38,14 @@ The reference information that follows complements conceptual information about
| `fixed:organization:reader` | `orgs:read`<br>`orgs.quotas:read` | Read an organization and its quotas. |
| `fixed:organization:writer` | All permissions from `fixed:organization:reader` and <br> `orgs:write`<br>`orgs.preferences:read`<br>`orgs.preferences:write` | Read an organization, its quotas, or its preferences. Update organization properties, or its preferences. |
| `fixed:organization:maintainer` | All permissions from `fixed:organization:reader` and <br> `orgs:write`<br>`orgs:create`<br>`orgs:delete`<br>`orgs.quotas:write` | Create, read, write, or delete an organization. Read or write its quotas. This role needs to be assigned globally. |
| |
| `fixed:teams:creator` ` | `teams:create`<br>`org.users:read` | Create a team and list organization users (required to manage the created team). |
| `fixed:teams:writer` | `teams:create`<br>`teams:delete`<br>`teams:read`<br>`teams:write`<br>`teams.permissions:read`<br>`teams.permissions:write` | Create, read, update and delete teams and manage team memberships. |
## Default built-in role assignments
| Built-in role | Associated role | Description |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| Grafana Admin | `fixed:roles:reader`<br>`fixed:roles:writer`<br>`fixed:users:reader`<br>`fixed:users:writer`<br>`fixed:org.users:reader`<br>`fixed:org.users:writer`<br>`fixed:ldap:reader`<br>`fixed:ldap:writer`<br>`fixed:stats:reader`<br>`fixed:settings:reader`<br>`fixed:settings:writer`<br>`fixed:provisioning:writer`<br>`fixed:organization:reader`<br>`fixed:organization:maintainer`<br>`fixed:licensing:reader`<br>`fixed:licensing:writer` | Default [Grafana server administrator]({{< relref "../../permissions/_index.md#grafana-server-admin-role" >}}) assignments. |
| Admin | `fixed:reports:reader`<br>`fixed:reports:writer`<br>`fixed:datasources:reader`<br>`fixed:datasources:writer`<br>`fixed:organization:writer`<br>`fixed:datasources.permissions:reader`<br>`fixed:datasources.permissions:writer`<br> | Default [Grafana organization administrator]({{< relref "../../permissions/organization_roles.md" >}}) assignments. |
| Editor | `fixed:datasources:explorer` | Default [Editor]({{< relref "../../permissions/organization_roles.md" >}}) assignments. |
| Admin | `fixed:reports:reader`<br>`fixed:reports:writer`<br>`fixed:datasources:reader`<br>`fixed:datasources:writer`<br>`fixed:organization:writer`<br>`fixed:datasources.permissions:reader`<br>`fixed:datasources.permissions:writer`<br>`fixed:teams:writer`<br> | Default [Grafana organization administrator]({{< relref "../../permissions/organization_roles.md" >}}) assignments. |
| Editor | `fixed:datasources:explorer` and <br> `fixed:teams:creator` if the `editors_can_admin` configuration flag is enabled | Default [Editor]({{< relref "../../permissions/organization_roles.md" >}}) assignments. |
| Viewer | `fixed:datasources:id:reader`<br>`fixed:organization:reader` | Default [Viewer]({{< relref "../../permissions/organization_roles.md" >}}) assignments. |

View File

@@ -91,6 +91,12 @@ The following list contains fine-grained access control actions.
| `licensing:update` | n/a | Update the license token. |
| `licensing:delete` | n/a | Delete the license token. |
| `licensing.reports:read` | n/a | Get custom permission reports. |
| `teams:create` | n/a | Create teams. |
| `teams:read` | `teams:*`<br>`teams:id:*` | Read one or more teams and team preferences. |
| `teams:write` | `teams:*`<br>`teams:id:*` | Update one or more teams and team preferences. |
| `teams:delete` | `teams:*`<br>`teams:id:*` | Delete one or more teams. |
| `teams.permissions:read` | `teams:*`<br>`teams:id:*` | Read members and External Group Synchronization setup for teams. |
| `teams.permissions:write` | `teams:*`<br>`teams:id:*` | Add, remove and update members and manage External Group Synchronization setup for teams. |
## Scope definitions

View File

@@ -501,9 +501,3 @@ The org id of the datasource where the query data will be written.
If all `default_remote_write_*` properties are set, this information will be populated at startup. If a remote write target has
already been configured, nothing will happen.
## [feature_highlights]
### enabled
Whether the feature highlights feature is enabled

View File

@@ -16,10 +16,10 @@ You can choose to encrypt secrets stored in the Grafana database using a key fro
Grafana integrates with the following key management systems:
- [AWS KMS]({{< relref "/using-aws-kms-to-encrypt-database-secrets.md" >}})
- [Azure Key Vault]({{< relref "/using-azure-key-vault-to-encrypt-database-secrets.md" >}})
- [Google Cloud KMS]({{< relref "/using-google-cloud-kms-to-encrypt-database-secrets.md" >}})
- [Hashicorp Key Vault]({{< relref "/using-hashicorp-key-vault-to-encrypt-database-secrets.md" >}})
- [AWS KMS]({{< relref "using-aws-kms-to-encrypt-database-secrets.md" >}})
- [Azure Key Vault]({{< relref "using-azure-key-vault-to-encrypt-database-secrets.md" >}})
- [Google Cloud KMS]({{< relref "using-google-cloud-kms-to-encrypt-database-secrets.md" >}})
- [Hashicorp Key Vault]({{< relref "using-hashicorp-key-vault-to-encrypt-database-secrets.md" >}})
Refer to [Database encryption]({{< relref "../../administration/database-encryption.md" >}}) to learn more about how Grafana encrypts secrets in the database.

View File

@@ -23,7 +23,7 @@ You can use an encryption key from AWS Key Management Service to encrypt secrets
3. Create a [programmatic credential](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys) (access key ID and secret access key), which has permission to view the key that you created.
<br><br>In AWS, you can control access to your KMS keys by using [key policies](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html), [IAM policies](https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html), and [grants](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html). You can also create [temporary credentials](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html), which must provide a session token along with an access key ID and a secret access key.
4. From within Grafana, turn on [envelope encryption]({{< relref "../../administration/envelope-encryption.md" >}}).
4. From within Grafana, turn on [envelope encryption]({{< relref "../../administration//database-encryption.md" >}}).
5. Add your AWS KMS details to the Grafana configuration file; depending on your operating system, it is usually named `grafana.ini`:
<br><br>a. Add a new section to the configuration file, with a name in the format of `[security.encryption.awskms.<KEY-NAME>]`, where `<KEY-NAME>` is any name that uniquely identifies this key among other provider keys.
<br><br>b. Fill in the section with the following values:

View File

@@ -24,7 +24,7 @@ You can use an encryption key from Azure Key Vault to encrypt secrets in the Gra
5. In the Key Permissions section, set encrypt and decrypt permissions, and click **Save**.
6. From within Grafana, turn on [envelope encryption]({{< relref "../../administration/envelope-encryption.md" >}}).
6. From within Grafana, turn on [envelope encryption]({{< relref "../../administration/database-encryption.md" >}}).
7. Add your Azure Key Vault details to the Grafana configuration file; depending on your operating system, is usually named `grafana.ini`:
<br><br>a. Add a new section to the configuration file, with a name in the format of `[security.encryption.azurekv.<KEY-NAME>]`, where `<KEY-NAME>` is any name that uniquely identifies this key among other provider keys.

View File

@@ -22,7 +22,7 @@ You can use an encryption key from Google Cloud Key Management Service to encryp
4. [Create a service account key and save its JSON file](https://cloud.google.com/iam/docs/creating-managing-service-account-keys#creating) to you computer, for example, as `~/.config/gcloud/sample-project-credentials.json`.
5. From within Grafana, turn on [envelope encryption]({{< relref "../../administration/envelope-encryption.md" >}}).
5. From within Grafana, turn on [envelope encryption]({{< relref "../../administration/database-encryption.md" >}}).
6. Add your Google Cloud KMS details to the Grafana configuration file; depending on your operating system, is usually named `grafana.ini`:
<br><br>a. Add a new section to the configuration file, with a name in the format of `[security.encryption.azurekv.<KEY-NAME>]`, where `<KEY-NAME>` is any name that uniquely identifies this key among other provider keys.

View File

@@ -5,9 +5,9 @@ keywords = ["grafana", "Hashicorp Vault integration"]
weight = 3
+++
# Using Google Cloud KMS to encrypt database secrets
# Using Hashicorp Vault to encrypt database secrets
You can use an encryption key from Google Cloud Key Management Service to encrypt secrets in the Grafana database.
You can use an encryption key from Hashicorp Vault to encrypt secrets in the Grafana database.
**Prerequisites:**
@@ -20,7 +20,7 @@ You can use an encryption key from Google Cloud Key Management Service to encryp
3. [Create a periodic service token](https://learn.hashicorp.com/tutorials/vault/tokens#periodic-service-tokens).
4. From within Grafana, turn on [envelope encryption]({{< relref "../../administration/envelope-encryption.md" >}}).
4. From within Grafana, turn on [envelope encryption]({{< relref "../../administration/database-encryption.md" >}}).
5. Add your Hashicorp Vault details to the Grafana configuration file; depending on your operating system, is usually named `grafana.ini`:
<br><br>a. Add a new section to the configuration file, with a name in the format of `[security.encryption.hashicorpvault.<KEY-NAME>]`, where `<KEY-NAME>` is any name that uniquely identifies this key among other provider keys.

View File

@@ -71,6 +71,19 @@ To disable query caching for a single data source:
To disable query caching for an entire Grafana instance, set the `enabled` flag to `false` in the [Query caching section of Enterprise Configuration]({{< relref "./enterprise-configuration.md#caching" >}}). You will no longer see the Cache tab on any data sources, and no data source queries will be cached.
## Clear cache
If you experience performance issues or repeated queries become slower to execute, consider clearing your cache.
> **Note:** This action impacts all cache-enabled data sources. If you are using Memcached, the system clears all data from the Memcached instance.
**To clear the cache**:
1. Sign in to Grafana and click **Settings > Data Sources**.
1. Select a data source.
1. Click the **Cache** tab.
1. Click **Clear cache**.
## Sending a request without cache
If a data source query request contains an `X-Cache-Skip` header, then Grafana skips the caching middleware, and does not search the cache for a response. This can be particularly useful when debugging data source queries using cURL.

View File

@@ -31,10 +31,12 @@ In terms of security:
- Grafana supports signed and encrypted assertions.
- Grafana does not support signed or encrypted requests.
In terms of initiation:
In terms of initiation, Grafana supports:
- Grafana supports SP-initiated requests.
- Grafana does not support IdP-initiated request.
- SP-initiated requests
- IdP-initiated requests
By default, SP-initiated requests are enabled. For instructions on how to enable IdP-initiated logins, see https://grafana.com/docs/grafana/latest/enterprise/saml/#idp-initiated-single-sign-on-sso.
## Set up SAML authentication

View File

@@ -23,13 +23,15 @@ During an infrastructure monitoring and incident response, you can dig deeper in
Results of log queries are shown as histograms in the graph and individual logs are explained in the following sections.
If the data source supports a full range log volume histogram, the graph with log distribution for all entered log queries is shown automatically. This feature is currently supported by Elasticsearch data source.
If the data source supports a full range log volume histogram, the graph with log distribution for all entered log queries is shown automatically. This feature is currently supported by Elasticsearch and Loki data sources.
If the data source does not support loading full range log volume histogram, the logs model computes a time series based on the log row counts bucketed by an automatically calculated time interval, and the first log row's timestamp then anchors the start of the histogram from the result. The end of the time series is anchored to the time picker's **To** range.
#### Log level
For logs where a level label is specified, we use the value of the label to determine the log level and update color accordingly. If the log doesn't have a level label specified, we try to parse the log using logfmt and JSON parsers to find out if its content matches any of the supported expressions (see below for more information). The log level is always determined by the first match. In case Grafana is not able to determine a log level, it will be visualized with an unknown log level.
For logs where a level label is specified, we use the value of the label to determine the log level and update color accordingly. If the log doesn't have a level label specified, we try to find out if its content matches any of the supported expressions (see below for more information). The log level is always determined by the first match. In case Grafana is not able to determine a log level, it will be visualized with an unknown log level.
> **Tip:** If you use Loki data source and the "level" is in your log-line, use parsers (JSON, logfmt, regex,..) to extract the level information into a level label that is used to determine log level. This will allow the histogram to show the various log levels in separate bars.
**Supported log levels and mapping of log level abbreviation and expressions:**

View File

@@ -433,9 +433,10 @@ Accept: application/json
```
#### JSON body schema
| Field Name | Data Type | Required | Description |
| ---------- | --------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| roleUid | string | Yes | UID of the role. |
| Field Name | Data Type | Required | Description |
| ---------- | --------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| roleUid | string | Yes | UID of the role. |
| global | boolean | No | A flag indicating if the assignment is global or not. If set to `false`, the default org ID of the authenticated user will be used from the request to create organization local assignment. |
#### Example response

View File

@@ -67,7 +67,7 @@ Status Codes:
```
Status Codes:
Status Codes:
- **200** - Ok
- **401** - Unauthorized

View File

@@ -9,10 +9,21 @@ aliases = ["/docs/grafana/latest/http_api/external_group_sync/"]
> External Group Synchronization is only available in Grafana Enterprise. Read more about [Grafana Enterprise]({{< relref "../enterprise" >}}).
> If you have [Fine-grained access control]({{< relref "../enterprise/access-control/_index.md" >}}) enabled, access to endpoints will be controlled by Fine-grained access control permissions.
> Refer to specific endpoints to understand what permissions are required.
## Get External Groups
`GET /api/teams/:teamId/groups`
#### Required permissions
See note in the [introduction]({{< ref "#team-api" >}}) for an explanation.
| Action | Scope |
| ---------------------- | -------- |
| teams.permissions:read | teams:\* |
**Example Request**:
```http
@@ -47,6 +58,14 @@ Status Codes:
| Action | Scope |
| ----------------------- | -------- |
| teams.permissions:write | teams:\* |
**Example Request**:
```http
POST /api/teams/1/members HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=
```
@@ -81,6 +100,14 @@ Status Codes:
**Example Request**:
```http
DELETE /api/teams/1/groups/cn=editors,ou=groups,dc=grafana,dc=org HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json

View File

@@ -19,7 +19,7 @@ Query parameters:
- **dashboardIds** List of dashboard id's to search for
- **folderIds** List of folder id's to search in for dashboards
- **starred** Flag indicating if only starred Dashboards should be returned
- **limit** Limit the number of returned results (max 5000)
- **limit** Limit the number of returned results (max is 5000; default is 1000)
- **page** Use this parameter to access hits beyond limit. Numbering starts at 1. limit param acts as page size. Only available in Grafana v6.2+.
**Example request for retrieving folders and dashboards of the general folder**:

View File

@@ -269,8 +269,8 @@ Creates a new library element.
JSON Body schema:
- **folderId** ID of the folder where the library element is stored.
- **name** Name of the library element.
- **folderId** Optional, the ID of the folder where the library element is stored.
- **name** Optional, the name of the library element.
- **model** The JSON model for the library element.
- **kind** Kind of element to create, Use `1` for library panels or `2` for library variables.
- **uid** Optional, the [unique identifier](/http_api/library_element/#identifier-id-vs-unique-identifier-uid).

View File

@@ -7,7 +7,17 @@ aliases = ["/docs/grafana/latest/http_api/team/"]
# Team API
This API can be used to create/update/delete Teams and to add/remove users to Teams. All actions require that the user has the Admin role for the organization.
This API can be used to manage Teams and Team Memberships.
Access to these API endpoints is restricted as follows:
- All authenticated users are able to view details of teams they are a member of.
- Organization Admins are able to manage all teams and team members.
- If you enable `editors_can_admin` configuration flag, then Organization Editors can create teams and manage teams where they are Admin.
- If you enable `editors_can_admin` configuration flag, Editors can find out whether a team that they are not members of exists by trying to create a team with the same name.
> If you are running Grafana Enterprise and have [Fine-grained access control]({{< relref "../enterprise/access-control/_index.md" >}}) enabled, access to endpoints will be controlled by Fine-grained access control permissions.
> Refer to specific endpoints to understand what permissions are required.
## Team Search With Paging
@@ -17,25 +27,23 @@ or
`GET /api/teams/search?name=myteam`
#### Required permissions
See note in the [introduction]({{< ref "#team-api" >}}) for an explanation.
| Action | Scope |
| ---------- | -------- |
| teams:read | teams:\* |
**Example Request**:
```http
GET /api/teams/search?perpage=10&page=1&query=myteam HTTP/1.1
GET /api/teams/search?perpage=10&page=1&query=mytestteam HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=
```
### Using the query parameter
Default value for the `perpage` parameter is `1000` and for the `page` parameter is `1`.
The `totalCount` field in the response can be used for pagination of the teams list E.g. if `totalCount` is equal to 100 teams and the `perpage` parameter is set to 10 then there are 10 pages of teams.
The `query` parameter is optional and it will return results where the query value is contained in the `name` field. Query values with spaces need to be URL encoded e.g. `query=my%20team`.
### Using the name parameter
The `name` parameter returns a single team if the parameter matches the `name` field.
**Example Response**:
```http
@@ -59,7 +67,19 @@ Content-Type: application/json
#### Status Codes:
- **200** - Ok
Accept: application/json
- **401** - Unauthorized
- **403** - Permission denied
- **404** - Team not found (if searching by name)
## Get Team By Id
`GET /api/teams/:id`
#### Required permissions
See note in the [introduction]({{< ref "#team-api" >}}) for an explanation.
| Action | Scope |
| ---------- | -------- |
| teams:read | teams:\* |
@@ -70,6 +90,14 @@ Status Codes:
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
Status Codes:
@@ -108,6 +136,14 @@ The Team `name` needs to be unique. `name` is required and `email`,`orgId` is op
```http
HTTP/1.1 200
Content-Type: application/json
```
Status Codes:
- **200** - Ok
- **401** - Unauthorized
- **403** - Permission denied
- **409** - Team name is taken
## Update Team
@@ -145,6 +181,14 @@ There are two fields that can be updated for a team: `name` and `email`.
Status Codes:
- **200** - Ok
- **401** - Unauthorized
- **403** - Permission denied
- **404** - Team not found
- **409** - Team name is taken
## Delete Team By Id
`DELETE /api/teams/:id`
#### Required permissions
@@ -180,6 +224,14 @@ Status Codes:
## Get Team Members
`GET /api/teams/:teamId/members`
#### Required permissions
See note in the [introduction]({{< ref "#team-api" >}}) for an explanation.
| Action | Scope |
| ---------------------- | -------- |
| teams.permissions:read | teams:\* |
**Example Request**:
@@ -209,6 +261,14 @@ Status Codes:
`POST /api/teams/:teamId/members`
#### Required permissions
See note in the [introduction]({{< ref "#team-api" >}}) for an explanation.
| Action | Scope |
| ----------------------- | -------- |
| teams.permissions:write | teams:\* |
**Example Request**:
```http
@@ -254,6 +314,14 @@ Status Codes:
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
Status Codes:
@@ -288,6 +356,14 @@ Status Codes:
```http
HTTP/1.1 200
Content-Type: application/json
```
## Update Team Preferences
`PUT /api/teams/:teamId/preferences`
#### Required permissions
See note in the [introduction]({{< ref "#team-api" >}}) for an explanation.
@@ -317,6 +393,14 @@ Status Codes:
**Example Response**:
```http
HTTP/1.1 200
Content-Type: text/plain; charset=utf-8
```
| Action | Scope |
| ---------- | -------- |
| teams:read | teams:\* |
**Example Request**:
```http
@@ -343,6 +427,14 @@ Content-Type: application/json
`PUT /api/teams/:teamId/preferences`
#### Required permissions
See note in the [introduction]({{< ref "#team-api" >}}) for an explanation.
| Action | Scope |
| ----------- | -------- |
| teams:write | teams:\* |
**Example Request**:
```http

View File

@@ -49,7 +49,7 @@ spec:
- 0
containers:
- name: grafana
image: grafana/grafana:7.5.2
image: grafana/grafana:8.4.4
imagePullPolicy: IfNotPresent
ports:
- containerPort: 3000

View File

@@ -1,6 +1,6 @@
+++
title = "Create reusable Grafana panels"
aliases = ["/docs/grafana/latest/panels/panel-library/" "/docs/sources/panels/library-panels/"]
aliases = ["/docs/grafana/latest/panels/panel-library/", "/docs/sources/panels/library-panels/"]
weight = 700
+++

View File

@@ -8,6 +8,12 @@ weight = 10000
Here you can find detailed release notes that list everything that is included in every release as well as notices
about deprecations, breaking changes as well as changes that relate to plugin development.
- [Release notes for 8.4.4]({{< relref "release-notes-8-4-4" >}})
- [Release notes for 8.4.3]({{< relref "release-notes-8-4-3" >}})
- [Release notes for 8.4.2]({{< relref "release-notes-8-4-2" >}})
- [Release notes for 8.4.1]({{< relref "release-notes-8-4-1" >}})
- [Release notes for 8.4.0-beta1]({{< relref "release-notes-8-4-0-beta1" >}})
- [Release notes for 8.3.5]({{< relref "release-notes-8-3-5" >}})
- [Release notes for 8.3.4]({{< relref "release-notes-8-3-4" >}})
- [Release notes for 8.3.3]({{< relref "release-notes-8-3-3" >}})
- [Release notes for 8.3.2]({{< relref "release-notes-8-3-2" >}})
@@ -48,6 +54,7 @@ about deprecations, breaking changes as well as changes that relate to plugin de
- [Release notes for 8.0.0-beta3]({{< relref "release-notes-8-0-0-beta3" >}})
- [Release notes for 8.0.0-beta2]({{< relref "release-notes-8-0-0-beta2" >}})
- [Release notes for 8.0.0-beta1]({{< relref "release-notes-8-0-0-beta1" >}})
- [Release notes for 7.5.15]({{< relref "release-notes-7-5-15" >}})
- [Release notes for 7.5.13]({{< relref "release-notes-7-5-13" >}})
- [Release notes for 7.5.12]({{< relref "release-notes-7-5-12" >}})
- [Release notes for 7.5.11]({{< relref "release-notes-7-5-11" >}})

View File

@@ -0,0 +1,11 @@
+++
title = "Release notes for Grafana 7.5.15"
[_build]
list = false
+++
# Release notes for Grafana 7.5.15
- **Security**: Fixes CVE-2022-21702. For more information, see our [blog](https://grafana.com/blog/2022/02/08/grafana-7.5.15-and-8.3.5-released-with-moderate-severity-security-fixes/)
- **Security**: Fixes CVE-2022-21703. For more information, see our [blog](https://grafana.com/blog/2022/02/08/grafana-7.5.15-and-8.3.5-released-with-moderate-severity-security-fixes/)
- **Security**: Fixes CVE-2022-21713. For more information, see our [blog](https://grafana.com/blog/2022/02/08/grafana-7.5.15-and-8.3.5-released-with-moderate-severity-security-fixes/)

View File

@@ -0,0 +1,11 @@
+++
title = "Release notes for Grafana 8.3.5"
[_build]
list = false
+++
# Release notes for Grafana 8.3.5
- **Security**: Fixes CVE-2022-21702. For more information, see our [blog](https://grafana.com/blog/2022/02/08/grafana-7.5.15-and-8.3.5-released-with-moderate-severity-security-fixes/)
- **Security**: Fixes CVE-2022-21703. For more information, see our [blog](https://grafana.com/blog/2022/02/08/grafana-7.5.15-and-8.3.5-released-with-moderate-severity-security-fixes/)
- **Security**: Fixes CVE-2022-21713. For more information, see our [blog](https://grafana.com/blog/2022/02/08/grafana-7.5.15-and-8.3.5-released-with-moderate-severity-security-fixes/)

View File

@@ -0,0 +1,23 @@
+++
title = "Release notes for Grafana 8.4.0-beta1"
hide_menu = true
+++
<!-- Auto generated by update changelog github action -->
# Release notes for Grafana 8.4.0-beta1
### Features and enhancements
- **Alerting:** Support WeCom as a contact point type. [#40975](https://github.com/grafana/grafana/pull/40975), [@smallpath](https://github.com/smallpath)
- **Alerting:** UI for mute timings. [#41578](https://github.com/grafana/grafana/pull/41578), [@nathanrodman](https://github.com/nathanrodman)
- **Alerting:** add settings for peer reconnection in HA mode. [#42300](https://github.com/grafana/grafana/pull/42300), [@JohnnyQQQQ](https://github.com/JohnnyQQQQ)
- **Auth:** implement auto_sign_up for auth.jwt. [#37040](https://github.com/grafana/grafana/pull/37040), [@Roguelazer](https://github.com/Roguelazer)
- **Dashboard:** Add Show unknown variables toggle to dashboard settings. [#41854](https://github.com/grafana/grafana/pull/41854), [@hugohaggmark](https://github.com/hugohaggmark)
- **Instrumentation:** Logger migration from log15 to gokit/log. [#41636](https://github.com/grafana/grafana/pull/41636), [@ying-jeanne](https://github.com/ying-jeanne)
- **MSSQL:** Change regex to validate Provider connection string. [#40248](https://github.com/grafana/grafana/pull/40248), [@ianselmi](https://github.com/ianselmi)
- **MSSQL:** Configuration of certificate verification for TLS connection. [#31865](https://github.com/grafana/grafana/pull/31865), [@mortenaa](https://github.com/mortenaa)
- **Middleware:** Don't require HTTPS for HSTS headers to be emitted. [#35147](https://github.com/grafana/grafana/pull/35147), [@alexmv](https://github.com/alexmv)
- **Navigation:** Implement Keyboard Navigation. [#41618](https://github.com/grafana/grafana/pull/41618), [@axelavargas](https://github.com/axelavargas)
- **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)

View File

@@ -0,0 +1,58 @@
+++
title = "Release notes for Grafana 8.4.0"
hide_menu = true
+++
<!-- Auto generated by update changelog github action -->
# Release notes for Grafana 8.4.0
### Features and enhancements
- **API:** Extract OpenAPI specification from source code using go-swagger. [#40528](https://github.com/grafana/grafana/pull/40528), [@papagian](https://github.com/papagian)
- **AccessControl:** Disable user remove and user update roles when they do not have the permissions. [#43429](https://github.com/grafana/grafana/pull/43429), [@Jguer](https://github.com/Jguer)
- **AccessControl:** Provisioning for teams. [#43767](https://github.com/grafana/grafana/pull/43767), [@gamab](https://github.com/gamab)
- **API:** Add usage stats preview endpoint. [#43899](https://github.com/grafana/grafana/pull/43899), [@Jguer](https://github.com/Jguer)
- **Alerting:** Move slow queries in the scheduler to another goroutine. [#44423](https://github.com/grafana/grafana/pull/44423), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **Alerting:** Use time.Ticker instead of alerting.Ticker in ngalert. [#44395](https://github.com/grafana/grafana/pull/44395), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **Alerting:** add custom grouping to Alert Panel. [#44559](https://github.com/grafana/grafana/pull/44559), [@gillesdemey](https://github.com/gillesdemey)
- **Analytics:** Add user id tracking to google analytics. [#42763](https://github.com/grafana/grafana/pull/42763), [@autoric](https://github.com/autoric)
- **Angular:** Add AngularJS plugin support deprecation plan to docs site. [#45149](https://github.com/grafana/grafana/pull/45149), [@torkelo](https://github.com/torkelo)
- **Auth:** implement auto_sign_up for auth.jwt. [#43502](https://github.com/grafana/grafana/pull/43502), [@sakjur](https://github.com/sakjur)
- **Azure Monitor Logs:** Order subscriptions in resource picker by name. [#45228](https://github.com/grafana/grafana/pull/45228), [@sunker](https://github.com/sunker)
- **Azure monitor Logs:** Optimize data fetching in resource picker. [#44549](https://github.com/grafana/grafana/pull/44549), [@sunker](https://github.com/sunker)
- **AzureMonitor:** Filter list of resources by resourceType. [#43522](https://github.com/grafana/grafana/pull/43522), [@andresmgot](https://github.com/andresmgot)
- **BarChart:** color by field, x time field, bar radius, label skipping. [#43257](https://github.com/grafana/grafana/pull/43257), [@leeoniya](https://github.com/leeoniya)
- **Chore:** Implement OpenTelemetry in Grafana. [#42674](https://github.com/grafana/grafana/pull/42674), [@idafurjes](https://github.com/idafurjes)
- **Cloud Monitoring:** Adds metric type to Metric drop down options. [#43268](https://github.com/grafana/grafana/pull/43268), [@tw1nk](https://github.com/tw1nk)
- **CloudWatch:** Add Data Lifecycle Manager metrics and dimension. [#43310](https://github.com/grafana/grafana/pull/43310), [@ilyastoli](https://github.com/ilyastoli)
- **CloudWatch:** Add Missing Elasticache Host-level metrics. [#43455](https://github.com/grafana/grafana/pull/43455), [@dhendo](https://github.com/dhendo)
- **CloudWatch:** Add all ElastiCache Redis Metrics. [#43336](https://github.com/grafana/grafana/pull/43336), [@siavashs](https://github.com/siavashs)
- **CloudWatch:** Add new AWS/ES metrics. [#43034](https://github.com/grafana/grafana/pull/43034), [@sunker](https://github.com/sunker)
- **Cloudwatch:** Add syntax highlighting and autocomplete for "Metric Search". [#43985](https://github.com/grafana/grafana/pull/43985), [@sarahzinger](https://github.com/sarahzinger)
- **Explore:** Support custom display label for exemplar links for Prometheus datasource. [#42732](https://github.com/grafana/grafana/pull/42732), [@JokerQueue](https://github.com/JokerQueue)
- **Hotkeys:** Make time range absolute/permanent. [#43802](https://github.com/grafana/grafana/pull/43802), [@davkal](https://github.com/davkal)
- **Playlists:** Enable sharing direct links to playlists. [#44161](https://github.com/grafana/grafana/pull/44161), [@ashharrison90](https://github.com/ashharrison90)
- **SQLStore:** Prevent concurrent migrations. [#44101](https://github.com/grafana/grafana/pull/44101), [@papagian](https://github.com/papagian)
- **SSE:** Add Mode to drop NaN/Inf/Null in Reduction operations. [#43583](https://github.com/grafana/grafana/pull/43583), [@kylebrandt](https://github.com/kylebrandt)
- **Setting:** Support configuring feature toggles with bools instead of just passing an array. [#43326](https://github.com/grafana/grafana/pull/43326), [@bergquist](https://github.com/bergquist)
- **TimeSeries:** Add support for negative Y and constant transform. [#44774](https://github.com/grafana/grafana/pull/44774), [@dprokop](https://github.com/dprokop)
- **Transformations:** Add 'JSON' field type to ConvertFieldTypeTransformer. [#42624](https://github.com/grafana/grafana/pull/42624), [@sd2k](https://github.com/sd2k)
### Bug fixes
- **Auth:** Guarantee consistency of signed SigV4 headers. [#45054](https://github.com/grafana/grafana/pull/45054), [@wbrowne](https://github.com/wbrowne)
- **CloudWatch:** Fix MetricName resetting on Namespace change. [#44165](https://github.com/grafana/grafana/pull/44165), [@yaelleC](https://github.com/yaelleC)
- **Cloudwatch :** Fixed resetting metric name when changing namespace in Metric Query. [#44612](https://github.com/grafana/grafana/pull/44612), [@yaelleC](https://github.com/yaelleC)
- **Explore:** Avoid locking timepicker when range is inverted. [#44790](https://github.com/grafana/grafana/pull/44790), [@Elfo404](https://github.com/Elfo404)
- **Instrumentation:** Fix HTTP request instrumentation of authentication failures. [#44234](https://github.com/grafana/grafana/pull/44234), [@marefr](https://github.com/marefr)
- **LibraryPanels:** Prevent long descriptions and names from obscuring the delete button. [#45190](https://github.com/grafana/grafana/pull/45190), [@zuchka](https://github.com/zuchka)
- **OAuth:** Fix parsing of ID token if header contains non-string value. [#44159](https://github.com/grafana/grafana/pull/44159), [@marefr](https://github.com/marefr)
- **Panel Edit:** Visualization search now works correctly with special characters. [#45137](https://github.com/grafana/grafana/pull/45137), [@ashharrison90](https://github.com/ashharrison90)
- **Provisioning:** Fix duplicate validation when multiple organizations have been configured. [#44151](https://github.com/grafana/grafana/pull/44151), [@marefr](https://github.com/marefr)
- **QueryField:** Fix issue with undo history when suggestion is inserted (#28656). [#39114](https://github.com/grafana/grafana/pull/39114), [@glintik](https://github.com/glintik)
- **TablePanel:** Do not prefix columns with frame name if multiple frames and override active. [#45174](https://github.com/grafana/grafana/pull/45174), [@mdvictor](https://github.com/mdvictor)
### Deprecations
AngularJS plugin support is now in a deprecated state, meaning it will be removed in a future release. Currently, that is planned for version 10 (in 2023). The documentation site has an [article](https://grafana.com/docs/grafana/next/developers/angular_deprecation/) with more details on why, when, and how. Issue [#45149](https://github.com/grafana/grafana/issues/45149)

View File

@@ -0,0 +1,18 @@
+++
title = "Release notes for Grafana 8.4.1"
hide_menu = true
+++
<!-- Auto generated by update changelog github action -->
# Release notes for Grafana 8.4.1
### Features and enhancements
- **Cloudwatch:** Add support for AWS/PrivateLink\* metrics and dimensions. [#45515](https://github.com/grafana/grafana/pull/45515), [@szymonpk](https://github.com/szymonpk)
- **Configuration:** Add ability to customize okta login button name and icon. [#44079](https://github.com/grafana/grafana/pull/44079), [@DanCech](https://github.com/DanCech)
- **Tempo:** Switch out Select with AsyncSelect component to get loading state in Tempo Search. [#45110](https://github.com/grafana/grafana/pull/45110), [@CatPerry](https://github.com/CatPerry)
### Bug fixes
- **Alerting:** Fix migrations by making send_alerts_to field nullable. [#45572](https://github.com/grafana/grafana/pull/45572), [@santihernandezc](https://github.com/santihernandezc)

View File

@@ -0,0 +1,17 @@
+++
title = "Release notes for Grafana 8.4.2"
hide_menu = true
+++
<!-- Auto generated by update changelog github action -->
# Release notes for Grafana 8.4.2
### Features and enhancements
- **OAuth:** Add setting to skip org assignment for external users. [#34834](https://github.com/grafana/grafana/pull/34834), [@baez90](https://github.com/baez90)
- **Tracing:** Add option to map tag names to log label names in trace to logs settings. [#45178](https://github.com/grafana/grafana/pull/45178), [@connorlindsey](https://github.com/connorlindsey)
### Bug fixes
- **Explore:** Fix closing split pane when logs panel is used. [#45602](https://github.com/grafana/grafana/pull/45602), [@ifrost](https://github.com/ifrost)

View File

@@ -0,0 +1,25 @@
+++
title = "Release notes for Grafana 8.4.3"
hide_menu = true
+++
<!-- Auto generated by update changelog github action -->
# Release notes for Grafana 8.4.3
### Features and enhancements
- **Alerting:** Grafana uses > instead of >= when checking the For duration. [#46010](https://github.com/grafana/grafana/issues/46010)
- **Alerting:** Use expanded labels in dashboard annotations. [#45726](https://github.com/grafana/grafana/pull/45726), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **Logs:** Escape windows newline into single newline. [#45771](https://github.com/grafana/grafana/pull/45771), [@perosb](https://github.com/perosb)
### Bug fixes
- **Alerting:** Fix use of > instead of >= when checking the For duration. [#46011](https://github.com/grafana/grafana/pull/46011), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **Azure Monitor:** Fixes broken log queries that use workspace. [#45820](https://github.com/grafana/grafana/pull/45820), [@sunker](https://github.com/sunker)
- **CloudWatch:** Remove error message when using multi-valued template vars in region field. [#45886](https://github.com/grafana/grafana/pull/45886), [@sunker](https://github.com/sunker)
- **Middleware:** Fix IPv6 host parsing in CSRF check. [#45911](https://github.com/grafana/grafana/pull/45911), [@ying-jeanne](https://github.com/ying-jeanne)
### Plugin development fixes & changes
- **ClipboardButton:** Use a fallback when the Clipboard API is unavailable. [#45831](https://github.com/grafana/grafana/pull/45831), [@ashharrison90](https://github.com/ashharrison90)

View File

@@ -0,0 +1,24 @@
+++
title = "Release notes for Grafana 8.4.4"
hide_menu = true
+++
<!-- Auto generated by update changelog github action -->
# Release notes for Grafana 8.4.4
### Features and enhancements
- **Loki:** Add unpack to autocomplete suggestions (#44623). [#46573](https://github.com/grafana/grafana/pull/46573), [@glintik](https://github.com/glintik)
- **Plugins:** allow using both Function and Class components for app plugins. [#46148](https://github.com/grafana/grafana/pull/46148), [@leventebalogh](https://github.com/leventebalogh)
- **TimeSeries:** Add migration for Graph panel's transform series override. [#46577](https://github.com/grafana/grafana/pull/46577), [@dprokop](https://github.com/dprokop)
- **TimeSeries:** Preserve null/undefined values when performing negative y transform. [#46584](https://github.com/grafana/grafana/pull/46584), [@dprokop](https://github.com/dprokop)
### Bug fixes
- **CloudWatch:** Use default http client from aws-sdk-go. [#46370](https://github.com/grafana/grafana/pull/46370), [@sunker](https://github.com/sunker)
- **Dashboards:** Fixes repeating by row and no refresh. [#46565](https://github.com/grafana/grafana/pull/46565), [@torkelo](https://github.com/torkelo)
- **Gauge:** Fixes blank viz when data link exists and orientation was horizontal. [#46335](https://github.com/grafana/grafana/pull/46335), [@torkelo](https://github.com/torkelo)
- **Search:** sort results correctly when using postgres. [#46466](https://github.com/grafana/grafana/pull/46466), [@xlson](https://github.com/xlson)
- **TagsInput:** fix tags remove button accessibility issues. [#46254](https://github.com/grafana/grafana/pull/46254), [@Elfo404](https://github.com/Elfo404)
- **TextPanel:** Sanitize after markdown has been rendered to html. [#46166](https://github.com/grafana/grafana/pull/46166), [@ashharrison90](https://github.com/ashharrison90)

View File

@@ -26,7 +26,7 @@ backend_04
Regex:
```regex
/.*[01|02]/
/(01|02)$/
```
Result:

View File

@@ -70,7 +70,7 @@ The markers layer allows you to display data points as different marker shapes s
![Markers Layer Options](/static/img/docs/geomap-panel/geomap-markers-options-8-1-0.png)
- **Marker Color** configures the color of the marker. The default `Fixed size` keeps all points a single color. There is an alternate option to have multiple colors depending on the data point values and the threshold set at the `Thresholds` section.
- **Marker Color** configures the color of the marker. The default `Single color` keeps all points a single color. There is an alternate option to have multiple colors depending on the data point values and the threshold set at the `Thresholds` section.
- **Marker Size** configures the size of the marker. Default is `Fixed size`, making all marker size the same regardless of the data points. However, there is also an option to scale the circles to the corresponding data points. `Min` and `Max` marker size has to be set such that the Marker layer can scale within this range.
- **Marker Shape** allows you to choose the shape, icon, or graphic to aid in providing additional visual context to your data. Choose from assets that are included with Grafana such as simple shapes or the Unicon library. You can also specify a URL containing an image asset. The image must be a scalable vector graphic (SVG).
- **Fill opacity** configures the transparency of each marker.

View File

@@ -17,7 +17,7 @@ To limit the number of lines rendered, you can use the **Max data points** setti
## Log level
For logs where a **level** label is specified, we use the value of the label to determine the log level and update color accordingly. If the log doesn't have a level label specified, we parse the log to find out if its content matches any of the supported expressions (see below for more information). The log level is always determined by the first match. In case Grafana is not able to determine a log level, it will be visualized with **unknown** log level. See [supported log levels and mappings of log level abbreviation and expressions]({{< relref "../explore/_index.md#log-level" >}}).
For logs where a **level** label is specified, we use the value of the label to determine the log level and update color accordingly. If the log doesn't have a level label specified, we try to find out if its content matches any of the supported expressions (see below for more information). The log level is always determined by the first match. In case Grafana is not able to determine a log level, it will be visualized with **unknown** log level. See [supported log levels and mappings of log level abbreviation and expressions]({{< relref "../explore/_index.md#log-level" >}}).
## Log details

View File

@@ -76,7 +76,7 @@ Click on the node and select "Show in Graph layout" option to switch back to gra
This visualization needs a specific shape of the data to be returned from the data source in order to correctly display it.
Data source needs to return two data frames, one for nodes and one for edges, and you also have to set `frame.meta.preferredVisualisationType = 'nodeGraph'` on both data frames if you want them to be automatically shown in node graph in Explore.
Data source needs to return two data frames, one for nodes and one for edges. You have to set `frame.meta.preferredVisualisationType = 'nodeGraph'` on both data frames or name them `nodes` and `edges` respectively for the node graph to render.
### Node parameters

View File

@@ -35,6 +35,15 @@ Use these options to choose how to display your time series data.
- [Graph stacked time series]({{< relref "./graph-time-series-stacking.md" >}})
- [Graph and color schemes]({{< relref "./graph-color-scheme.md" >}})
### Transform
Use this option to transform the series values without affecting the values shown in the tooltip, context menu, and legend.
- **Negative Y transform -** Flip the results to negative values on the Y axis.
- **Constant -** Show first value as a constant line.
> **Note:** Transform option is only available as an override.
## Axis
For more information about adjusting your time series axes, refer to [Change axis display]({{< relref "change-axis-display.md" >}}).

View File

@@ -11,6 +11,7 @@ as info on deprecations, breaking changes and plugin development read the [relea
## Grafana 8
- [What's new in 8.4]({{< relref "whats-new-in-v8-4" >}})
- [What's new in 8.3]({{< relref "whats-new-in-v8-3" >}})
- [What's new in 8.2]({{< relref "whats-new-in-v8-2" >}})
- [What's new in 8.1]({{< relref "whats-new-in-v8-1" >}})

View File

@@ -0,0 +1,144 @@
+++
title = "What's new in Grafana v8.4"
description = "Feature and improvement highlights for Grafana v8.4"
keywords = ["grafana", "new", "documentation", "8.4", "release notes"]
weight = -33
aliases = ["/docs/grafana/latest/guides/whats-new-in-v8-4/"]
[_build]
list = false
+++
# Whats new in Grafana v8.4
Were excited to announce Grafana v8.4, with a variety of improvements that focus on Grafanas usability, performance, and security. Read on to learn about Alerting enhancements like a WeCom contact point, improved Alert panel and custom mute timings, as well as visualization improvements and details to help you share playlists more easily. In Grafana Enterprise, weve made caching more powerful to save you time and money while loading dashboards, boosted database encryption to keep secrets safe in your Grafana database, and made usability improvements to Recorded Queries, which allow you to track any data point over time.
Weve summarized whats new in the release here, but you might also be interested in the announcement blog post. If youd like all the details you can check out the complete [changelog](https://github.com/grafana/grafana/blob/master/CHANGELOG.md).
# OSS
## Ease of use
### Share playlists
You can now share links to your playlists the same way as with dashboards, to easily set up the same playlist on multiple devices or kiosks.
{{< figure src="/static/img/docs/dashboards/share-playlists-8-4.png" max-width="1200px" caption="Share playlist" >}}
### `$__interval` and `$__interval_ms` in panel title
Weve expanded the functionality of this existing and popular feature. You can now use `$__interval` and `$__interval_ms` in panel titles. This new function displays the interval thats used in a specific panel without requiring edit mode.
{{< figure src="/static/img/docs/panels/interval-8-4.png" max-width="1200px" caption="Time intervals" >}}
### Accessibility improvements
Were continuing to improve accessibility across Grafana, particularly focusing on keyboard navigation and screen readers.
- Navigation: Weve improved our keyboard navigation support in our main navbar, added focus states, and removed keyboard traps.
- General components (tooltips, color pickers, modals, dropdowns, and so forth): weve ensured theyre keyboard navigable, improved focus trapping, and improved screen reader support.
- Time series panel: charts are one of our main areas of limited accessibility. As of 8.4, you can also move a panel and make range selections using your keyboard. - Press arrow keys to move the cursor around. - Hold Shift to increase cursor speed. - Hold space to start rage selection.
You can read our accessibility statement [here](https://grafana.com/accessibility/) and reach out to us with accessibility issues using our community Slack or our community forums.
### New option to configure OpenTelemetry
Grafana is used to visualize traces and metrics, but Grafana itself can be traced as well. For example, users running a Grafana instance can export all the traces of endpoints and database requests to Jaeger, which helps you view all Grafana traffic.
Were currently using OpenTracing for this, but since the repository is being deprecated, weve started our work to migrate to OpenTelemetry and remove OpenTracing. This release is the first step toward this goal. It also adds the option to configure OpenTelemetry instead of OpenTracing.
### Rotate your encryption key
In Grafana 8.3, we upgraded Grafana to use envelope encryption, which adds a layer of indirection to the encryption process. Instead of encrypting all secrets in the database with a single key, Grafana uses a set of keys, called data encryption keys (DEKs), to encrypt them. These data encryption keys are themselves encrypted with a single key-encryption key (KEK).
As of 8.4, you can rotate your KEK and quickly re-encrypt your DEKs in case a key is compromised.
Envelope encryption is not enabled by default in version 8.4. You can enable it by adding the term `envelopeEncryption` to the list of feature toggles in your [Grafana configuration](https://grafana.com/docs/grafana/next/administration/configuration/#feature_toggles?mdm=email), or by sending a request to support if you use Grafana Cloud.
{{< figure src="/static/img/docs/encryption/rotate-encryption-8-4.png" max-width="1200px" caption="Rotate encryption" >}}
## Alerting
### Support for mute timings
[Mute timings](https://grafana.com/docs/grafana/next/alerting/unified-alerting/notifications/mute-timings/) have been a popular request from the community. They are a powerful addition to the new alerting feature set and allow you to suppress specific alerts on a recurring interval or schedule, [contrary to](https://grafana.com/docs/grafana/next/alerting/unified-alerting/notifications/mute-timings/#mute-timings-vs-silences) Silences.
Paired with the existing Silences, this gives you even more control over when alerts should be sent and contact points notified.
### Custom grouping for the Alert Panel
The new Alert Panel displays your alerts and associated alert instances, and supports grouping by one or more custom labels. You can also display all alert instances in an ungrouped list by choosing the custom grouping mode without any configured labels.
Traditionally alerts in the Alert Panel were grouped by the alert rule that created them. When you are monitoring a complex resource like an industrial pump, you typically have multiple alerts defined for that resource to observe different metrics. The new custom grouping feature allows you to view all alert instances for individual resource by specifying a label such as “pump identifier”.
{{< figure src="/static/img/docs/alerting/unified/custom-grouping-8-4.png" max-width="1200px" caption="Custom grouping in alerting" >}}
### WeCom contact point
Starting with Grafana 8.4, you can [configure a WeCom](https://grafana.com/docs/grafana/next/alerting/unified-alerting/contact-points/#wecom) contact point, to send alert notifications to WeCom.
## New panel options
### Bar chart
Weve expanded the bar chart so that you can:
- Use time for the x-axis.
- Color bars using a field property (that is, build success).
- Use labels effectively:
- Skip values when there are too many labels.
- Rotate labels.
{{< figure src="/static/img/docs/bar-chart-panel/bar-chart-8-4.png" max-width="1200px" caption="Updated bar chart" >}}
### Geomap
Geomap now supports tooltips with data-links across multiple layers.
{{< figure src="/static/img/docs/geomap-panel/geomap-tooltips-multiple-layers-8-4.png" max-width="1200px" caption="Assign SAML users role" >}}
## OpenAPI v2 specification
The HTTP API details are now [specified](https://editor.swagger.io/?url=https://raw.githubusercontent.com/grafana/grafana/papagian/api-spec/public/api-merged.json) using OpenAPI v2.
The grafana server serves a [SwaggerUI](https://swagger.io/tools/swagger-ui/) editor via the /swagger-ui endpoint that enables users to make requests to the HTTP API via the browser. This is disabled by default and its enabled when the `swaggerUi` feature toggle is set.
# Grafana Enterprise
## Security improvements
### Fine-grained access control works for teams
Occasionally, Viewer, Editor, and Admin roles dont fit what a certain user needs to do in Grafana. Now you can assign fine-grained roles directly to users so they can create reports, use Explore mode, create data sources, and perform other specific actions in Grafana. Fine-grained access control is currently in beta.
In Grafana 8.4, you can assign roles to teams, which apply to all members of that team. This is a convenient way to grant certain permissions to a group of users all at once. It also makes permissions easier to manage when you synchronize groups from an SSO provider, like Google Oauth or Okta, to teams in Grafana.
In 8.4 you can also control access to Team and API key functionality itself, like viewing or editing API keys and adding members to certain teams.
Enable fine-grained access control by adding the term `accesscontrol` to the list of feature toggles in your [Grafana configuration](https://grafana.com/docs/grafana/next/administration/configuration/#feature_toggles?mdm=email), or by sending a request to support if you use Grafana Cloud. Learn more about fine-grained access control in the [fine-grained access control section of the docs](https://grafana.com/docs/grafana/next/enterprise/access-control/).
{{< figure src="/static/img/docs/enterprise/8-4-fine-grain-access-control.png" max-width="1200px" caption="Assign SAML users role" >}}
### Assign SAML users different roles in different Organizations
You can use Grafanas SAML integration to map organizations in your SAML service to [Organizations](https://grafana.com/docs/grafana/latest/manage-users/server-admin/server-admin-manage-orgs/) in Grafana so that users who authenticate using SAML have the right permissions. Previously, you could only choose a single role (Viewer, Editor, or Admin) for users, which would apply to all of their Organizations. Now, you can map a given SAML user or org to different roles in different Organizations, so that, for example, they can be a Viewer in one Organization and an Admin in another.
Additionally, you can now grant multiple SAML organizations access to Grafana, using the `allowed_organizations` attribute. Previously, you could only map one.
{{< figure src="/static/img/docs/enterprise/8-4-SAML-auth.png" max-width="1200px" caption="Assign SAML users role" >}}
Learn more in our [SAML docs](https://grafana.com/docs/grafana/next/enterprise/saml/).
## Performance improvements
### Recorded queries is more stable and usable
Weve made stability and usability improvements to Recorded Queries, and removed the feature flag so you can get started with Recorded Queries out of the box.
### Measure query cache hit rate and clear the cache
[Query caching](https://grafana.com/blog/2021/09/02/reduce-costs-and-increase-performance-with-query-caching-in-grafana-cloud/) significantly reduces load times and costs of Grafana dashboards, by temporarily storing query results in a cache. Now you can measure the hit rate of your query cache, to see how many queries (and therefore how much time and money) it is saving. You can also use these measurements to tune the cache time to live (TTL), to balance performance and up-to-date data.
You can also now manually clear the cache for a given data source in case data becomes stale, so that the next set of queries run against the data source itself.
To learn more, refer to [query caching in the Grafana Enterprise docs](https://grafana.com/docs/grafana/next/enterprise/query-caching/)
{{< figure src="/static/img/docs/enterprise/8-4-query-caching.png" max-width="1200px" caption="Grafana Enterprise query caching" >}}

View File

@@ -27,7 +27,7 @@ e2e.scenario({
`Server:pipe = A'A"A|BB\\B|CCC`,
`Server:distributed = A'A"A,Server=BB\\B,Server=CCC`,
`Server:csv = A'A"A,BB\\B,CCC`,
`Server:html = A'A&quot;A, BB\\B, CCC`,
`Server:html = A'A"A, BB\\B, CCC`,
`Server:json = ["A'A\\"A","BB\\\\B","CCC"]`,
`Server:percentencode = %7BA%27A%22A%2CBB%5CB%2CCCC%7D`,
`Server:singlequote = 'A\\'A"A','BB\\B','CCC'`,

View File

@@ -5,7 +5,7 @@ e2e.scenario({
itName: 'Tests dashboard links and variables in links',
addScenarioDataSource: false,
addScenarioDashBoard: false,
skipScenario: false,
skipScenario: true, // Skipped because it was causing many failures in main.
scenario: () => {
e2e.flows.openDashboard({ uid: 'yBCC3aKGk' });
e2e()
@@ -31,7 +31,7 @@ e2e.scenario({
expect(links).to.have.length.greaterThan(13);
for (let index = 0; index < links.length; index++) {
expect(Cypress.$(links[index]).attr('href')).contains(`var-custom=${variableValue}`);
expect(Cypress.$(links[index]).attr('href')).contains(`var-custom=${encodeURI(variableValue)}`);
}
});
};
@@ -45,6 +45,14 @@ e2e.scenario({
// verify all links, should have All value
verifyLinks('All');
// Data links should percent encode var values
e2e()
.get('[aria-label="Data link"]')
.should('exist')
.and((link) => {
expect(link.attr('href')).contains(encodeURI('test%25value'));
});
e2e.pages.Dashboard.SubMenu.submenuItemValueDropDownValueLinkTexts('All').should('be.visible').click();
e2e.pages.Dashboard.SubMenu.submenuItemValueDropDownOptionTexts('p2').should('be.visible').click();

View File

@@ -7,7 +7,7 @@ e2e.scenario({
itName: 'Tests various Panel edit scenarios',
addScenarioDataSource: false,
addScenarioDashBoard: false,
skipScenario: true,
skipScenario: false,
scenario: () => {
e2e().intercept('/api/ds/query').as('query');
e2e.flows.openDashboard({ uid: 'TkZXxlNG3' });
@@ -46,11 +46,16 @@ e2e.scenario({
// Can change to Alerts tab (graph panel is the default vis so the alerts tab should be rendered)
e2e.components.Tab.title('Alert').should('be.visible').click();
e2e.components.Tab.active().should('have.text', 'Alert0'); // there's no alert so therefore Alert + 0
e2e.components.AlertTab.content().should('not.exist');
// Needs to be disabled until Grafana EE turns unified alerting on by default
// e2e.components.AlertTab.content().should('not.exist');
e2e.components.QueryTab.content().should('not.exist');
e2e.components.TransformTab.content().should('not.exist');
e2e.components.PanelAlertTabContent.content().should('exist');
e2e.components.PanelAlertTabContent.content().should('be.visible');
// Needs to be disabled until Grafana EE turns unified alerting on by default
// e2e.components.PanelAlertTabContent.content().should('exist');
// e2e.components.PanelAlertTabContent.content().should('be.visible');
e2e.components.Tab.title('Query').should('be.visible').click();
});

View File

@@ -1,11 +1,14 @@
<!-- The template body needs to be wrapped in div to prevent Premailer from adding </tr></td> tags which breaks the HTML structure -->
<div>
[[Subject .Subject "[[.Title]]"]]
[[ define "alert" ]]
<tr>
<td colspan="2" class="value">
<span class="value-heading">Value:</span> <span class="value-value">[[ .ValueString ]]</span>
</td>
</tr>
<tr>
<td colspan="2" class="value">
<span class="value-heading">Value:</span> <span class="value-value">[[ .ValueString ]]</span>
</td>
</tr>
[[ if gt (len .Annotations.SortedPairs) 0 ]]
<tr>
<td colspan="2" class="annotations">
@@ -187,62 +190,63 @@
<tr>
<td class="twelve">
<table>
[[ if gt (len .Alerts.Firing) 0 ]]
<tr>
<td colspan="2" class="section-heading">
Firing: [[ .Alerts.Firing | len ]] alert[[ if gt (len .Alerts.Firing) 1 ]]s[[ end ]][[ if gt (len .GroupLabels.SortedPairs) 1 ]] for
[[ range .GroupLabels.SortedPairs ]]
[[ .Name ]]=[[ .Value ]]
[[ end ]][[ end ]]
</td>
</tr>
[[ range .Alerts.Firing ]]
[[ if gt (len .Alerts.Firing) 0 ]]
<tr>
<td colspan="2" class="section-heading">
Firing: [[ .Alerts.Firing | len ]] alert[[ if gt (len .Alerts.Firing) 1 ]]s[[ end ]][[ if gt (len .GroupLabels.SortedPairs) 1 ]] for
[[ range .GroupLabels.SortedPairs ]]
[[ .Name ]]=[[ .Value ]]
[[ end ]][[ end ]]
</td>
</tr>
[[ range .Alerts.Firing ]]
<tr>
<td
class="status-tag status-firing"
width="68"
>
Firing
</td>
<td class="alert-label">
[[ .Labels.alertname ]]
</td>
</tr>
[[ template "alert" . ]]
[[ end ]]
[[ end ]]
[[ if gt (len .Alerts.Resolved) 0 ]]
<tr>
<td colspan="2" class="section-heading">
Resolved: [[ .Alerts.Resolved | len ]] alert[[ if gt (len .Alerts.Resolved) 1 ]]s[[ end ]][[ if gt (len .GroupLabels.SortedPairs) 1 ]] for
[[ range .GroupLabels.SortedPairs ]]
[[ .Name ]]=[[ .Value ]]
[[ end ]][[ end ]]
</td>
</tr>
[[ range .Alerts.Resolved ]]
<tr>
<td
class="status-tag status-resolved"
width="68"
>
Resolved
</td>
<td class="alert-label">
[[ .Labels.alertname ]]
</td>
</tr>
[[ template "alert" . ]]
[[ end ]]
[[ end ]]
<tr>
<td
class="status-tag status-firing"
width="68"
>
Firing
</td>
<td class="alert-label">
[[ .Labels.alertname ]]
<td colspan="2">
<a href="[[ .AlertPageUrl ]]" class="button">Go to alerts page</a>
</td>
</tr>
[[ template "alert" . ]]
[[ end ]]
[[ end ]]
[[ if gt (len .Alerts.Resolved) 0 ]]
<tr>
<td colspan="2" class="section-heading">
Resolved: [[ .Alerts.Resolved | len ]] alert[[ if gt (len .Alerts.Resolved) 1 ]]s[[ end ]][[ if gt (len .GroupLabels.SortedPairs) 1 ]] for
[[ range .GroupLabels.SortedPairs ]]
[[ .Name ]]=[[ .Value ]]
[[ end ]][[ end ]]
</td>
</tr>
[[ range .Alerts.Resolved ]]
<tr>
<td
class="status-tag status-resolved"
width="68"
>
Resolved
</td>
<td class="alert-label">
[[ .Labels.alertname ]]
</td>
</tr>
[[ template "alert" . ]]
[[ end ]]
[[ end ]]
<tr>
<td colspan="2">
<a href="[[ .AlertPageUrl ]]" class="button">Go to alerts page</a>
</td>
</tr>
</table>
</table>
</td>
</tr>
</table>
[[ end ]]
</div>

21
go.mod
View File

@@ -53,7 +53,7 @@ require (
github.com/gorilla/websocket v1.4.2
github.com/gosimple/slug v1.9.0
github.com/grafana/cuetsy v0.0.0-20211119211437-8c25464cc9bf
github.com/grafana/grafana-aws-sdk v0.9.1
github.com/grafana/grafana-aws-sdk v0.10.0
github.com/grafana/grafana-plugin-sdk-go v0.125.0
github.com/grafana/loki v1.6.2-0.20211015002020-7832783b1caa
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0
@@ -77,7 +77,7 @@ require (
github.com/ohler55/ojg v1.12.9
github.com/opentracing/opentracing-go v1.2.0
github.com/patrickmn/go-cache v2.1.0+incompatible
github.com/pkg/browser v0.0.0-20210904010418-6d279e18f982 // indirect
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect
github.com/pkg/errors v0.9.1
github.com/prometheus/alertmanager v0.23.1-0.20211116083607-e2a10119aaf7
github.com/prometheus/client_golang v1.12.1
@@ -93,7 +93,7 @@ require (
github.com/uber/jaeger-client-go v2.29.1+incompatible
github.com/unknwon/com v1.0.1
github.com/urfave/cli/v2 v2.3.0
github.com/vectordotdev/go-datemath v0.1.1-0.20220110192739-f9ce83ec349f
github.com/vectordotdev/go-datemath v0.1.1-0.20220323213446-f3954d0b18ae
github.com/weaveworks/common v0.0.0-20210913144402-035033b78a78
github.com/xorcare/pointer v1.1.0
github.com/yudai/gojsondiff v1.0.0
@@ -105,7 +105,7 @@ require (
go.opentelemetry.io/otel/trace v1.2.0
golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e
golang.org/x/exp v0.0.0-20210220032938-85be41e4509f // indirect
golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f
golang.org/x/net v0.0.0-20211013171255-e13a2654a71e
golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac
@@ -167,10 +167,10 @@ require (
github.com/go-openapi/analysis v0.20.1 // indirect
github.com/go-openapi/errors v0.20.0 // indirect
github.com/go-openapi/jsonpointer v0.19.5 // indirect
github.com/go-openapi/jsonreference v0.19.5 // indirect
github.com/go-openapi/jsonreference v0.19.6 // indirect
github.com/go-openapi/loads v0.20.2 // indirect
github.com/go-openapi/runtime v0.19.29 // indirect
github.com/go-openapi/spec v0.20.3 // indirect
github.com/go-openapi/spec v0.20.4 // indirect
github.com/go-openapi/swag v0.19.15 // indirect
github.com/go-openapi/validate v0.20.2 // indirect
github.com/gogo/googleapis v1.4.1 // indirect
@@ -239,9 +239,9 @@ require (
github.com/valyala/bytebufferpool v1.0.0 // indirect
github.com/weaveworks/promrus v1.2.0 // indirect
github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82 // indirect
go.mongodb.org/mongo-driver v1.5.2 // indirect
go.mongodb.org/mongo-driver v1.7.0 // indirect
go.opencensus.io v0.23.0 // indirect
go.uber.org/atomic v1.9.0 // indirect
go.uber.org/atomic v1.9.0
go.uber.org/goleak v1.1.10 // indirect
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 // indirect
golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 // indirect
@@ -252,7 +252,10 @@ require (
gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d // indirect
)
require cloud.google.com/go/kms v1.1.0
require (
cloud.google.com/go/kms v1.1.0
github.com/golang-migrate/migrate/v4 v4.7.0
)
require (
github.com/Azure/go-autorest/autorest/adal v0.9.15 // indirect

19
go.sum
View File

@@ -867,6 +867,8 @@ github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL9
github.com/go-openapi/jsonreference v0.19.4/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg=
github.com/go-openapi/jsonreference v0.19.5 h1:1WJP/wi4OjB4iV8KVbH73rQaoialJrqv8gitZLxGLtM=
github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg=
github.com/go-openapi/jsonreference v0.19.6 h1:UBIxjkht+AWIgYzCDSv2GN+E/togfwXUJFRTWhl2Jjs=
github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns=
github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
github.com/go-openapi/loads v0.17.2/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
@@ -907,6 +909,8 @@ github.com/go-openapi/spec v0.20.0/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFut
github.com/go-openapi/spec v0.20.1/go.mod h1:93x7oh+d+FQsmsieroS4cmR3u0p/ywH649a3qwC9OsQ=
github.com/go-openapi/spec v0.20.3 h1:uH9RQ6vdyPSs2pSy9fL8QPspDF2AMIMPtmK5coSSjtQ=
github.com/go-openapi/spec v0.20.3/go.mod h1:gG4F8wdEDN+YPBMVnzE85Rbhf+Th2DTvA9nFPQ5AYEg=
github.com/go-openapi/spec v0.20.4 h1:O8hJrt0UMnhHcluhIdUgCLRWyM2x7QkBXRvOs7m+O1M=
github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I=
github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
github.com/go-openapi/strfmt v0.17.2/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
@@ -1040,6 +1044,7 @@ github.com/gogo/status v1.1.0 h1:+eIkrewn5q6b30y+g/BJINVVdi2xH7je5MPJ3ZPK3JA=
github.com/gogo/status v1.1.0/go.mod h1:BFv9nrluPLmrS0EmGVvLaPNmRosr9KapBYd5/hpY1WM=
github.com/golang-jwt/jwt/v4 v4.0.0 h1:RAqyYixv1p7uEnocuy8P1nru5wprCh/MH2BIlW5z5/o=
github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg=
github.com/golang-migrate/migrate/v4 v4.7.0 h1:gONcHxHApDTKXDyLH/H97gEHmpu1zcnnbAaq2zgrPrs=
github.com/golang-migrate/migrate/v4 v4.7.0/go.mod h1:Qvut3N4xKWjoH3sokBccML6WyHSnggXm/DvMMnTsQIc=
github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY=
github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0=
@@ -1238,6 +1243,8 @@ github.com/grafana/go-mssqldb v0.0.0-20210326084033-d0ce3c521036 h1:GplhUk6Xes5J
github.com/grafana/go-mssqldb v0.0.0-20210326084033-d0ce3c521036/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU=
github.com/grafana/grafana-aws-sdk v0.9.1 h1:jMZlsLsWnqOwLt2UNcLUsJ2z6289hLYlscK35QgS158=
github.com/grafana/grafana-aws-sdk v0.9.1/go.mod h1:6KaQ8uUD4KpXr/b7bAC7zbfSXTVOiTk4XhIrwkGWn4w=
github.com/grafana/grafana-aws-sdk v0.10.0 h1:q7+mJtT/vsU5InDN57yM+BJ2z1kJDf1W4WwWPEZ0Cxw=
github.com/grafana/grafana-aws-sdk v0.10.0/go.mod h1:vFIOHEnY1u5nY0/tge1IHQjPuG6DRKr2ISf/HikUdjE=
github.com/grafana/grafana-google-sdk-go v0.0.0-20211104130251-b190293eaf58 h1:2ud7NNM7LrGPO4x0NFR8qLq68CqI4SmB7I2yRN2w9oE=
github.com/grafana/grafana-google-sdk-go v0.0.0-20211104130251-b190293eaf58/go.mod h1:Vo2TKWfDVmNTELBUM+3lkrZvFtBws0qSZdXhQxRdJrE=
github.com/grafana/grafana-plugin-sdk-go v0.94.0/go.mod h1:3VXz4nCv6wH5SfgB3mlW39s+c+LetqSCjFj7xxPC5+M=
@@ -1953,8 +1960,8 @@ github.com/pierrec/lz4/v4 v4.1.8/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuR
github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4=
github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8=
github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA=
github.com/pkg/browser v0.0.0-20210904010418-6d279e18f982 h1:TdFv+3Gr3GaghJ/o80aulO4ian7GHGWMdLBXoLZH1Is=
github.com/pkg/browser v0.0.0-20210904010418-6d279e18f982/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI=
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU=
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -2355,6 +2362,8 @@ github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+
github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio=
github.com/vectordotdev/go-datemath v0.1.1-0.20220110192739-f9ce83ec349f h1:2upw/ZfjkCKpc4k6DXg7lMfCSLkfw/8epV5/y2ZUQ8U=
github.com/vectordotdev/go-datemath v0.1.1-0.20220110192739-f9ce83ec349f/go.mod h1:PnwzbSst7KD3vpBzzlntZU5gjVa455Uqa5QPiKSYJzQ=
github.com/vectordotdev/go-datemath v0.1.1-0.20220323213446-f3954d0b18ae h1:oyiy3uBj1F4O3AaFh7hUGBrJjAssJhKyAbwxtkslxqo=
github.com/vectordotdev/go-datemath v0.1.1-0.20220323213446-f3954d0b18ae/go.mod h1:PnwzbSst7KD3vpBzzlntZU5gjVa455Uqa5QPiKSYJzQ=
github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw=
github.com/vektra/mockery v0.0.0-20181123154057-e78b021dcbb5/go.mod h1:ppEjwdhyy7Y31EnHRDm1JkChoC7LXIJ7Ex0VYLWtZtQ=
github.com/vishvananda/netlink v0.0.0-20171020171820-b2de5d10e38e/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk=
@@ -2468,8 +2477,9 @@ go.mongodb.org/mongo-driver v1.4.3/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4S
go.mongodb.org/mongo-driver v1.4.4/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc=
go.mongodb.org/mongo-driver v1.4.6/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc=
go.mongodb.org/mongo-driver v1.5.1/go.mod h1:gRXCHX4Jo7J0IJ1oDQyUxF7jfy19UfxniMS4xxMmUqw=
go.mongodb.org/mongo-driver v1.5.2 h1:AsxOLoJTgP6YNM0fXWw4OjdluYmWzQYp+lFJL7xu9fU=
go.mongodb.org/mongo-driver v1.5.2/go.mod h1:gRXCHX4Jo7J0IJ1oDQyUxF7jfy19UfxniMS4xxMmUqw=
go.mongodb.org/mongo-driver v1.7.0 h1:hHrvOBWlWB2c7+8Gh/Xi5jj82AgidK/t7KVXBZ+IyUA=
go.mongodb.org/mongo-driver v1.7.0/go.mod h1:Q4oFMbo1+MSNqICAdYMlC/zSTrwCogR4R8NzkI+yfU8=
go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk=
go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
@@ -2725,8 +2735,9 @@ golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qx
golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f h1:w6wWR0H+nyVpbSAQbzVEIACVyr/h8l/BEkY6Sokc7Eg=
golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211013171255-e13a2654a71e h1:Xj+JO91noE97IN6F/7WZxzC5QE6yENAQPrwIYhW3bsA=
golang.org/x/net v0.0.0-20211013171255-e13a2654a71e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20181106182150-f42d05182288/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=

View File

@@ -1,4 +1,4 @@
{
"stable": "8.3.4",
"testing": "8.3.4"
"stable": "8.4.4",
"testing": "8.4.4"
}

View File

@@ -1,6 +1,8 @@
{
"npmClient": "yarn",
"useWorkspaces": true,
"packages": ["packages/*"],
"version": "8.4.0-pre"
"packages": [
"packages/*"
],
"version": "8.4.6"
}

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