Levente Balogh
930f7ce489
Dashboards: Cover the Switch variable in schema transformations - part 2. ( #114549 )
...
* feat: add v2alpha_1 conversion for the switch variable
* chore: gofmt fixes
* chore: update comments in tests
* chore: fix gofmt
* Update specs
* tests: update the v2alpha1 openapi snapshot
---------
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com >
2025-11-28 14:21:33 +01:00
Daniele Stefano Ferru
8e4be891c5
Provisioning: add URL and Path in setting response ( #114534 )
...
* Provisioning: add URL and Path in setting response
* linting
* marking fields as non-required
2025-11-27 16:06:03 +01:00
Tom Ratcliffe
cef4449f14
Folders: Send permissions query param with app platform for folder picker ( #114158 )
2025-11-26 11:16:47 +00:00
Misi
93ec32dd6a
IAM: Add teams/{id}/groups as a custom endpoint to Teams API ( #114228 )
...
* Add teams/{id}/groups as a custom endpoint
* TeamGroupsHandler OSS and Ent registration
* Update OpenAPI spec
* Add indexer tests for external group mapping
* Remove noopsearch
* Remove unnecessary interface declaration, fixes
* Chores
* fmt
* Rename constant
* Align the rest to the changes of main
* Update workspace
* Add missing file
2025-11-25 14:19:57 +01:00
Jean-Philippe Quéméner
0e4b701bd6
fix(dashboards): apply permission search filter if provided ( #114147 )
2025-11-19 13:05:07 +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
Andres Martinez Gotor
151d9ec1cc
Advisor: Expose endpoint to register checktypes ( #113750 )
2025-11-17 12:48:53 +01:00
Andres Martinez Gotor
bfa7ce9d78
Advisor: Remove legacy app register ( #113773 )
2025-11-14 12:25:30 +01:00
Ivan Ortega Alba
e463781077
Schema: convert dashboards from v1beta1 to v2beta1 ( #109037 )
...
- Implement full conversion pipeline from v1beta1 → v2beta1
- Ensure frontend–backend parity for all dashboard serialization paths
- Add automatic data loss detection for conversions (panels, queries, annotations, links, variables)
- Extract atomic conversion functions for v0 → v1beta1 → v2alpha1 → v2beta1
- Introduce conversion metrics and detailed logging for loss tracking
- Normalize datasource resolution, defaults, and annotation processing
- Improve panel layout serialization and y-coordinate normalization
- Fix inconsistencies in nested panels and collapsed row behavior
- Refine variable handling:
- Filter refId from variable query specs
- Default variable refresh to 'never' (matches frontend)
- Fix constant and interval variable handling for missing queries
- Unify schema defaults (enable, hide, iconColor, editable, liveNow)
- Fix pluginId usage (UID vs type) and datasource references
- Fix metrics.go bug swallowing errors (return nil → return err)
- Add tests for version-specific conversion error handling
- Add data loss detection tests using source/target version comparison
- Clean up lint issues, legacy code, and redundant files
- Update OpenAPI snapshots and migrated dashboards
- Improve backend migrator to reuse datasource provider and match frontend logic
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com >
Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com >
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com >
2025-11-12 11:43:46 +01:00
Ezequiel Victorero
cd91f858e6
ShortURL: Graduate api v1alpha1 to v1beta1 ( #113597 )
2025-11-10 07:29:33 -03:00
Ryan McKinley
95ffd1a55a
LibraryPanel: Cleanup service calls ( #113277 )
...
* cleanup
* library panel via search
* test cleanup
* merge main
* add FindDashboards mock
* no matching dashbaords should return empty
* do not alllow name and libraryPanel query
2025-11-06 15:31:02 +01:00
Misi
06373ae47b
IAM: Add ExternalGroupMapping kind for TeamSync ( #113052 )
...
* wip
* wip
* Add authorizer -> VERIFY it's working correctly
* Update openapi definitions
* Authorizer wip
* regen apis
* Increase timeout of pg int tests to 20m
* Revert "Increase timeout of pg int tests to 20m"
This reverts commit 8c20568217 .
* Fix NewTestStore when Truncate is enabled
2025-11-05 18:02:34 +01:00
Stephanie Hingtgen
4cecab3185
Dashboards: add isPublic to dto and remove public endpoint call ( #113334 )
...
---------
Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com >
2025-11-04 16:57:05 -06:00
Ryan McKinley
1759732d91
Alerting/Notification: Remove unused status sub-resource ( #113198 )
2025-10-31 08:24:19 +03:00
Ryan McKinley
53aed34652
LibraryPanels: Support CRUD via apiserver ( #113035 )
2025-10-31 08:14:38 +03:00
Misi
9c676b3ae7
IAM: Rename Name to Title in UserSpec ( #112862 )
...
* Use Title as the name of the display name for User
* Align tests
2025-10-23 16:03:28 +02:00
Ryan McKinley
8b319086e7
Correlations: Add RTK client ( #112538 )
...
add correlations RTK client
2025-10-19 23:04:26 -05:00
Mihai Doarna
54c224dae7
IAM: Add the external field to the TeamBinding spec ( #112382 )
...
* add the external field to the TeamBinding spec
* fix unit tests
2025-10-15 11:21:33 +03:00
Mihai Doarna
7395f803c1
IAM: Implement create method for team bindings ( #112003 )
...
* implement create method for team bindings
* generate openapi specs
* enable dual writer for team bindings
* add validation rules
* generate openapi
* add integration tests and fix remaining issues
* fix validation test
* use UIDs instead of IDs to build team binding name
* use IDs when generating the TeamBinding name
* fix build error
* remove time truncate
2025-10-14 17:20:59 +03:00
Ryan McKinley
fdccc3e33c
Dashboards/API: Keep original when conversion fails ( #109912 )
...
* keep original
* openapi
* update tests
* workspace
* workspace
* fix ts
* merge main
* update snapshots
2025-10-10 15:37:32 +03:00
Ryan McKinley
13a3c46079
DataSource: Fix openapi spec ( #112150 )
2025-10-08 14:36:24 +03:00
Ryan McKinley
2486dba881
Provisioning: use kind consistently for provisioning stats ( #111977 )
2025-10-04 09:02:02 -05:00
Austin Pond
99312a7582
Apps: Update grafana-app-sdk to v0.46.0 ( #112021 )
...
Co-authored-by: Ryan McKinley <ryantxu@gmail.com >
2025-10-04 09:33:10 +00:00
Mihai Doarna
6d7c50f18d
IAM: Refactor team bindings to store one pair of team and member ( #111871 )
...
* store one pair of team member in team bindings object
* generate queries for sql unit tests
* remove TeamBinding struct
2025-10-03 16:48:51 +03:00
Ryan McKinley
13d9829836
Chore: Remove unused status element ( #111963 )
2025-10-02 20:15:39 +00:00
Ryan McKinley
0af6efb096
Preferences: Support Create+Update+Delete over apiserver ( #111715 )
2025-10-02 21:58:08 +03:00
Costa Alexoglou
1b766b9c9f
Provisioning finalisers fix 2 ( #111679 )
...
* adding some logs to better understand what might be happening
* only focus this PR on improve logging in finalizer handling
* debug log before calling finalizers
* working on finalizers
* removing last todos, adding unit tests
* better use SupportedFinalizers name
* addressing comments
* wip: fix tests and add delete error in status
* chore: codegen
* chore: codegen openapi
* Merge remote-tracking branch 'origin/main' into provisioning-finalisers-fix-2
* update frontend client
* fix: errors in testing
* fix: breaking test
---------
Co-authored-by: Daniele Ferru <daniele.ferru@grafana.com >
Co-authored-by: Ryan McKinley <ryantxu@gmail.com >
2025-09-29 15:21:12 +02:00
Alexander Zobnin
893523dd7c
grafana-iam: Wire RoleBindings APIs to OSS ( #111728 )
...
* Update role binding specs
* Wire role bindings APIs in OSS
* gofmt
* revert modules updates
* update specs
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com >
* update registration
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com >
* fix reader
* fix format
* add role bindings mapper
* remove namespace from subject spec
* fix formatting
* update api specs
* Fix role binding registration
* remove mapper
---------
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com >
2025-09-29 14:28:12 +02:00
Ryan McKinley
c4a2bb5540
Search: Include managedBy in DashboardHit result ( #111600 )
2025-09-29 14:28:26 +03:00
Ryan McKinley
82bcfba64b
Preferences: refactor experimental apiserver and improve tests ( #111596 )
2025-09-26 19:44:02 +00:00
Ryan McKinley
7b1413ec54
Dashboards/search: improve openapi spec ( #111575 )
...
Co-authored-by: Clarity-89 <homes89@ukr.net >
2025-09-25 11:08:47 +00:00
Ryan McKinley
94b82b0e5e
Stars: Manage from apiserver ( #111368 )
2025-09-23 17:13:05 +03:00
Yuri Tseretyan
896a56ada8
Migrate Alerting Notifications API to app installer ( #109309 )
...
* migrate to new manifest format
* rename app to alerting.notifications to not conflict with rules
* disable custom field selectors as they are not supported in appinstaller
2025-09-23 09:42:40 -04:00
Stephanie Hingtgen
15ee224da5
Provisioning: Allow disabling of image rendering instance wide ( #111359 )
2025-09-19 12:40:14 +03:00
Misi
c012a95fa1
IAM: Add role to User ( #111256 )
...
* codegen fix
* Return user role from the legacy store
* Lint
* Add tests, gen openapi
* make generate
* revert go.mod, go.sum, go.work.sum changes
* Update go.mod and go.sum
2025-09-19 11:12:00 +02:00
Stephanie Hingtgen
cb11bc15fa
Provisioning: Allow disabling of instance sync ( #111270 )
...
---------
Co-authored-by: Ryan McKinley <ryantxu@gmail.com >
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com >
2025-09-18 10:40:02 -05:00
Mihai Doarna
9d9dca3208
IAM: Adds the team creation endpoint in app platform ( #111003 )
...
* implement team creation for legacy store
* add generated code
* add basic integration test
* add new fields to get and list teams
* fix sql tests for teams
* register dual writer for team resource
* add generated code
* add more sql tests for team creation
* address feedback
* add integration tests
2025-09-18 14:43:07 +03:00
Ryan McKinley
0a79b3bdc5
Chore: Upgrade k8s.io/api v0.34.1 and grafana-app-sdk v0.43.1 ( #111009 )
2025-09-16 13:35:20 +03:00
Ryan McKinley
a5bd313f5a
ShortURL: Implement /goto with a sub-resource ( #110972 )
2025-09-15 16:56:20 +03:00
Ezequiel Victorero
135e9ef102
ShortURL: Use the new k8s api in the frontend ( #110537 )
2025-09-12 20:23:50 -03:00
Moustafa Baiou
cb7abbaa0f
Alerting: Rename expression elements of Rules APIs ( #110914 )
...
This renames `data` to `expressions` for clarity in the rules apis.
Also makes certain fields that are redundant optional in the case of pure expressions, so that users don't have to specify them when they are not needed (e.g. not datasource queries).
2025-09-12 22:15:55 +00:00
Haris Rozajac
de01b3e209
Dashboard Schema V2: Support panel actions ( #110842 )
...
* support panel actions
* refactor
* add test; move action transformer to utils
* refactor so v2 headers and queryParams are just a simple record
* update open api
* update actions to be same shape accross all dashboard schemas and add validation on the backend
* cleanup
* update snapshot
* add tests to validation
2025-09-12 11:31:05 -06:00
Moustafa Baiou
ca8324e62a
Alerting: Add support for alpha rules apis in legacy storage
...
Rules created in the new api makes the rule have no group in the database, but the rule is returned in the old group api with a sentinel group name formatted with the rule uid for compatiblity with the old api.
This makes the UI continue to work with the rules without a group, and the ruler will continue to work with the rules without a group.
Rules are not allowed to be created in the provisioning api with a NoGroup sentinel mask, but NoGroup rules can be manipulated through both the new and old apis.
Co-authored-by: William Wernert <william.wernert@grafana.com >
2025-09-10 09:30:56 -04:00
Misi
badea8bc37
IAM: Create Service Account API and legacy store impl ( #110411 )
...
* wip
* IAM: Create Service Account
* Add dual writer
* Update openapi_test.go
* Add integration tests
* Add sql tests
* Add Role to SA spec, add validation, add DBTime, add tests
* Format, update test
* Fixes
* Add check for External
* Address feedback
* Update tests
* Address feedback
* make gen-go
* Simplify a bit
* Fixes
* make update-workspace
* Update pkg/registry/apis/iam/serviceaccount/store.go
Co-authored-by: Ryan McKinley <ryantxu@gmail.com >
* Address feedback, add test for generateName
---------
Co-authored-by: Ryan McKinley <ryantxu@gmail.com >
2025-09-08 14:31:32 +02:00
Yuri Tseretyan
15fab1cb99
Alerting: Update integration schema to support versions ( #109969 )
...
* add VersionedNotifierPlugin and method that converts NotifierPlugin to it
* return new schema if query parameter version=2
* add version to k8s model of integration
* fix open api snapshot
* add version to IntegrationConfig
* use current version on conversion
* create versioned integrations for test
2025-08-28 14:46:30 -04:00
Gabriel MABILLE
0284c3f1f9
grafana-iam: change resourcepermission to use a single verb (#110263 )
...
* `grafana-iam`: change resource permission to only allow a single action set for now
* api changes
2025-08-28 11:25:38 +02:00
Ryan McKinley
27c92a6644
Dashboards: Make conversion data optional ( #109965 )
2025-08-25 13:47:42 +03:00
Roberto Jiménez Sánchez
9a668ce06f
Provisioning: Use API Client For Job Processing ( #110044 )
2025-08-25 09:46:20 +02:00
Ryan McKinley
ce65391067
Provisioning: Use inline secrets for gitsync ( #109908 )
...
Co-authored-by: Clarity-89 <homes89@ukr.net >
Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com >
2025-08-22 18:38:28 +02:00
Roberto Jiménez Sánchez
61d137992b
Provisioning: Mark repository as unhealthy if hooks fail ( #109788 )
2025-08-21 08:32:23 +00:00