Commit Graph

403 Commits

Author SHA1 Message Date
Stephanie Hingtgen
df84d928e2 K8s: Folders: Fix legacy search (#100393) 2025-02-11 13:14:25 -06:00
Ryan McKinley
a5355fd66c Storage: Add command line tool to migrate legacy dashboards (and folders) to unified storage (#99199) 2025-02-11 19:57:46 +02:00
Alexander Zobnin
5118e82e8c Zanzana: Run reconciliation in its own service (#100361)
* Zanzana: Start reconciliation in its own service

* cleanup

* update go workspaces

* refactor

* remove unused code

* move func definition
2025-02-11 14:09:39 +01:00
Ryan McKinley
e3cb73301e Authz/Schema: Remove unused stub cue definitions (#100387) 2025-02-11 15:24:11 +03:00
Gábor Farkas
e4ef71b78e querier: handle datasource-not-found (#100175) 2025-02-11 08:25:27 +01:00
Sarah Zinger
0152f414f0 DS Apiservers: return 404 when receiving a datasource not found error (#100025)
* DS Apiservers should return a k8s 404 error

* Do not swallow status codes

* Updates from initial CR.

* Add test for ds apiserver to retunr 404 when a datasource is not found

* Didn't intend for a change here
2025-02-10 12:07:51 -05:00
Scott Lepper
378bb6ea3f [search] folder name lookup performance (#100154)
[search] use search for folder name lookup
2025-02-07 17:19:23 -05:00
Will Assis
7e11e604c7 [search] fix offset param in finddashboards (#100302)
* fix offset param in finddashboards

* separate offset from page in k8s search endponit
2025-02-07 13:24:27 -05:00
owensmallwood
bf27e6d3ed Unified Storage: Fix legacy dashboard query when using continue token (#100244)
* query for rows less than the continue token LastID since the queries are sorted by dash ID in DESC order

* run dashboard query tests
2025-02-07 12:16:41 -06:00
Georges Chaudy
6e748a9ee7 fix: Ensure we check the user identity for search (#100190)
Ensure we check the user identity for search
2025-02-07 12:32:45 +01:00
Mariell Hoversholm
e815a2850e Provisioning: Integration test that Repository resources work (#100197)
* Provisioning: Set up server in practice

* Provisioning: Integration test that Repository resources work
2025-02-07 12:04:58 +01:00
Arati R.
d62c490af5 UniStore Big Objects: Fix spec rebuilding (#100183)
* Fix big object spec rebuilding and associated test

---------

Co-authored-by: Jean-Philippe Quémémer <jeanphilippe.quemener@grafana.com>
2025-02-07 09:29:25 +01:00
Jean-Philippe Quéméner
c8609b8a61 feat(unified-storage): keep tags on reduce of dashboards (#100230) 2025-02-06 22:23:00 +01:00
Will Assis
1467d4b3e3 [search] Legacy search fallback support legacy query params (#99765)
* add support for deleted query param

* support tag query param in modes 2 and below

* handle dashboardIds

* hhandle dashboardUIDs

* handle folderUIDs query param

* handle page query param when hitting legacy storage

* handle sort query param

* handle type query param

* re-enable search fallback

* remove folder search workaround and fix /api/search to return both folders and dashboards when no title or type is provided

---------

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-02-06 11:30:47 -05:00
Sarah Zinger
0035ed8a5e Add log line for unexpected queries in ds querier (#100147) 2025-02-06 11:05:30 -05:00
Kyle Brandt
d64f41afdc SQL Expressions: Re-implement feature using go-mysql-server (#99521)
* Under feature flag `sqlExpressions` and is experimental
* Excluded from arm32
* Will not work with the Query Service yet
* Does not have limits in place yet
* Does not working with alerting yet
* Currently requires "prepare time series" Transform for time series viz
 
---------

Co-authored-by: Sam Jewell <sam.jewell@grafana.com>
2025-02-06 07:27:28 -05:00
Matias Chomicki
ff926c5ac5 Logs Panel: Base elements for the new visualization (#99084)
* Create base components

* Create measurement service

* Add container for list

* Use measurement to render virtualized log lines

* Match rendered styles in 2d context for measuring

* Improve virtualization initialization and handle resize

* Introduce log line processing

* Virtualization: fix measurement of lines with line endings

* Virtualization: include scrollbar width in calculation

* Remove logs

* Virtualization: optimize text measurement

* Add support for forceEscape

* Log line: properly style wrapped/unwrapped lines

* Virtualization: handle possible overflows

* Improve overflow handling

* LogList: remove scroll position ref

* Remove logs

* Remove log

* Add top/bottom navigation buttons

* Add timestamp to pre-processing

* Add showtime support

* Fix imports

* Chore: simplify dedup

* Show level

* Refactor measurement and measure level and timestamp

* Virtualization: skip unnecessary measurements

* Improve measurements to minimize overflow chance

* Introduce logline colors

* Update palette

* Remove pretiffying

* Add comment

* Remove unused variable

* Add color for info level

* Fix dependencies

* Refactor overflow to account for smaller estimations

* Debounce resizing

* Fix imports

* Further optimize height calculation

* Remove outline

* Unused import

* Use less under/overflow method

* Respond to height changes

* Refactor size adjustment to account for layout changes

* Add Logs Panel support

* Add margin bottom to log lines

* Remove unused option

* LogList: container div should never be null

Bad API design

* Log List: make app not undefined and update containerElement usages

* New Logs Panel: Create as new visualization (#99427)

* Logs Panel: clean up old panel

* Logs Panel New: create as new visualization

* Plugin: mark as alpha

* Logs panel new: hold container in a state variable

* Logs panel: fix no data state

* Create newLogsPanel feature flag

* Logs: use new feature flag

* Prettier

* Add new panel to code owners

* Logs Navigation: add translations

* Address betterer issues

* Fix import

* Extract translations

* Update virtualization.ts

* Virtualization: add DOM fallback for text measurement

* Run gen-cue

* plugins_integration_test: add logs-new to expected plugins
2025-02-04 18:40:17 +01:00
Ashley Harrison
e0151528a4 API client generation: Update iam client (#99963)
* update generated iam client

* update API

* with meta api

* regenerate client

* with identify ref

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2025-02-03 13:40:36 +00:00
Ryan McKinley
b636b81b16 K8s/IAM: Use raw handler for display (not rest.Connector) (#99898) 2025-02-03 14:24:35 +03:00
Gábor Farkas
295c0afc35 datasources: querier: adjust the query-client (#99805) 2025-02-03 09:06:18 +01:00
Scott Lepper
ce38eb3398 [search] fix dashboard list default sort (#99813)
[search] fix dashboard list default sort
2025-01-30 14:22:22 -05:00
Ryan McKinley
9d5af95565 K8s/OpenAPI: Remove /watch/ from the openapi spec (#99793) 2025-01-30 12:51:55 +03:00
Mariell Hoversholm
0c120db84d Provisioning: Setup server and storage (#99757)
feat: setup server and storage

This simply sets up the API server and its storage for `provisioning.grafana.app`.
Features will be added eventually.
2025-01-30 08:11:50 +01:00
Stephanie Hingtgen
b06f83670e Cleanup: comment out unreachable code (#99723) 2025-01-29 07:00:49 +03:00
maicon
20f02ec12f Unistore: refactor provisioning to work with folder service (#99473) 2025-01-29 05:19:38 +02:00
Stephanie Hingtgen
6908f91428 Search fallback: prevent for now (#99725) 2025-01-29 04:57:34 +02:00
Ryan McKinley
5cd1efb2d1 K8s/Dashboard: Improve legacy error handling (#99658) 2025-01-28 18:47:02 -06:00
Arati R.
94a844977e Folders/K8s: Fix createdBy and updatedBy fields in response (#99569) 2025-01-28 10:46:07 -06:00
Stephanie Hingtgen
0cef2b9ae7 Dashboard Versions: Make compatible with app platform (#99327) 2025-01-28 08:17:52 -06:00
William Assis
be8396cafa Setup legacy search based on mode (#98908) 2025-01-27 12:32:07 -06:00
Ryan McKinley
a5c14db051 Folders: Convert between unstructured and legacy (#99504) 2025-01-27 17:37:28 +01:00
Georges Chaudy
7720f0b64e folder: allow standalone folder apiserver (#99508)
* add standalone folders

* add validate

* fix auth
2025-01-27 15:50:06 +01:00
Andres Martinez Gotor
3993d691f4 Advisor: Implement authorizer (#99440) 2025-01-23 18:00:02 +02:00
Andres Martinez Gotor
b066a63131 Grafana Advisor: Datasource checks (#99313) 2025-01-23 16:19:50 +01:00
Ryan McKinley
a037c6f344 K8s/Folders: Remove kubernetesFolders flag and full path metadata (#99256)
* remove full path

* remove more

* remove KubernetesFolders tests

* remove feature toggles

* remove feature toggles

* skip permissions test

* skip permissions test

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2025-01-23 17:25:03 +03:00
maicon
28ad61ff6c Unistore: Get Folder By ID (#99131)
* Unistore: Get Folder By ID

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-01-22 01:45:59 -03:00
Ryan McKinley
3bc9f10bb3 Dashboards/SQL: Improve SQL query behavior (#99253)
* update legacy dashboard SQL

* merge main

* trim message
2025-01-21 19:35:33 +03:00
Andres Martinez Gotor
e747350fee Grafana Advisor: Skeleton app (#99242) 2025-01-21 12:31:33 +01:00
Ryan McKinley
d8b6ded101 K8s: use deprecatedInternalID label rather than SQL annotation (#99263) 2025-01-21 12:38:14 +03:00
Ryan McKinley
680e6bc1f8 Authlib: Use types package rather than claims (#99243) 2025-01-21 12:06:55 +03:00
Ryan McKinley
356b32008b Storage: Show history+trash using the list command (#99009)
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-01-17 15:54:25 +03:00
Ryan McKinley
7c04247d6f K8s/Dashboard: Set generation from version (#99142) 2025-01-17 13:52:01 +02:00
Stephanie Hingtgen
e019e34eb5 Stats: use dashboard stats rather than list (#99130) 2025-01-17 08:19:56 +03:00
maicon
b4ec11e150 Unistore: Ensure deprecated Folder ID gets stored on all modes (#99043)
* Unistore: Ensure deprecated Folder ID gets stored on all modes

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-01-16 15:01:00 -03:00
owensmallwood
7da6e48036 Unified Storage: Remove history stub (#99048)
remove history stub
2025-01-16 03:05:13 +02:00
Ryan McKinley
cd46f1ddb9 Search: Remove history query (#99026) 2025-01-15 12:49:47 -06:00
owensmallwood
d00592ffa0 Unified Storage: Make all dashboard fields searchable (#98899)
* wip. adding sprinkles fields.

* some refactoring. Works with sprinkles now.

* exclude top level dashboard hit fields from hit "fields"

* adds unit test for DecodeCell helper

* test can search for specific dashboard fields on bleve index

* adds search handler tests for the fields and tests for fields when transforming the search req to a bleve search req

* fix panic when calling fields.Set() with int32

* adds regression test

* remove unneeded method on test mock client

* fix linter issues

* updates dashboard test data for bleve tests

* remove DASHBOARD_LEGACY_ID from bleve_tests

* dont cast twice

* updates test to sort by dashboard_views_last_1_days

* declare excludedFields outside of function

* fixes sorting by dashboard fields - prepends "fields." to any dashboard fields we try to sort by

* uses map for excludedFields

* expects fields to be array-style url param

* change method name

* fixes failing tests - needed to add column type to mocks
2025-01-15 10:23:05 -06:00
Igor Suleymanov
7f04f66137 Allow listing Dashboards through k8s APIs (#98997)
What

This PR changes the dashboard authorizer logic to no longer require
requester to be the super admin user in order to list dashboards using
k8s APIs.

Why

We no longer need this precondition - dashboards should be listable
based on the regular authorizer logic.

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
2025-01-15 11:50:28 +02:00
Karl Persson
3f71a72c1a Authz: Remove "wrapper" interface and only check feature toggle for grpc mode (#98933)
* Remove "wrapper" interface and only check feature toggle for grpc and cloud mode

* Only set name for update checks

* Set dashboard permissions for admin user
2025-01-15 09:23:56 +01:00
Alexander Zobnin
cbb688e910 Zanzana: Remove usage from legacy access control (#98883)
* Zanzana: Remove usage from legacy access control

* remove unused

* remove zanzana client from services where it's not used

* remove unused metrics

* fix linter
2025-01-14 10:26:15 +01:00