Commit Graph

674 Commits

Author SHA1 Message Date
owensmallwood
a3daf0e39d Unified storage: Add quotas app to apiserver (#114425)
* initial generation

* went through doc to add new resource

* added dummy kind so grafana will run

* added dummy handler and custom route

* fix app name

* gets custom route working - still a dummy route

* adds groupOverride to manifest

* adds quotas to grpc client and server

* WIP - trying to get api recognized - not working

* Gets route working

* fixes group and resource vars

* expects group and resource as separate params

* set content-type header on response

* removes Quotas kind and regens

* Update grafana-app-sdk to v0.48.5

* Update codegen

* updates manifest

* formatting

* updates grafana-app-sdk version to 0.48.5

* regen ResourceClient mocks

* adds tests

* remove commented code

* uncomment go mod tidy

* fix tests and make update workspace

* adds quotas app to codeowners

* formatting

* make gen-apps

* deletes temp file

* fix generated folder code

* make gofmt

* make gen-go

* make update-workspace

* add COPY apps/quotas to Dockerfile

* fix test mock

* fixes undefined NewFolderStatus()

* make gen-apps, and add func for NewFolderStatus

* make gen-apps again

* make update-workspace

* regen folder_object_gen.go

* gofmt

* fix linting

* apps/folder make update-workspace

* make gen-apps

* make gen-apps

* fixes enterprise_imports.go

* go get testcontainers

* adds feature toggle

* make update-workspace

* fix go mod

* fix another client mock

---------

Co-authored-by: Steve Simpson <steve@grafana.com>
2025-12-09 09:40:34 -06:00
Jacob Valdez
a65cf639f4 Adds workflow that comments on PRs that change defaults.ini with docs reminder (#114739) 2025-12-04 09:28:23 -06:00
Liza Detrick
a112c6c169 Logs Explore: logsdrilldown authorizer permissions, rtkq (#114320)
* Logs Explore: logsdrilldown app platform authorizer permissions, rtkq
---------

Co-authored-by: Austin Pond <austin.pond@grafana.com>
2025-12-02 09:07:36 -08:00
Andres Torres
759d49a1df feat(setting): Adding setting service client (#114428) 2025-11-26 14:58:49 +00:00
Paul Marbach
43dfad3a0e Sparkline: Move codeownership to dataviz (#114318) 2025-11-24 09:39:29 -08:00
Tom Ratcliffe
1fcf15d05f API Clients: Update codeowners for API clients to be more granular (#113928)
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2025-11-19 15:24:29 +00:00
Hugo Häggmark
5f3dcadf9e Docs: Revert move of plugin schema file (#114139)
* Docs: revert move of plugin schema file

* Trigger build
2025-11-19 13:40:52 +01:00
Ryan McKinley
00329cab14 Stars: Move stars from preferences apiserver to a new collections apiserver (#114006) 2025-11-19 08:28:39 +03:00
Alexa Vargas
c7e8291bd1 Dashboard Library: Add basic unit test to suggested dashboards flow (#113825)
* Create unit tests for communityDashboardHelper

* Add unit test for autoMapDatasources

* Create unit test for DashboardCard

* --wip-- [skip ci]

* Fix test

* fix linting

* Add unit test to the dashboardLibraryApi

* update codeowners for dashboard library code

* fix: improve test coverage and fix failing tests

- Fix image handling tests in DashboardCard to verify actual behavior
- Fix UID filtering test in autoMapDatasources to use correct mock data
- Add test for dimThumbnail prop
- Add test for undefined inputs edge case
- All 82 tests now passing

* render function modified

* merge with template dashboard modifications. tests modified

---------

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
2025-11-17 12:10:19 -03:00
Hugo Häggmark
8288ce6dd6 chore: reduce barrel files (#113842)
chore: reduce barrelfiles
2025-11-17 05:58:35 +01:00
Jack Baldry
7fe5772888 Restructure As code and developer resources (#113845) 2025-11-13 14:04:57 +00:00
Paul Marbach
3e31f7b713 Suggestions: Update ownership of core files and improve some types (#113254) 2025-11-12 16:31:33 -05:00
Paul Marbach
4fee8b34ad Suggestions: Refactor getPanelDataSummary into its own method (#113251)
* Suggestions: Refactor getPanelDataSummary into its own method

* restore order

* update some imports

* update codeowners
2025-11-07 11:33:13 -05:00
Tobias Skarhed
36e28963d3 Scopes: Script for setting up gdev scope resources (#113448)
* Script for setting up gdev scope objects

* Script for setting up gdev scope objects

* Format

* Update codeowners

* Do a feature flag check

* Formatting

* Remove FF check, because creation is explicit anyways

* Formatting
2025-11-07 10:56:16 +01:00
Serge Zaitsev
95ea758475 Chore: Start annotations app (#113018)
* annotation legacy store with api server, read only

* Add a feature flag for annotations app

* implement list filters

* annotations are not addressable by ID for read operations

* fix registry apps test

* add ownership for an app

* disable linter

* typo, of course

* fix go workspace

* update workspace

* copy annotation app in dockerfile

* update workspace

---------

Co-authored-by: Tania B. <10127682+undef1nd@users.noreply.github.com>
2025-11-06 19:22:20 +01:00
Paul Marbach
867e8bb98f StatusHistory: Add e2e suite to confirm standard cases (#113358)
* StatusHistory: Add e2e suite to confirm standard cases

* update dev dashbord tests

* update CODEOWNERS
2025-11-04 16:21:30 -04:00
Serge Zaitsev
8f8ed2bbec Chore: Change ownership for annotations (#112791)
change ownership for annotations
2025-11-04 13:30:47 +00:00
Gábor Farkas
6fc82629d4 codeowners: updated ownership of datasources code (#113387) 2025-11-04 09:29:57 +00:00
Ezequiel Victorero
126e6dbcd8 ShortURL: Set same generateName for old and new API endpoints (#113368) 2025-11-03 17:50:02 -03:00
Paul Marbach
64da716a2e Heatmap: Fix runtime error when no data is present, add e2e test (#113242)
* Heatmap: Fix runtime error when no xAxis is present, add e2e test

* update migration test fixture

* updates from review
2025-10-31 18:17:30 +00:00
Tom Ratcliffe
6093afddd4 Folders: Migrate FolderFilter component to ComboBox (#113047) 2025-10-29 11:21:58 +00:00
Nathan Marrs
8263803e81 Grafana Data Source: Add random walk configuration options (#113009)
* Grafana: Add random walk configuration options to Grafana datasource

Add UI controls to configure random walk parameters (min, max, start value,
spread, noise, drop percent) to match TestData datasource functionality.

- Add RandomWalkEditor component with inline number inputs for all parameters
- Update GrafanaQuery type to include random walk configuration fields
- Update backend to parse and apply query parameters to RandomWalk function
- Configuration options match TestData datasource UX for consistency

* Grafana: Add series count support to random walk

Add ability to generate multiple random walk series in a single query
for complete parity with TestData datasource.

- Add seriesCount field to RandomWalkEditor
- Update backend to loop and generate multiple frames based on series count
- Default to 1 series if not specified for backward compatibility

* Grafana: Improve random walk editor UI with better organization and tooltips

Enhance the random walk configuration UI for better usability:

- Organize fields into two logical rows (core config vs fine-tuning)
- Add helpful tooltips to all fields explaining their purpose
- Increase label width to prevent text wrapping
- Group related fields visually for better comprehension

Row 1: Series count, Start value, Min, Max (basic shape and range)
Row 2: Spread, Noise, Drop % (randomness and variation controls)

This provides a cleaner, more intuitive experience compared to TestData's
single-row layout, making it easier for users to configure random walks.

* Grafana: Format RandomWalkEditor code

Apply consistent formatting to RandomWalkEditor component.

* Grafana: Add E2E tests for random walk configuration

Add comprehensive Playwright E2E tests to verify random walk functionality:

- Test that all configuration fields render correctly
- Test min/max value constraints
- Test multiple series generation
- Test spread and noise parameters
- Test drop percentage for simulating missing data
- Test that tooltips are present and functional

These tests ensure the random walk configuration works end-to-end from
UI input to data rendering in panels.

* Grafana: Fix E2E tests for random walk configuration

Fix Playwright test selectors and assertions to work reliably:

- Use specific element IDs to avoid selector conflicts
- Remove flaky dropPercent check from rendering test (covered separately)
- Simplify test assertions to focus on functional verification
- All 7 tests now passing consistently

Tests verify: field rendering, min/max constraints, series count,
spread/noise configuration, drop percentage, and tooltips.

* Grafana: Add advanced E2E tests for random walk

Add two additional tests for better coverage:

- Test configuration value persistence across interactions
- Test that series count actually generates the expected number of series

These tests verify deeper functionality beyond basic UI rendering,
ensuring the random walk feature works correctly end-to-end.

All 9 tests passing consistently (20.1s runtime).

* Grafana: Remove redundant Min/Max tooltips

Remove tooltips from Min and Max fields that just repeated the label text.
These fields are self-explanatory and don't need tooltip icons.

Keeps the UI cleaner while maintaining helpful tooltips on fields that
actually benefit from explanation (Series count, Start value, Spread,
Noise, Drop %).

* Grafana: Add CODEOWNERS entry for random walk E2E tests

Add codeowner assignment for the new grafana-datasource-random-walk.spec.ts
test file to @grafana/grafana-frontend-platform, matching the ownership of
the Grafana datasource code.

* Add dashboardTemplates feature toggle and put new changes behind this toggle to limit impact

* Grafana: Add unit tests for dashboardTemplates feature toggle

Add unit tests to verify RandomWalkEditor renders correctly based on
the dashboardTemplates feature toggle:

- Test that random walk editor renders when FF is enabled
- Test that random walk editor is hidden when FF is disabled

These tests ensure the feature toggle works as expected and prevents
the random walk configuration UI from appearing when the feature is disabled.

* revert previous codeowners change as not necessary

* Grafana: Remove redundant E2E test for feature flag disabled

Remove E2E test for dashboardTemplates feature flag disabled scenario
since it's already covered by unit tests and E2E environment can't
reliably control server-side feature flags.

Feature flag behavior is properly tested in QueryEditor.test.tsx unit tests.
E2E tests focus on functional validation when the feature is enabled.

* fix lint
2025-10-28 13:05:32 -07:00
Austin Pond
bf65c43783 Apps: Add Example App to ./apps (#112069)
* [API Server] Add Example App for reference use.

* Remove Printlns.

* Upgrade app-sdk to v0.46.0, update apps to handle breaking changes.

* Only start the reconciler for the example app if the v1alpha1 API version is enabled.

* Some comment doc updates.

* Run make update-workspace

* Set codeowner for /apps/example

* Run make gofmt and make update-workspace

* Run prettier on apps/example/README.md

* Add COPY apps/example to Dockerfile

* Add an authorizer to the example app.

* Fix import ordering.

* Update apps/example/kinds/manifest.cue

Co-authored-by: Owen Diehl <ow.diehl@gmail.com>

* Run make update-workspace

* Re-run make gen-go for enterprise import updates

* Run make update-workspace

---------

Co-authored-by: Owen Diehl <ow.diehl@gmail.com>
2025-10-27 12:01:10 -04:00
Hugo Häggmark
4f2abe185c Chore: Replace deprecated i18next-parser (#112512)
* chore: replace deprecated i18next-parser

* chore: bump i18next-cli to 1.11.6

* chore: revert translation files

* chore: bumps to i18next-cli 1.11.9

* Trigger build

* chore: revert translations files

* chore: bump i18next-cli

* chore: changes after yarn i18n-extract

* chore: revert translation files

* chore: bump i18next-cli to 1.11.12

* chore: fix select space

* chore: add i18next to packages

* chore: add i18next-cli to plugin dev deps

* chore: fix yarn lock
2025-10-27 10:38:31 +01:00
Paul Marbach
5656f62cf4 Gauge: Update codeownership for RadialGauge grafana/ui component (#112972) 2025-10-24 15:04:49 -04:00
Paul Marbach
3f02f50cf9 StateTimeline: Complete E2E tests and add simple StateTimelineTooltip unit tests (#112901)
* StateTimeline: E2E tests for basic rendering, no data, and tooltip interactions

* Add tests for StateTimelineTooltip sub-component

* Remove unused import from state-timeline.spec.ts

* updates from PR review
2025-10-24 10:45:48 -04:00
Tom Ratcliffe
5b717af829 Codeowners: Add search nav org team to codeowners for navtree (#112918) 2025-10-24 11:43:14 +01:00
Tom Ratcliffe
811ee99dac API clients: Extract into a package (#111810)
Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2025-10-23 13:57:51 +00:00
Tobias Skarhed
f191acf811 Codeowners: Assign scopes frontend types (#112784)
* Codeowners: Assign scopes frontend types

* Fix CODEOWNERS entry for scopes.ts
2025-10-23 09:17:54 +00:00
Liza Detrick
b3f9dad044 logsdrilldown: add app platform (#112133) 2025-10-17 00:31:42 +03:00
Jack Baldry
d8c6af2fa7 Consolidate Grafana visualization documentation (#112393)
Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
2025-10-15 18:41:15 +01:00
ismail simsek
d291671ed1 Chore: Update codeowners and project ids for pyroscope (#112222)
* update codeowners and project ids for pyroscope

* remove duplicates
2025-10-09 11:30:38 -07:00
Sergej-Vlasov
d408e712e5 Repeats: Add E2E tests for tabs layout repeats (#112109)
* add e2e tests for repeated tabs

* finalise tab repeat e2e tests
2025-10-09 16:51:36 +03:00
Ryan McKinley
7ceb4b90f6 Chore: Remove library panel thema (#112154) 2025-10-09 09:38:52 -03:00
Ashley Harrison
3eadebd950 Theme: Add /theme-playground route (#111974)
* add basic theme-playground page

* basic theme playground

* generate schema

* sort of include the schema

* proper json schema

* add base theme

* bit of tidy up

* don't use appEvents.emit

* tidy up ThemeDemo

* extract translations

* add CODEOWNERS
2025-10-09 10:09:51 +01:00
Jesse David Peterson
70dc9a0027 Tests: Custom script to run unit tests filtered by code ownership (#111210)
* feat(script): generate a source file x teams manifest from CODEOWNERS

* feat(script): unit tests + coverage report only for files owned by team

* feat(script): calculate CODEOWNERS metadata

* refactor(script): export a pure codeowners manifest generation function

* refactor(script): export a pure test coverage by team function

* refactor(script): generate raw JSONL codeowners data from Node.js script

* feat(script): put codeowners manifest all together in one script

* refactor(scripts): group consistently with NPM script name

* refactor(scripts): deduplicate constants for file paths etc.

* refactor(scripts): make console output cute 💅

* refactor(tests): make coverage by "owner" directory more human readable

* refactor(scripts): use consistent naming "codeowner" instead of "team"

* chore(codeowners): mark DataViz as owners of scripts for now

* chore(todo): leave a note where coverage metrics should be emitted later

* fix(gitignore): ignore root codeowners-manifest directory not scripts/*

* refactor(script): rename manifest to generate for clarity

* docs(readme): add a brief README describing new scrips

* chore(linter): ignore temporary files in prettier, fix whitespace format

* refactor(script): simplify Jest config by using team files list directly

* refactor(script): simplify script, partition sourceFiles and testFiles

* refactor(script): simplify and parallelize manifest write operations

* fix(script): handle errors for JSONL line reader

* refactor(script): use Map instead of POJOs

* fix(script): handle errors when streaming raw JSONL output

* fix(script): add error handling, and use promise API for metadata check

* fix(reporter): suppress duplicate Jest CLI coverage report output

* refactor(script): simplify with fs promises API for consistency

* fix(script): error handling for cp spawn-ed process

* refactor(script): use Promise API for mkdir + exists

* refactor(script): use fs Promise API

* refactor(script): use fs Promise API

* fix(script): same allow list for sourceFilter and all Jest config rules

Co-authored-by: Paul Marbach <paul.marbach@grafana.com>

* fix(script): bust cache when new files are created also

---------

Co-authored-by: Paul Marbach <paul.marbach@grafana.com>
2025-10-07 17:07:55 -04:00
Matheus Macabu
792853df91 Scopes: Move types to its own module (#111556) 2025-10-07 11:31:03 +02:00
Josh Hunt
98f293e229 OpenFeature: Create basic frontend client + example usage (#110587)
* initial basic OpenFeature client for datasource class

* add dep

* update, use a wrapping function to enforce types

* move init OF to grafana-runtime

* docs

* Fix circular dependency causing tests to fail

* codeowners

* use toggle in datasourcewithbackend

* Fix CUJs group-by test

* Comments

* update docs, make default value mandatory

* revert using for queryServiceFromUI toggle
2025-10-06 14:22:00 +00:00
Hugo Häggmark
64a483d112 Chore: Adds workflow that triggers plugin schema types update (#111593) 2025-10-06 08:29:12 +02:00
Jack Baldry
30e9c56ecc Add instructions to improve AI effectiveness when writing documentation (#111246) 2025-10-01 11:37:25 +01:00
Kevin Minehart
020b87e91b CI: Add cleanup branches cronjob (with dry-run: true) (#111428)
* CI: Add cleanup branches cronjob (with dry-run: true)

* update codeowners
2025-09-24 15:53:37 -05:00
Tom Ratcliffe
053920b8b7 Dashboards: Migrate DashList panel to use grafanaSearcher (#111274) 2025-09-24 10:35:40 +01:00
Ryan McKinley
94b82b0e5e Stars: Manage from apiserver (#111368) 2025-09-23 17:13:05 +03:00
Charandas
e5121e8762 feat: customizable persistent volumes for devenv docker blocks (#111412) 2025-09-19 18:48:31 +00:00
Josh Hunt
d96d7e680c NPM: Publish all packages in Github Actions (#111034)
* Initial npm-publish workflow

* Validate version type and version match, typecheck packages before building, set npm tag

* quote GITHUB_OUTPUT

* codeowners

* fix syntax in release-build

* only tag the latest version with latest

* don't require NPM_TOKEN env var to be set if using OIDC

* put comment back

* tighten script

* Codeowners

* Use workflow_call for canaries, Rename workflow to match release-build

* codeowners
2025-09-18 17:24:59 +00:00
Todd Treece
7d96e6cdf9 Revert "Wire: Add provider lint" (#111306)
This reverts commit 4de8cfb14a.
2025-09-18 12:07:55 +00:00
Sergej-Vlasov
c65704895e Repeats: Add E2E tests for custom grid repeats (#110884)
* add e2e test for custom grid repeats

* update codeowners file

* adjust embedded panel test to account for different base url

* replace waitFor

* run bookmark e2e consecutively
2025-09-18 10:11:35 +03:00
Todd Treece
4de8cfb14a Wire: Add provider lint (#110573) 2025-09-17 16:19:08 -04:00
Kristina
a6db37c2b7 Correlations: Create first version of correlations on app platform (#110843)
* WIP

* Generate API

* use different logging, change typing as recommended

* Add feature flag and only add to installer when enabled

* add codeowner

* Lint/fmt

* fix dockerfile

* move from UID to group/name reference

* add generated code

* change from enterprise build

* build workspace

* Remove deprecated field, build api, build for enterprise, build workspace

* Not sure what caused this..

* Rebuild?

* Fix this file

* update sdk

* update sdk

* fix workspace

* fix test build

* add to go.mod

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2025-09-17 08:07:45 -05:00
Yuri Tseretyan
6afd532635 Make alerting team a sole owner of alerting tests (#111036)
make alerting team sole owner of alerting tests
2025-09-12 13:32:06 -04:00