Commit Graph
4580 Commits
Author SHA1 Message Date
Grot (@grafanabot)andJoe Blubaugh 74a22daa49 [v9.3.x] Alerting: Use the QuotaTargetSrv instead of the QuotaTarget in quota check (#60034)
Alerting: Use the QuotaTargetSrv instead of the QuotaTarget in quota check (#60026)

Before this change, the alerting provisioning system incorrectly used
the QuotaTarget to check if alerting's request quota had been reached.
The quota service requires the QuotaTargetSrv, which is what's
registered with the service at startup time. This is leading to errors
in the provisioning system.

(cherry picked from commit e6743a7e9a)

Co-authored-by: Joe Blubaugh <joe.blubaugh@grafana.com>
2022-12-09 07:24:39 +08:00
Grot (@grafanabot)andJo 0f6c4d1756 [v9.3.x] ServiceAccounts: Do not display warnings about secret scanner when scanner is disabled (#59955)
ServiceAccounts: Do not display warnings about secret scanner when scanner is disabled (#59952)

ServiceAccounts: Fix warnings about secret scanner when scanner is disabled
(cherry picked from commit d833031726)

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2022-12-07 09:06:08 -05:00
Carl Bergquist 4f68c4ee8b [9.3.x] Backport Contexthandler: Add uname as response header #59930 (#59951)
Contexthandler: Add uname as response header (#59930)

Signed-off-by: bergquist <carl.bergquist@gmail.com>
(cherry picked from commit 1b676d0d49)
2022-12-07 14:23:51 +01:00
Gabriel MABILLEandievaVasiljeva 3adad3c21a Users: Use Remote Cache for storing signed in users [v9.3.x] (#59883) (#59934)
* FeatureToggle: for storing signed in user object in a Remote Cache (#59883)

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

* add cache wrapper

only cache token if not to rotate

anticipate next rotation

(cherry picked from commit 07a4b2343d59cb593ad128355e1d9217ba493700)

* FeatureToggle: for storing sessions in a Remote Cache

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

* use feature flag for session cache

* ensure ttl is minimum 1 second

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

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

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

* fix description of toggle

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

(cherry picked from commit 4259b6bf58)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-12-06 08:17:24 -05:00
Grot (@grafanabot)andKarl Persson 04fb50f8cc [v9.3.x] DataSourcePermissions: Handle licensing properly for ds permissions (#59709)
DataSourcePermissions: Handle licensing properly for ds permissions (#59694)

* RBAC: add viewer grand if dspermissions enforcement is not enabled

* RBAC: Change permissions based on role prefix

* RBAC: Add option to for permission service to add a license middleware

* RBAC: Remove actions from query struct

(cherry picked from commit 6d1bcd9f40)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2022-12-02 13:40:03 +01:00
Jo 43ea988ec2 [v9.3.x] Sessions: Remove invalid session cookie if it's invalid/expired/missing (#59586)
only remove invalid session cookie if it's invalid/expired/missing
2022-11-30 16:50:53 +01:00
Grot (@grafanabot)andKarl Persson 25382580fe [v9.3.x] RBAC: Handle edge case where there is duplicated acl entries for a role on a single dashboard (#59573)
RBAC: Handle edge case where there is duplicated acl entries for a role on a single dashboard (#58079)

* RBAC: Handle edge case where there is duplicated acl entries for a role
on a single dashboard

(cherry picked from commit 6aaf36776b)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2022-11-30 16:11:53 +01:00
Grot (@grafanabot)andWill Browne 7feaf4b32c [v9.3.x] Datasources: Use context logger in cache service (#59558)
Datasources: Use context logger in cache service (#59547)

(cherry picked from commit 0fca3cf9dd)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-11-30 08:44:11 -05:00
Grot (@grafanabot)andAlexander Weaver c45b49cb92 [v9.3.x] Alerting: Fix swallowing of errors when attaching images to notifications (#59513)
Alerting: Fix swallowing of errors when attaching images to notifications (#59432)

* Break out image logic and add logging

* Attach alert log context to image attachment

* Fix capitalization

(cherry picked from commit 1481ace528)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-11-29 14:39:41 -05:00
Grot (@grafanabot)andSofia Papagiannaki 3dac951598 [v9.3.x] Chore: Delete accidentally committed test database (#59463)
Chore: Delete accidentally committed test database (#59238)

(cherry picked from commit 933879a347)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-11-29 03:48:33 -05:00
Erik Sundell c652135724 [v9.3.x] CloudWatch: Cross-account querying support (#59389)
* add cross-account querying support

* fix tests
2022-11-28 14:21:34 +01:00
Grot (@grafanabot)andKyle Brandt 426fab32eb [v9.3.x] SSE: Make sure to forward headers, user and cookies/OAuth token (#59390)
SSE: Make sure to forward headers, user and cookies/OAuth token (#58897)

Fixes #58793 and Fixes https://github.com/grafana/azure-data-explorer-datasource/issues/513

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

Co-authored-by: Kyle Brandt <kyle@grafana.com>
2022-11-28 08:11:52 -05:00
Grot (@grafanabot)andIeva 2e36890b56 [v9.3.x] Access Control: Clear user's permission cache after resource creation (#59307)
Access Control: Clear user's permission cache after resource creation (#59101)

* refresh user's permission cache after resource creation

* clear the cache instead of reloading the permissions

* don't error if can't clear cache

* fix tests

* fix tests again

(cherry picked from commit a8bae3f0b0)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-11-24 09:52:46 -05:00
Grot (@grafanabot)andJo 2cbaab0e4c [v9.3.x] User: Optimize signed in user cache management (#59199)
User: Optimize signed in user cache management (#59090)

* only access the cache if a user ID is set

* ignore all negative values

(cherry picked from commit d7a652ff7f)

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2022-11-24 04:15:43 -05:00
Grot (@grafanabot)andJosh Hunt 000cfe1dfc [v9.3.x] Internationalization: Enable internationalization by default (#59226)
Internationalization: Enable internationalization by default (#59204)

* Enable internationalization feature flag by default

* Change i18n feature to beta

* Set i18n feature flag to stable

* update features

(cherry picked from commit ba0ac08465)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2022-11-23 12:17:09 -05:00
Ashley Harrison a4919a6d69 Navigation: share logic between buildBreadcrumbs and usePageTitle… (#59155)
Navigation: share logic between `buildBreadcrumbs` and `usePageTitle` (#58819)

* simplify usePageTitle logic a bit

* use buildBreadcrumbs logic in usePageTitle

* always add home item to navTree, fix some tests

* fix remaining unit tests

(cherry picked from commit 824a562b03)
2022-11-23 10:26:55 +00:00
Grot (@grafanabot)andAshley Harrison 82e6fdfaf9 [v9.3.x] Navigation: use correct id to find cloud access policies page (#59187)
Navigation: use correct id to find cloud access policies page (#59123)

use correct id to find cloud access policies page

(cherry picked from commit 8761a71da2)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-23 05:15:43 -05:00
Grot (@grafanabot)andJean-Philippe Quéméner a2263b9249 [v9.3.x] Alerting: Enable interpolation for notification policies in file provisioning (#59140)
Alerting: Enable interpolation for notification policies in file provisioning (#58956)

(cherry picked from commit 41b3398eb4)

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2022-11-22 17:27:08 +01:00
Grot (@grafanabot)andBart Peeters 90a904fbd5 [v9.3.x] Alerting: Support Prometheus durations in Provisioning API (#59067)
Alerting: Support Prometheus durations in Provisioning API (#58293)

Provisioning API should support Prometheus durations

(cherry picked from commit 57d6adbc7c)

Co-authored-by: Bart Peeters <birtpeeters@hotmail.com>
2022-11-21 19:15:54 +00:00
Grot (@grafanabot)andying-jeanne 3c353ab1c1 [v9.3.x] Chore: Fix SQLx failure when starting the server with newDBLibrary enabled (#59054)
Chore: Fix SQLx failure when starting the server with newDBLibrary enabled (#58985)

change the weekstart to pointer

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
(cherry picked from commit ba8124ef93)

Co-authored-by: ying-jeanne <74549700+ying-jeanne@users.noreply.github.com>
2022-11-21 17:55:36 +02:00
Grot (@grafanabot)andLeo 72ac08cc7b [v9.3.x] Navigation: Set navtree to an empty array instead of null (#59010)
Navigation: Set navtree to  an empty array instead of null (#58919)

set navtree to  an empty array instead of null

(cherry picked from commit 4aa5dea96b)

Co-authored-by: Leo <108552997+lpskdl@users.noreply.github.com>
2022-11-21 10:02:19 +01:00
Grot (@grafanabot)andJosh Hunt f35ab2f79d [v9.3.x] Nav: Split Admin into three sections for new IA (#58974)
Nav: Split Admin into three sections for new IA (#58229)

* start to split admin into two sections

* most of new admin nav implemented

* landing pages

* hide admin for non-admins

* update admin redirects if not topnav

* clean up

* updated IA for admin (still WIP)

* move plugin pages into correct admin sections

* fix backend unit test

* move correlations into the correct section

* add translations for admin sections

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
(cherry picked from commit 5978dc138e)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2022-11-18 11:15:17 -05:00
Grot (@grafanabot)andAshley Harrison 4e31338e94 [v9.3.x] Navigation: move connections + integrations to be a top level item (#58939)
Navigation: move connections + integrations to be a top level item (#58902)

* move connections + integrations to be a top level item

* add a test to check we can move apps to the root

* split out movePlugin logic into a separate function

* fix linting

* rename movePlugin -> addPluginToSection

(cherry picked from commit d46e3916a1)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-18 08:08:36 -05:00
Grot (@grafanabot)andRyan McKinley d7e459fdee [v9.3.x] QueryData: skip header validation (revert check) (#58946)
QueryData: skip header validation (revert check) (#58871)

(cherry picked from commit 8e19a1618f)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-11-18 05:59:50 -05:00
Grot (@grafanabot)andMisi 4db1f3b850 [v9.3.x] OAuth: Refactor OAuth parameters handling to support obtaining refresh tokens for Google OAuth (#58940)
OAuth: Refactor OAuth parameters handling to support obtaining refresh tokens for Google OAuth (#58782)

* Add ApprovalForce to AuthCodeOptions

* Extract access token validity check to a function

* Refactor

* Oauth: set options internally instead of exposing new function

* Align tests

* Remove unused function

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
(cherry picked from commit 9c98314e9f)

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2022-11-18 10:37:24 +01:00
Grot (@grafanabot)andSofia Papagiannaki 4fb033d525 [v9.3.x] Quota: Fix failure in store due to missing scope parameters (#58923)
Quota: Fix failure in store due to missing scope parameters (#58874)

Quota: Fix failure in store
(cherry picked from commit 18738cfd77)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-11-17 18:28:11 +01:00
Grot (@grafanabot)andSofia Papagiannaki ffa649e377 [v9.3.x] Quota: Fix failure when checking session limits (#58869)
Quota: Fix failure when checking session limits (#58865)

(cherry picked from commit ab36252c86)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-11-17 18:09:29 +01:00
Grot (@grafanabot)andAshley Harrison 450ff445ea [v9.3.x] Navigation: rename Grafana Machine Learning to just Machine Learning (#58911)
Navigation: rename Grafana Machine Learning to just Machine Learning (#58893)

rename Grafana Machine Learning to just Machine Learning

(cherry picked from commit ac66e14054)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-17 09:49:07 -05:00
Grot (@grafanabot)andRyan McKinley 7ec8550652 [v9.3.x] QueryData: fix header parsing to support expressions (#58848)
QueryData: fix header parsing to support expressions (#58826)

fixes #58821

(cherry picked from commit 934fb2f0ee)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-11-16 10:29:59 -05:00
Ashley Harrison 028751a18a Navigation: Add quick actions button (#58707)
* initial implementation for quick add

* add new isCreateAction prop on NavModel

* adjust separator margin

* switch to primary button

* undo changes to plugin.json

* remove unused props from interface

* use a consistent dropdown overlay type

* memoize findCreateActions

* add prop description

* use a function so that menus are only rendered when the dropdown is open
2022-11-15 12:08:15 +00:00
Torkel Ödegaard 84a69135a7 Scene: Variables and support for declaring variable dependencies and getting notified or re-rendered when they change (#58299)
* Component that can cache and extract variable dependencies

* Component that can cache and extract variable dependencies

* Updates

* Refactoring

* Lots of refactoring and iterations of supporting both re-rendering and query re-execution

* Updated SceneCanvasText

* Updated name of file

* Updated

* Refactoring a bit

* Added back getName

* Added comment

* minor fix

* Minor fix

* Merge fixes

* Merge fixes

* Some review fixes

* Updated comment

* Added forceRender function

* Add back fail on console log
2022-11-15 12:54:24 +01:00
Sofia Papagiannaki 93b4b9154e Chore: Restore folder properties (#58743)
* Chore: Fix folder URL

* Restore more folder properties

* Fixup
2022-11-15 12:58:12 +02:00
Gabriel MABILLEandmarefr d999b5bda0 RBAC: remove redundant role name field from plugin role registrations (#58166)
* RBAC: Remove name from role registration

* Inline accesscontrol service

* test fix

* use fmt

Co-Authored-By: marefr <marcus.efraimsson@gmail.com>

Co-authored-by: marefr <marcus.efraimsson@gmail.com>
2022-11-15 09:51:40 +01:00
Artur Wierzbicki eff5450ff1 Search: Revert "load dashboard performance improvements" (#58730)
Revert "Search: load dashboard performance improvements (#57509)"

This reverts commit 1df8a85a42.
2022-11-15 02:25:13 -05:00
Ryan McKinley d33939da55 DataSourceWithBackend: Add plugin id to the request headers (#58082) 2022-11-14 19:35:50 -05:00
Sofia Papagiannaki 9855e74b92 Chore: Refactor quota service (#58643)
Chore: Refactor quota service (#57586)

* Chore: refactore quota service

* Apply suggestions from code review
2022-11-14 21:08:10 +02:00
Yuri Tseretyan 28d39d35fd Alerting: Update state manager to save state transitions in one batch (#58358)
* change stale results handler to not update database but return transitions
* save all transitions in one call
2022-11-14 10:57:51 -05:00
4915d21c25 OAuth: Feature toggle for access token expiration check and docs (#58179)
* Add feature toggle for access token expiration check

* Add docs for configuring refresh tokens

* Update docs

* Update docs based on review

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

* Improve documentation

* Change access_type default to Offline

* Update docs/sources/setup-grafana/configure-security/configure-authentication/gitlab/index.md

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

* Update docs/sources/setup-grafana/configure-security/configure-authentication/google/index.md

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

* Update pkg/services/featuremgmt/registry.go

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>

* Regenerate toggles

* Update Generic OAuth docs

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2022-11-14 16:47:46 +01:00
JoandMihaly Gyongyosi 121631daae Fix: Email and username trimming and invitation validation (#58442)
* fix: email and username trimming and invitation validation

* Trim leading and trailing whitespaces from email and username on signup

* Check whether the provided email address is the same as where the invitation sent

* Align tests

Co-authored-by: Mihaly Gyongyosi <mgyongyosi@users.noreply.github.com>
2022-11-14 13:11:26 +01:00
Leo a71f74220a Navigation: Remove monitoring texts for items under Monitoring section (#58522)
* rename Synthetic monitoring with Synthetics

* improved text override
2022-11-14 10:01:23 +01:00
Ryan McKinley 5934407443 Storage: add an admin write flavor that can explicitly set the user/time (#58618) 2022-11-12 11:36:18 -08:00
ying-jeanneandSerge Zaitsev 69b5a9c752 Chore: [Nested Folder] Add db migration at service start time (#58590)
* add db migration at service start time

* make changes for the 3 db

* revert migrator

* fix feature toggle check

Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
2022-11-12 09:51:46 -05:00
Alex Moreno 78bb8c10ce Alerting: Allow none provenance alert rule creation from provisioning API (#58410) 2022-11-11 19:58:45 +01:00
gotjosh d748979048 Alerting: Implement the Webex notifier (#58480)
* Alerting: Implement the Webex notifier

Closes https://github.com/grafana/grafana/issues/11750

Signed-off-by: gotjosh <josue.abreu@gmail.com>
2022-11-11 17:27:13 +00:00
ismail simsek 1c5039085b Prometheus: Make Prometheus streaming parser as default client (#58365)
* Introduce a new feature flag for prometheus buffered client

* Use querydata client as default and put buffered client behind the feature flag

* Remove prometheusStreamingJSONParser feature flag as it is not needed anymore

* Update tests

* Fix unit tests

* Update feature flag description
2022-11-11 17:53:12 +01:00
idafurjes 080ea88af7 Nested Folders: Support getting of nested folder in folder service wh… (#58597)
* Nested Folders: Support getting of nested folder in folder service when feature flag is set

* Fix lint

* Fix some tests

* Fix ngalert test

* ngalert fix

* Fix API tests

* Fix some tests and lint

* Fix lint 2

* Fix library elements and panels

* Add access control to get folder

* Cleanup and minor test change
2022-11-11 14:28:24 +01:00
sam boyerandArtur Wierzbicki 07e5f8117f Reconcile coremodels, entities, objects under new kind framework (#56492)
* Update thema to latest

* Deal with s/Library/*Runtime/

* Commit new, working results of codegen

* We like pointers now

* Always take runtime arg for NewBase()

* Sketchy handwavy pass at entity meta framework

* Little nibbles

* Update pkg/framework/coremodel/entityframework.cue

Co-authored-by: Artur Wierzbicki <wierzbicki.artur.94@gmail.com>

* Move file into new framework location

* Introduce loaders, Go code

* Complete rename to kind

* Flesh out framework, add svg/dashboard examples

* Cruft removal

* Remove generated kind go files from gitignore

* Refine maturity concept, add SlotKind

* Update embed and go deps

* Export PrefixWithGrafanaCUE

* Make the loader actually work, holy crap

* Many small tweaks to type.cue

* Add Apache 2 licensing exceptions for kinds

* Add new kinds dir, start of generator

* Roll back to earlier oapi-codegen

* Introduce new grafana-specific CUE loaders

* Introduce new tidy code generators framework

* Catch up kind framework with tinkering

* Add slices for the generators

* Add write/verify step to main generator

* Many renames

* Split up kind framework cue files

* Use kind.Decl within generated kinds

* Create kind.SomeDecl wrapper type to cache lineages

* Better names again

* Get one generated implemented, hopefully

* Copy dashboard schema into new kind.cue

* Small fixes to make the initial gen work

* Put svg kind in its new home

* Add generated Go dashboard type

* More renames and cleanups

* Add base kind registry and generator

* Stop blacklisting *_gen.go files

This is not the Go best practice, anyway. All we actually want to ignore
for enterprise is generated wire files.

* Change codegen output directories

pkg/kind -> pkg/kinds
pkg/registry/kindreg -> pkg/registry/corekind

* Rename pkg/framework/kind to pkg/kindsys

* Add core structured kind generator

* Add plural and machine names to kind spec

* Copy playlist over to kind system

* Consolidate kindsys files

* Add raw kind generator

* Update CODEOWNERS for kind framework

* Touch up comments a bit

* More docs tweaks

* Remove generated types to reduce noise for review

* Split each generator into its own file

* Rename Slot kind to Composable kind

* Add handwavy types for customkind loading

* Guard against init calls to framework loader

* First pass at doc on extending the kind system

* Improve attribute example in docs

* Fix wire imports

* Add basic TS types generator

* Fix composable kind category def

* No need for a separate file with generate directive

* Catch dashboard schema up

* Rename generator types to something saner and generic

* Make version configurable in ts/go generators

* Add CommonMeta to ease property access

* Add kindsys prop indicating whether lineage is group

* Put all kind categories back in a single file

* Finish with kindsys group props

* Refactor maturity progression per discussion

- Replace "committed" with "merged"
- All kindcats can use all maturity levels, at least for now

* Convert ts veneer index generator to modular system

* Move over to new jennywrites framework

* Strip down old coremodel generator

* Use public version of jennywrites

* Pull latest thema

* Commit generated Go types

* Add header injection postprocessor

* Move sdboyer/jennywrites to grafana/codejen

* Tweak header output

* Remove dashboard and playlist coremodels

* Fix up backend dashboards devenv test

* Fix TS import patterns to new gen filename

* Update internal imports, remove coremodel registry

* Fix compilation errors, wire generation

* Export and replace the prefix dropper

* More Go struct and field name changes

* Last name fixes, hopefully

* Fix lint errors

* Last lint error

Co-authored-by: Artur Wierzbicki <wierzbicki.artur.94@gmail.com>
2022-11-10 12:36:40 -08:00
Ryan McKinley f92d978386 Export: support export in postgresql (#58553) 2022-11-10 14:16:31 -05:00