Commit Graph

17901 Commits

Author SHA1 Message Date
Tom Ratcliffe 77dac4210f Chore: Remove pinNavItems feature toggle (#113855) 2025-11-17 12:12:47 +00:00
Ihor Yeromin d10dc81a79 Feature toggle: Remove groupToNestedTableTransformation feature toggle (#113761)
Remove groupToNestedTableTransformation feature toggle

The group to nested table transformation has reached GA and is now
enabled by default. This commit removes the feature toggle and makes
the transformation always available.

Changes:
- Removed feature toggle definition from registry.go
- Updated standardTransformers.ts to always include the transformation
- Updated feature toggles documentation
- Regenerated feature toggle files
2025-11-17 12:57:22 +01:00
Ihor Yeromin 950376c0d9 Feature toggle: Remove regressionTransformation feature toggle (#113759)
Remove regressionTransformation feature toggle

The regression analysis transformation feature is now GA and no longer needs to be behind a feature toggle.
2025-11-17 12:55:03 +01:00
Andres Martinez Gotor 151d9ec1cc Advisor: Expose endpoint to register checktypes (#113750) 2025-11-17 12:48:53 +01:00
Josh Hunt aa26cc4254 FS: Preserve buildInfo.edition from backend (#113967) 2025-11-17 11:32:16 +00:00
Ryan McKinley d0fe342cfe Chore: Update app-sdk and k8s.io (#113998) 2025-11-17 13:34:15 +03:00
Jean-Philippe Quéméner 64c61c6916 fix(dashboards): use index for schema migration datasource lookups (#113911) 2025-11-17 08:56:54 +01:00
Dave Henderson 1f1c75f817 Revert "OFREP: add ST builder for the authorizer, APIEnabled=false needs it" (#113983)
Revert "OFREP: add ST builder for the authorizer, APIEnabled=false needs it (…"

This reverts commit 9ca6ad3b49.
2025-11-14 21:54:48 +00:00
Juan Cabanas de45393eb5 Dashboard Library: Integrate template dashboards (#112906)
* Extend interpolate endpoint to support community dashboard json interpolation
Added unit tests

* Implement Frontend Side
- Show tabs
- Fetch Community dashboads
- basic cards for community
- Search bar for community

* Improve card community and show thumbnails

* quick poc with template dashboards

* better cards ui

* entry point conditional added. dashboard card improved

* dev dashboard for testing

* details removed in template dashboard modal

* improvement when loading the templates

* dashboard from template entry points

* interactions added

* tracking event improvements. card improvement

* unused import removed

* 90% Complete MVP community dashboards integraton
- Use DashboardCard component
- Search grafana dashboard in the community tab
- Make Tabs and pagination sticky
- Adjust titles to be scoped by datasource name/type
- Add skeleton loading for community tabs and pagination
- Add dashboard details tooltip

* Use DataSourcePicker for extra configuration page

* Fix suggested dashboard, don't use filter but slug and also add gcomURLink

* Implement badge, for now reuse Badge component

* translations added

* Refactor code, extract to utils function and clean up code

* refactor provisioned dashboards images

* add missing file

* Extract API functions

* standarize event handlers

* Auto select tab when provisioned or community are not present, also add empty state for provisioned tab

* use SecondaryAction iconButton for Details, and also use Tooltip

* For suggested dashboards change Grid for Stack to fix issue with less than 3 dashboards, also add the details next to
the main action

* Fix styling issue with description miss-aligment

* Change "use template" to use dashboard

* update i18n

* fix broken unit test

* FF added

* uid changed to make it work for both scenarios

* Apply PR feedback
- add eventLocation
- Fix description placeholder
- Fix issue with suggested dashboards card aligment, change to Grid

* use datasource type instead of name, extract i18n and fix linting

* Improve View on Grafana.com link

* remove console.log

* Fix issue with cards styling

* improvements

* Apply suggestion from @juanicabanas

Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>

* Use query params for modal state and reorder dashboard empty to keep suggestions in the middle

* extract common interpolate logic in new function

* fix linting

* rename loadTemplateDashboard function to loadSuggestedDashboard

* Improve automapping layout, add dashboard name to title and pipe the mappings

* Apply style guide for callback functions, and refactor constant inputs initialization wiht reduce

* Fix styling issues with focus border and pagination

* fix issue with card aligment

* use attach skeleton instead of custom css

* Adjust all i18n to use dashboard-library key

* Refactor mapping form to use one array to handle unmapped ds

* Update public/app/features/dashboard/dashgrid/DashboardLibrary/CommunityDashboardSection.tsx

Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>

* Refactor pagination, use api pagination data

* Remove unnecesary trim

* Fix issue with Stack height and justifyContent in modal

* Update public/app/features/dashboard/dashgrid/DashboardLibrary/SuggestedDashboards.tsx

Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>

* Add missing dependency

* Fix issue with mapping config form, make buttons to be aligned at the bottom

* Fix unit tests

* Add and refactor tracking interactions to support experiment KPIS

* rename unmappedInputs to unmappedDsInputs for clarity

* Update public/app/features/dashboard/dashgrid/DashboardLibrary/CommunityDashboardSection.tsx

Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>

* rename modal and move modal to section

* Simplify search params, extrack user selected dashboards to helper function, update pagination styles and use url based
pagination

* Move modal logic to the suggested dashboards component

* Fix tracking duplication on first load and revert change on pagination url persistence

* Extrac on preview community dashboard into utils

* Bring old datasource-provisioned box back and rely on new feature toggle for community dashboards

* change logic for showing suggested dashboards, we only need to enable that feature toggle

* update i18n

* Fix unit test for basic provisioned dashboard

* fix css

* Apply feedback

* Add suggested dashboards to endpoint

* Add missing feature toggle check in the backend to expose the interpolate api

* Add extra test case

* update swagger

* Update public/app/features/dashboard/dashgrid/DashboardEmpty/DashboardEmpty.tsx

Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>

* update swagger

* changes applied to retrieve templates dashboards from raintank

* translations

* Remove duplicated tracking and add gnet id to the save tracking action

* interactions

* improvements applied

* last improvements

* tracking events modified with merge. translations fixed

* tests fixed

* uid property removed from dto. new way of tracking the ds types added

* ds types from gnet dashboard removed

* fixes

* tracking changed

* tracking modified

---------

Co-authored-by: alexandra vargas <alexa1866@gmail.com>
Co-authored-by: Alexa Vargas <239999+axelavargas@users.noreply.github.com>
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2025-11-14 15:22:48 -03:00
Andres Torres b70c6a726f refactor(annotations): Allow skipping always on dashboard UID migrations (#113780) 2025-11-14 11:34:13 -05:00
Ezequiel Victorero a2c5d6e686 InviteUser: Remove experimental feature toggle (#113914) 2025-11-14 12:33:26 -03:00
Will Browne 9818822e87 Plugins: Fix flaky backend tests (#113945)
* fix flaky tests

* tidy
2025-11-14 15:09:12 +00:00
Rafael Bortolon Paulovic 5a111bc087 fix: delete provisioned dashboard in unified if forceDeleteRules is set (#113839) 2025-11-14 14:11:05 +01:00
Alexander Akhmetov 6d7ce16883 Alerting: Add rule_type filter to the rules endpoint (#113701)
Alerting: Add type filter parameter to the rules endpoint
2025-11-14 13:03:15 +01:00
Andres Martinez Gotor bfa7ce9d78 Advisor: Remove legacy app register (#113773) 2025-11-14 12:25:30 +01:00
Georges Chaudy 1162fa5104 kvstore: Add optimistic locking for unified resource storage backend (#113230)
* Add optimistic concurrency

* add optimistic concurrency

* fix test

* nit

* fix tests for sql

* fix tests for sql

* rebase fix

* add one more check

* Implement GetLatestAndPredecessor method in datastore and add corresponding tests. This new functionality retrieves the latest resource version and its immediate predecessor, handling cases for single and non-existent resources. Update WriteEvent to utilize this method for improved optimistic concurrency control.

* Enhance optimistic concurrency control in WriteEvent method. Added checks for concurrent create operations to ensure only one succeeds, preventing race conditions. Updated tests to validate this behavior with multiple concurrent create attempts.

* lint

* Refactor optimistic concurrency check in WriteEvent method. Simplified the logic by removing unnecessary condition for single version existence, ensuring more robust handling of concurrent modifications.
2025-11-14 10:42:39 +01:00
Roberto Jiménez Sánchez 1cc21a0705 Provisioning: Make image renderer note optional in PR comments (#113837)
* Provisioning: Remove image renderer note from PR comment template

Removes the 'NOTE: The image renderer is not configured' message from
the pull request comment template when image renderer is unavailable.
This addresses issue #656 in git-ui-sync-project.

- Updated commentTemplateMissingImageRenderer to be empty
- Updated testdata to reflect the change
- All unit tests pass

* Provisioning: Make image renderer note optional in PR comments

Make the image renderer note in pull request comments optional based on
the allowImageRendering configuration flag. When enabled, the note now
includes a link to the setup documentation.

- Add showImageRendererNote boolean field to commenter struct
- Update NewCommenter to accept showImageRendererNote parameter
- Update template to conditionally show note with documentation link
- Pass allowImageRendering from APIBuilder to commenter in register.go
- Update ProvidePullRequestWorker to use cfg.ProvisioningAllowImageRendering
- Add tests to verify note appears/disappears based on flag

Fixes https://github.com/grafana/git-ui-sync-project/issues/656

* Format code with go fmt

* Remove redundant text from image renderer note

Remove 'The image renderer is not configured.' from the note message.
The note now focuses on actionable guidance with the documentation link.

* Fix compilation error: use cfg.ProvisioningAllowImageRendering directly

Cannot access unexported field allowImageRendering from webhooks package.
Use cfg.ProvisioningAllowImageRendering directly since we have access to cfg.
2025-11-14 10:33:28 +01:00
Gareth 5b34d92dca OpenTSDB: Fix type mismatch with counterMax and counterResetValue (#113835)
* fix

* update test
2025-11-14 18:31:09 +09:00
Yuri Tseretyan 0ab58642c4 Alerting: Resize created_by and updated_by columns in alert rules tables (#113870) 2025-11-13 17:15:54 -05:00
Matheus Macabu 4ee2112ea4 Secrets: Remove unused register_api_server setting (#113849) 2025-11-13 09:26:04 -08:00
Charandas 9ca6ad3b49 OFREP: add ST builder for the authorizer, APIEnabled=false needs it (#113809) 2025-11-13 09:19:16 -08:00
xavi 3f48a6358f Stricter validation for redirect URLs (#113852) 2025-11-13 18:04:20 +01:00
Roberto Jiménez Sánchez c1485ecf5f Provisioning: detect stale sync status and trigger resync (#113826)
* provisioning: detect stale sync status and trigger resync

When sync jobs expire and are cleaned up by the expired job cleanup
controller, the Repository sync status remains stuck in Pending or
Working state. This prevents new sync jobs from being queued because
shouldResync() blocks on these states.

This change adds detection logic in shouldResync() to check if a sync
job referenced in the sync status still exists. If the job doesn't exist
(NotFound), we trigger a resync to reconcile the stale state.

Fixes grafana/git-ui-sync-project#626

* test: remove unused mocks and fix test case

- Remove unused mockRepositoryLister and mockRepositoryNamespaceLister types
- Remove unused imports (labels, listers)
- Remove test case for sync disabled scenario as we don't care about sync enabled state when detecting stale status
2025-11-13 16:58:33 +00:00
Yuri Tseretyan 6603abc873 Alerting: Support for imported receivers in API (#112138)
* add support for converting Mimir integrations to Integration
* implement imported config revision
* update service to load staged receivers if configured
* make sure non-Grafana origin cannot be mutated
* set access control metadata for imported origin
* set includeImported from feature flag. Disabled for service used by provisioning
* add tests for new functionality
* add snapshot-based integration test
2025-11-13 15:35:21 +00:00
Will Browne f041563df3 Plugins: Prevent passing host environment variables to plugin processes by default (#113412)
* remove pluginsSkipHostEnvVars toggle

* fix tests
2025-11-13 15:31:57 +00:00
Alexander Akhmetov 44a92d252b Alerting: Support rule title search on the backend (#113738) 2025-11-13 15:52:14 +01:00
Alexander Zobnin b550750a9b Zanzana: Rename namespace to req_namespace label (#113822) 2025-11-13 12:08:10 +00:00
Jean-Philippe Quéméner e92a976de2 fix(unified-storage): process list items concurrently (#113801) 2025-11-13 12:08:14 +01:00
Gabriel MABILLE 97a6ab7b1c AuthZ: Remove outdated comments (#113817) 2025-11-13 11:06:02 +01:00
Roberto Jiménez Sánchez 73657be5e7 Provisioning: Fix history write for expired jobs (#113764)
* refactor: Move job cleanup to separate controller and fix history write

- Created JobCleanupController in apps/provisioning/pkg/controller
- Separated cleanup logic from ConcurrentJobDriver
- Fixed bug where expired jobs were not written to history
- Added comprehensive tests with 93.8% coverage
- Removed cleanup interval parameter from ConcurrentJobDriver
- Cleanup now properly follows Complete + WriteJob pattern

Fixes expired jobs being lost instead of archived

* refactor: Update lease renewal interval to use jobExpiry variable

- Changed the lease renewal interval in the GetPostStartHooks method to utilize the jobExpiry variable for improved clarity and maintainability.

* Format code

* Fix Unix milliseconds

* fix: correct Unix timestamp assertions and remove duplicate test expectations

- Changed Unix() to UnixMilli() for correct millisecond timestamp validation
- Removed duplicate store.AssertExpectations(t) calls throughout tests
2025-11-13 10:54:07 +01:00
Gabriel MABILLE b4b410f5be grafana-iam: Register a flag to configure dualwrite modes (#113610)
* `grafana-iam`: Register a flag to configure dualwrite modes

* Streamline helper code

* Launch sync job only with mode 1 to 3
2025-11-13 10:34:55 +01:00
Mustafa Sencer Özcan 6eac95f860 fix: inject index min update interval into resource server (#113816) 2025-11-13 09:27:54 +00:00
Ihor Yeromin 5091c946b5 Correlations: Remove correlations feature toggle (#113752)
* Remove correlations feature toggle

The correlations feature toggle has been removed from the registry and all
usages throughout the codebase have been cleaned up. Correlations are now
always available.
2025-11-13 10:21:46 +01:00
Ashley Harrison 3563388d4d Frontend Service: Client side redirect to custom domain (#113717)
* handle redirect in frontend service

* add comments
2025-11-13 03:32:14 +00:00
Ashley Harrison 6c8c4c32b5 Chore: Cleanup FEP feature toggles (#113772)
* reassign some feature toggles

* remove templateVariablesUsesCombobox toggle as it's unused
2025-11-13 03:31:18 +00:00
Charandas cbd794d0b8 Provisioning: fix regression with webhook authz failing in MT (#113793) 2025-11-12 13:21:28 -08:00
Adela Almasan a194219365 VizSuggestions: Add new feature toggle (#113549) 2025-11-12 13:26:29 -06:00
Isabella Siu ec9f39d54a AWS Datasources: add toggle for http proxy (#113777) 2025-11-12 13:51:23 -05:00
Alexander Zobnin 4bca10195e Zanzana: Fix shadow client metric (#113771) 2025-11-12 16:48:48 +00:00
Andres Torres 5162988fa1 feat(semconv): Add grafana namespace name attribute (#113767) 2025-11-12 16:33:26 +00:00
Dana Axinte 06954b7b0a Caching: Remove tsl memcached feature toggle (#113715)
* Remove tsl memcached feature toggle

* Remove feature flag from docs
2025-11-12 15:49:28 +00:00
Torkel Ödegaard 1f558b1e06 PanelChrome: Feature toggle increased panel header height and padding (#112613)
* PanelChrome: Feature toggle for increase header and content panel padding

* Update

* Update to panel menu

* Fix lint

* Revert theme feature ttoggle changes

Signed-off-by: Torkel Ödegaard <torkel@grafana.com>

* Update

* fix storybook

* Update

---------

Signed-off-by: Torkel Ödegaard <torkel@grafana.com>
2025-11-12 16:40:46 +01:00
Paul Marbach 4b1fbcbd04 Cleanup: Remove CSV drag-and-drop snapshot query feature (#113645)
* Chore: Remove editPanelCSVDragAndDrop feature

* update i18n

* fix issues from PR
2025-11-12 09:47:44 -05:00
Andres Martinez Gotor d83c35fd71 Advisor: App installer setup (#113525) 2025-11-12 15:32:21 +01:00
Mike 6c512dabdc Secrets: Fix MariaDB syntax error due to unsupported CTE syntax (#111610) (#113690)
* Secrets: fix MariaDB syntax error due to unsupported CTE syntax (#111610)

* parametrize guid/created columns and re-generate test fixtures

---------

Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com>
2025-11-12 15:15:43 +01:00
Mustafa Sencer Özcan 735b776edc fix: cleanup legacy resource if it is created in legacy during dual update (#113753) 2025-11-12 15:02:36 +01:00
Roberto Jiménez Sánchez cdc6a6114c Provisioning: Improve logging and tracing in job processing (#113454)
* Provisioning: Improve logging and tracing in job processing

- Add comprehensive tracing with OpenTelemetry spans across all job operations
- Enhance logging with consistent style: lowercase, concise messages, appropriate log levels
- Use past tense for completed lifecycle events (e.g., 'stopped' vs 'stop')
- Add structured logging with contextual attributes for better searchability
- Handle graceful shutdowns without throwing errors on context cancellation
- Refactor Cleanup method into listExpiredJobs and cleanUpExpiredJob for better code quality
- Avoid double logging by only logging errors when handled locally
- Add tracing and logging to historyjob controller cleanup operations

Files modified:
- pkg/registry/apis/provisioning/jobs/driver.go: Add tracing spans and improve error handling for graceful shutdown
- pkg/registry/apis/provisioning/jobs/concurrent_driver.go: Add tracing and consistent logging
- pkg/registry/apis/provisioning/jobs/persistentstore.go: Add comprehensive tracing and logging to all public methods, refactor cleanup
- apps/provisioning/pkg/controller/historyjob.go: Add tracing and improve logging consistency

* Update pkg/registry/apis/provisioning/jobs/persistentstore.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Refactor logging in persistentstore.go

- Remove debug log statements at the start of job operations for cleaner output
- Maintain structured logging with contextual attributes for improved traceability

Files modified:
- pkg/registry/apis/provisioning/jobs/persistentstore.go: Clean up logging for job operations

* Enhance logging and tracing in provisioning job operations

- Introduce OpenTelemetry spans for better observability in job processing and webhook handling
- Improve structured logging with contextual attributes for key operations
- Remove unnecessary tracing spans in long-running functions to streamline performance
- Update error handling to record errors in spans for better traceability

Files modified:
- pkg/registry/apis/provisioning/controller/repository.go: Add tracing and structured logging to sync job operations
- pkg/registry/apis/provisioning/jobs/concurrent_driver.go: Remove tracing span from long-running function
- pkg/registry/apis/provisioning/jobs/driver.go: Enhance logging and tracing in job processing
- pkg/registry/apis/provisioning/webhooks/webhook.go: Implement tracing and structured logging for webhook connections

* Update pkg/registry/apis/provisioning/jobs/driver.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Improve error handling in ConcurrentJobDriver to differentiate between graceful shutdown and unexpected stops

* Remove unused import in driver.go to clean up code

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-12 14:59:27 +01:00
beejeebus 6d64c373ce Allow FlagQueryServiceWithConnections to enable datasource config CRUD
The FlagGrafanaAPIServerWithExperimentalAPIs is only available when
`app_mode=development`. We have a more specific flag that is usable in
production, so use that.

Also, there was some old code constraining these APIs to a static list
of datasources. We don't need that anymore, so this PR removes it.

The FlagQueryServiceWithConnections is left as is, because there are
multiple existing tests that rely on this development-only, experimental
flag. I don't want to understand why that is.
2025-11-12 08:48:46 -05:00
Jean-Philippe Quéméner b9e39cdfcc chore(unified-storage): add debug log for read after write (#113747) 2025-11-12 14:39:03 +01:00
Gareth 4e050267c7 decouple the opentsdb data source from core (#113588)
* enable linting rules for opentsdb

* remove core imports

* update plugin.json

* write backend standalone files

* remove frontend core imports

* add yarn workspace

* remove core import for the plugin

* update grafana dependency

* update package.json

* add jest config
2025-11-12 22:33:17 +09:00