Commit Graph

25 Commits

Author SHA1 Message Date
Stephanie Hingtgen
549833e40d [release-12.0.1] K8s: Dashboards: Fix transformation between v1 and v2 (#104502) (#104527)
K8s: Dashboards: Fix transformation between v1 and v2 (#104502)
2025-04-25 17:02:35 +01:00
Stephanie Hingtgen
ed408985fa [release-12.0.1] K8s: Dashboards: Mark as v1beta1 (#104422)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2025-04-23 19:21:59 +01:00
Marco de Abreu
c47ab101d1 Dashboards: Add Dashboard Schema validation (2) (#103844)
* Activate schema validation and align underlying systems

* update to save as v0 if not the right schema version

* Resolve merge conflicts

* Move RequireApiErrorStatus to tests package

* Add mutation tests

* Fix lint

* Only do min version check if dashboard is v1

* Fix lint and disable provisioning test

* Revert provisioning changes

* Revert more tests and add schema test

* Reran gen

* SQL Dashboard save

* Adjust APIVERSION

* Fixed mutation test

* Add logging on downgrade

---------

Co-authored-by: Marco de Abreu <18629099+marcoabreu@users.noreply.github.com>
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-04-11 23:05:41 +02:00
Marco de Abreu
95f04c79cd Dashboards: Add Dashboard Schema validation (1) (#103662) 2025-04-11 16:52:46 +00:00
Stephanie Hingtgen
f5ad1ef69b K8s: Folders: Add v1 api (#103842) 2025-04-11 13:09:52 +01:00
Bogdan Matei
35e78feffa Dynamic Dashboards: Add repeats for tabs (#103348) 2025-04-11 13:50:44 +03:00
Mariell Hoversholm
757be6365a CI: Bump golangci-lint to 2.0.2 (#103572) 2025-04-10 14:42:23 +02:00
Alexa V
2f60d54648 Dashboard: Schema V2 - Fix annotations losing queries (#102951)
* Fix annotations losing queries when saving v1 with dynamic dashboards enabled

* Add extra options property to the DashboardAnnotationQuerySpec to catch all field datasource-specific properties

* Add options to the v2Alpha1 schema and run make gen-apps

* Add unit test and clean up console.logs

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2025-04-09 18:51:51 +02:00
Bogdan Matei
0e1cb44ad9 Dynamic Dashboard: Redesign conditional rendering [2] (#103112) 2025-04-02 20:50:36 +03:00
Oscar Kilhed
9094c73e33 Chore: Rename responsive grid -> AutoGrid (#102959)
* Rename ResponsiveGrid -> AutoGrid in schema

* Rename responsive grid in code

* fix accidental removal of generation

* fix i18n

* fix backend conversion

* run ./hack/update-codegen.sh
2025-03-27 12:16:47 +01:00
Dominik Prokop
3d1497b56a Schema V2: Replace resourceVersion usage with generation (#100080)
* Schema V2: Replace resourceVersion usage with generation

* revert auto generated files

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
2025-03-26 12:47:24 -06:00
Oscar Kilhed
e95cd04b25 Dynamic dashboards: Add missing row props to schema (#102859)
* Add missing row props to schema

* Fix test, add tests

* Fix renaming that was done by auto refactoring
2025-03-26 14:49:28 +02:00
Igor Suleymanov
c68234f7e7 Add Makefile targets for generating dashboard app code and update it to SDK v0.35.0 (#102796)
* Update dashboard app to use app SDK v0.35.0

What

This change updates dashboard app to use app SDK v0.35.0 and adds new
Makefile target for running codegen for all apps, in opt-in manner.
Currently only dashboards app is opted in.

Additionally, this changes dashboard app Makefile to properly install
and update app SDK versions when generating code, with app SDK version
pinned in the Makefile itself.

Why

The upgrade addresses issues with `DeepCopy` methods, while the Makefile
targets ensure that codegen is easy to run and uses reproducible
environments.

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Run make update-workspace

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Fix deepcopy methods

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Re-run CUE codegen to satisfy the CI

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Run make update-workspace

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Update to v0.35.1

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

---------

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
2025-03-26 10:49:52 +02:00
Torkel Ödegaard
dc922717dc Dashboard: Auto grid options (#102374)
* Dashboard: Auto grid options

* Update

* Fix

* update trans

* Update cue

* Fix persisting auto grid options (#102744)

* Fix persisting auto grid options

* Update i18n

* fix serializer test

* update schema

* reset dashboard_object_gen.go files, run update-codegen.sh

* rename in code

* rename height fill in schema

* rename heightFill fillScreen in code

* fix test

---------

Co-authored-by: oscarkilhed <oscar.kilhed@grafana.com>
2025-03-25 16:40:28 +01:00
Matheus Macabu
57889a43a7 Dashboards: Update OpenAPI codegen from schema (#102620)
* Dashboards: Update OpenAPI codegen from schema

* GHA: Run the K8s Codegen Check workflow with changes in apps/ folder
2025-03-21 16:49:39 +02:00
Torkel Ödegaard
8a8b1a0743 DashboardScene: Take selected object into account when adding objects (#102423)
* Dashboard: Add object to selected object

* Try not to nest rows

* Update

* Update

* rows in rows, tabs in tabs

* Update schema to allow nested rows and nested tabs

* fix lint issue

* reset v2alpha1 types from main

* reset dashboard_object_gen.go to main

---------

Co-authored-by: oscarkilhed <oscar.kilhed@grafana.com>
2025-03-21 14:28:44 +01:00
Oscar Kilhed
f2770b0984 Dashboard schema: Add comment about deep copy really being deep copy. (#102586)
help future me
2025-03-21 11:53:29 +02:00
Ivan Ortega Alba
35e3d26987 Dashboards: Do not throw error if backend cannot migrate schemaVersion to latest (#102357)
* Refactor migration error handling to use MinimumVersionError for schema version checks

- Updated migration logic to return MinimumVersionError instead of MigrationError for outdated schema versions.
- Enhanced MinimumVersionError message for clarity on migration constraints.
- Added tests for version error handling in the dashboard API to ensure proper error throwing for specific conversion errors.

* Fix tests and remove folder dependencies
2025-03-19 09:57:05 +02:00
Igor Suleymanov
3f270d1de0 K8s/Dashboards: Fix panics in Dashboards v2alpha1 API (#102123)
* K8s/Dashboards: Fix panics in Dashboards v2alpha1 API

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Update generated code to use the `MappingType` properly

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

---------

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
2025-03-17 15:04:11 +02:00
Ryan McKinley
c46565f652 K8s/Dashboard: DeepCopy should deep copy (#102258) 2025-03-17 14:29:18 +03:00
Hugo Häggmark
16ca230898 Plugins: Fix better UX for disabled Angular plugins (#101333)
* Feat: better UX for Angular plugins

* Chore: fix i18n

* Update public/app/features/plugins/admin/components/PluginDetailsDisabledError.tsx

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

* Update public/app/features/plugins/admin/components/PluginDetailsDisabledError.tsx

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

* Chore: fixes after PR feedback

* Test: testing uninstall in cloud

* Chore: fix weird merge

* Chore: fix test import

* Chore: comment out an expec

* Chore: revert test of uninstall on cloud

* Chore: adds tooltip and removes admin message

* Trigger build

* Chore: fix for cloud

* Trigger build

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2025-03-17 06:26:49 +01:00
Ivan Ortega Alba
0e5c436288 Dashboard: Do not run backend migrations if schemaVersion < min_version migration implemented in the backend (#102088) 2025-03-14 08:55:40 +00:00
Michael Mandrus
4420ff9202 SecretsManager: Merge codegen portion so that we can use the dependency elsewhere (#102152)
* copy changes over from feature branch

* update codegen
2025-03-13 18:10:46 -04:00
Oscar Kilhed
d07b1851c7 Dynamic dashboards: Persist conditional rendering (#102022)
* Dashboards: Add conditional rendering

* Updates

* Fixes

* Code improvements

* Code improvements

* limit condition choices, add delete and clean up ui

* add basic variable condition

* add conditional rendering based on time range interval

* adjust failing test

* remove deprecated pseudo locale file

* extract conditional rendering from behaviour to state property

* clean up behaviour initialisation

* clean up ts errors

* adjust data condition to account for RowItem

* persist-conditional-rendering

* fix group value name and kind type

* Fix types in base

* minor style fix

* Fix subscribes

* notify change when deleting condition

* fix hidden row item error

* Remove option to have groups in groups

* fix merge issue

* address comments

* subscribe to panel data change in data condition

* Remove loop labels

* only persist conditional rendering if root group has items

* update backend types

* Serialize variable conditional rendering operator as equals notEquals

---------

Co-authored-by: Bogdan Matei <bogdan.matei@grafana.com>
Co-authored-by: Sergej-Vlasov <sergej.s.vlasov@gmail.com>
2025-03-13 11:56:20 +01:00
Igor Suleymanov
5d2ba10113 K8s/Dashboards: Extract Dashboard APIs to an app submodule (#102029)
* Move dashboard k8s APIs to a separate app

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Copy dashboard code in Dockerfile

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Fix conversion generation

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Update OpenAPI snapshot for dashboard/v0alpha1

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

---------

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
2025-03-13 11:05:01 +02:00