Commit graph

65449 commits

Author SHA1 Message Date
Roberto Jiménez Sánchez
00b56bf927
Provisioning: Remove state field from Connection status in backend (#116862)
* Frontend: Use Ready condition instead of state field in ConnectionStatusBadge

Changes the ConnectionStatusBadge component to read the Ready condition
from the Connection status instead of the deprecated state field. This
aligns the frontend with Kubernetes condition patterns.

The badge now:
- Reads the Ready condition (type="Ready") from status.conditions
- Shows "Connected" (green) when Ready condition status is "True"
- Shows "Disconnected" (red) when Ready condition status is "False"
- Shows "Unknown" (grey) when no Ready condition exists

Updated tests to include Ready conditions in mock Connection objects.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* Backend: Remove state field from Connection status

Removes the deprecated `state` field from ConnectionStatus in favor of
using the Ready condition directly. This simplifies the status structure
and aligns with Kubernetes patterns.

Changes:
- Remove ConnectionState type and state field from ConnectionStatus
- Remove state field patches from connection controller
- Update CUE schema to remove state field
- Update integration tests to check Ready condition instead of state
- Regenerate backend code and frontend API clients

The Ready condition now serves as the single source of truth for
connection readiness. Frontend already reads from Ready condition
(see parent PR).

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* Regenerate client

* Format connection_test.go with goimports

* Fix TypeScript error in ConnectionStatusBadge test

Remove state field from mock ConnectionStatus to match the backend API
after state field removal. The state field no longer exists in the
ConnectionStatus type.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-28 14:15:26 +01:00
Shirley
31f3d42da1
chore: add trace id and span id to plugin extension context (#116966)
test out trace id span id
2026-01-28 04:47:13 -08:00
Ida Štambuk
3231f97fca
Dynamic dashboards: Do not show edit actions in embedded dashboard (#116533) 2026-01-28 13:38:10 +01:00
Sarah Constant
495c3c61cf
docs: add Grafana Cloud app plugin role definitions (#116972)
* docs: add Grafana Cloud app plugin role definitions

Add comprehensive documentation for RBAC roles available in Grafana Cloud app plugins:
- Default plugin permissions by basic role (Viewer/Editor/Admin)
- Role definitions for 25+ plugins including OnCall, IRM, SLO, Synthetic Monitoring, etc.
- Links to existing RBAC documentation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: add note linking to plugin role definitions from basic role table

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: remove OnCall and PDC sections from fixed role definitions

These plugin roles are now documented in the new plugin-role-definitions page.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: add API instructions for viewing role assignments

Add section explaining how to view role assignments via UI and API,
including endpoints for listing user roles and querying role definitions.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: fix section to show basic role definition lookup

Show how to retrieve basic role definitions (basic_viewer, basic_editor,
etc.) via API and browser URL, not user role assignments.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: use clearer placeholder for stack name

Replace <slug> with <your-stack-name> for clarity.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: alphabetize plugin role definitions

Reorder all plugin sections alphabetically for easier navigation.
Also alphabetize the summary table.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: adjust weight to place next to RBAC for app plugins

Per review feedback, change weight from 75 to 95 so plugin role
definitions appears right after the RBAC for app plugins page.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: address Vale linting errors

- sourcemaps → source maps
- config → configuration
- ack → acknowledge

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* style: run prettier on plugin-role-definitions

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 12:33:13 +00:00
Josh Hunt
c2efd4da4d
FS: CSP Middleware (#116819)
* Extract CSP header logic into a seperate middleware

* Add CSP tests

* Improve logging in csp middleware

* Set default CSP in docker compose
2026-01-28 12:12:27 +00:00
Matias Chomicki
8f5ac4bd08
Log Line Context: Internally manage displayed fields (#116912)
* LogLineContext: internally manage displayed fields

* Unit test

* Translations

* LogLineContext: add responsive breakpoints

* LogLineContext: improve sm
2026-01-28 11:51:20 +00:00
Roberto Jiménez Sánchez
3403ce4064
Provisioning: Add title and description to connection spec (#116996)
Add connection title and description
2026-01-28 11:49:45 +00:00
Marc M.
2ebe8dbb11
DynamicDashboards: Track configure panel dropdown clicks (#116921) 2026-01-28 12:47:36 +01:00
Piotr Jamróz
4f6f1fed76
Node Graph: Use first numeric field as fallback for main stat (#116530) 2026-01-28 12:46:46 +01:00
Peter Štibraný
45d9596202
Search before/after, report RV (#116909)
Add search_before and search_after fields to ResourceSearchRequest.
Add RV to ResourceSearchResponse.
Add sort fields to all search results.
2026-01-28 12:15:41 +01:00
Alexander Akhmetov
6fdd7a0dc3
Alerting: Export ComputeRuleState for rule state computation (#116962) 2026-01-28 12:01:52 +01:00
Ashley Harrison
43f9e8c4bb
SubMenu: Prevent menu positioning itself offscreen (#116907)
* use floating-ui for submenu positioning

* rename to parentItemRef
2026-01-28 11:00:24 +00:00
Roberto Jiménez Sánchez
edb16b1b65
Provisioning: Use Ready condition instead of state field in ConnectionStatusBadge (#116861)
* Frontend: Use Ready condition instead of state field in ConnectionStatusBadge

Changes the ConnectionStatusBadge component to read the Ready condition
from the Connection status instead of the deprecated state field. This
aligns the frontend with Kubernetes condition patterns.

The badge now:
- Reads the Ready condition (type="Ready") from status.conditions
- Shows "Connected" (green) when Ready condition status is "True"
- Shows "Disconnected" (red) when Ready condition status is "False"
- Shows "Unknown" (grey) when no Ready condition exists

Updated tests to include Ready conditions in mock Connection objects.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* Remove state field references from frontend

- Remove state field from test mock data
- Update ConnectionListItem to check conditions instead of state
- Update SelectableConnectionCard to check conditions instead of state

The state field has been removed from the ConnectionStatus type, so
we check for conditions presence instead.

* Add state field to test mocks for TypeScript compatibility

* Fix array condition and unknown handling

* Add pending state

* Remove check for status

* Remove leftover check

* Regenerate translations

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-28 11:56:31 +01:00
Mariell Hoversholm
c0e958345c
CI(ephemeral-instances): limit to grafanistas (#116989) 2026-01-28 11:38:03 +01:00
Rafael Bortolon Paulovic
82ac41efdf
fix(unified): on-prem migration ignore soft-deleted dashboards & folders (#116988) 2026-01-28 11:16:46 +01:00
grafana-pr-automation[bot]
60b2908c36
I18n: Download translations from Crowdin (#116978)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-28 09:36:18 +00:00
Jack Baldry
c2d8673ac6
Remove workflow that updates make docs procedure (#116146) 2026-01-28 09:03:41 +00:00
Roberto Jiménez Sánchez
621e6b964f
Provisioning: Bring job controller to OSS and refactor provisioning operators with lazy loading (#116915)
* Registration of enterprise only features in operators

* Move more things into lazy loading mode

* Fix some issues with initializing

* Use lazy method for token exchange client
2026-01-28 10:01:28 +01:00
Roberto Jiménez Sánchez
a71e6d18ef
Provisioning: Triggering condition for token to be regenerated (#116983)
* Triggering condition for token to be regenerated

* Fix unit tests
2026-01-28 08:48:44 +00:00
Mustafa Sencer Özcan
0751b926c5
refactor: unified storage migration registry flow (#116906)
* refactor: introduce a runner

* refactor: simplify

* refactor: simplify run method

* docs: update readme

* fix: address comments

* fix: address comment
2026-01-28 09:33:55 +01:00
cjdyer
f145d81ee6
Inspector: Remove redundant code in inspect data options active string (#114616) 2026-01-28 08:00:37 +01:00
Stephanie Hingtgen
989ef5fb40
Docs: Add dashboard history version limit (#116954)
Some checks are pending
Integration Tests / Postgres Enterprise (6/16) (push) Blocked by required conditions
Integration Tests / Postgres Enterprise (7/16) (push) Blocked by required conditions
Integration Tests / Postgres Enterprise (8/16) (push) Blocked by required conditions
Integration Tests / Postgres Enterprise (9/16) (push) Blocked by required conditions
Integration Tests / All backend integration tests complete (push) Blocked by required conditions
publish-technical-documentation-next / sync (push) Waiting to run
Reject GitHub secrets / reject-gh-secrets (push) Waiting to run
Build Release Packages / setup (push) Waiting to run
Build Release Packages / Dispatch grafana-enterprise build (push) Blocked by required conditions
Build Release Packages / / darwin-amd64 (push) Blocked by required conditions
Build Release Packages / / darwin-arm64 (push) Blocked by required conditions
Build Release Packages / / linux-amd64 (push) Blocked by required conditions
Build Release Packages / / linux-armv6 (push) Blocked by required conditions
Build Release Packages / / linux-armv7 (push) Blocked by required conditions
Build Release Packages / / linux-arm64 (push) Blocked by required conditions
Build Release Packages / / linux-s390x (push) Blocked by required conditions
Build Release Packages / / windows-amd64 (push) Blocked by required conditions
Build Release Packages / / windows-arm64 (push) Blocked by required conditions
Build Release Packages / Upload artifacts (push) Blocked by required conditions
Build Release Packages / publish-dockerhub (push) Blocked by required conditions
Build Release Packages / Dispatch publish NPM canaries (push) Blocked by required conditions
Build Release Packages / notify-pr (push) Blocked by required conditions
Run dashboard schema v2 e2e / dashboard-schema-v2-e2e (push) Waiting to run
Shellcheck / Shellcheck scripts (push) Waiting to run
Run Storybook a11y tests / Detect whether code changed (push) Waiting to run
Run Storybook a11y tests / Run Storybook a11y tests (light theme) (push) Blocked by required conditions
Run Storybook a11y tests / Run Storybook a11y tests (dark theme) (push) Blocked by required conditions
Swagger generated code / Detect whether code changed (push) Waiting to run
Swagger generated code / Verify committed API specs match (push) Blocked by required conditions
Dispatch sync to mirror / dispatch-job (push) Waiting to run
---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2026-01-27 18:45:13 -06:00
Kristina Demeshchik
fccb6e9e0d
PanelTimeRange: Fix timeshift rounding for 'to' boundary (#116944)
missing round up parametr
2026-01-27 18:20:29 -05:00
Alejandro
86f6f7657a
fix: modify the grafana dev build (#116872)
* ale/debug

* undo change and ignore local cert

* fix flag

* cleanup
2026-01-27 17:14:33 -06:00
Sarah Constant
fda39b0c26
docs: add folder access control documentation (#116837)
Some checks are pending
Integration Tests / Postgres Enterprise (8/16) (push) Blocked by required conditions
Integration Tests / Postgres Enterprise (9/16) (push) Blocked by required conditions
Integration Tests / All backend integration tests complete (push) Blocked by required conditions
publish-kinds-next / main (push) Waiting to run
publish-technical-documentation-next / sync (push) Waiting to run
Reject GitHub secrets / reject-gh-secrets (push) Waiting to run
Build Release Packages / setup (push) Waiting to run
Build Release Packages / Dispatch grafana-enterprise build (push) Blocked by required conditions
Build Release Packages / / darwin-amd64 (push) Blocked by required conditions
Build Release Packages / / darwin-arm64 (push) Blocked by required conditions
Build Release Packages / / linux-amd64 (push) Blocked by required conditions
Build Release Packages / / linux-armv6 (push) Blocked by required conditions
Build Release Packages / / linux-armv7 (push) Blocked by required conditions
Build Release Packages / / linux-arm64 (push) Blocked by required conditions
Build Release Packages / / linux-s390x (push) Blocked by required conditions
Build Release Packages / / windows-amd64 (push) Blocked by required conditions
Build Release Packages / / windows-arm64 (push) Blocked by required conditions
Build Release Packages / Upload artifacts (push) Blocked by required conditions
Build Release Packages / publish-dockerhub (push) Blocked by required conditions
Build Release Packages / Dispatch publish NPM canaries (push) Blocked by required conditions
Build Release Packages / notify-pr (push) Blocked by required conditions
Run dashboard schema v2 e2e / dashboard-schema-v2-e2e (push) Waiting to run
Shellcheck / Shellcheck scripts (push) Waiting to run
Run Storybook a11y tests / Detect whether code changed (push) Waiting to run
Run Storybook a11y tests / Run Storybook a11y tests (light theme) (push) Blocked by required conditions
Run Storybook a11y tests / Run Storybook a11y tests (dark theme) (push) Blocked by required conditions
Swagger generated code / Detect whether code changed (push) Waiting to run
Swagger generated code / Verify committed API specs match (push) Blocked by required conditions
Dispatch sync to mirror / dispatch-job (push) Waiting to run
trigger-dashboard-search-e2e / trigger-search-e2e (push) Waiting to run
* docs: add folder access control documentation

Add comprehensive documentation explaining how folders work as the
primary permission boundary in Grafana. This fills a gap in existing
docs where folders are documented as a dashboard feature rather than
as the central permission architecture.

New content includes:
- Permission levels (View, Edit, Admin) with detailed action breakdown
- Permission inheritance and cascading behavior
- Resources that use folder permissions (dashboards, alert rules, etc.)
- Plugin permissions and the effective access formula
- Step-by-step UI instructions for managing permissions
- Team-based folder structure recommendations
- Links to related documentation and blog resources

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: address review feedback and fix prettier formatting

- Add period at end of folder-access-control relref link
- Rename heading to be more task-oriented: "Design your folder structure to manage permissions"
- Move "Folder limitations" section to top of doc for better discoverability
- Fix Prettier formatting on markdown tables

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 21:49:39 +00:00
Yuri Tseretyan
56423fb085
Alerting: Receiver testing via app platform APIs (#111338)
* implement receiver testing domain service
* register the testing service in ngalert service
* declare a new subresource "test" for receiver resource
* implement request handler for integration testing
* integration tests for new endpoint

---------

Co-authored-by: Tito Lins <tito.linsesilva@grafana.com>
2026-01-27 16:41:16 -05:00
github-actions[bot]
36e7d6fddb
Release: update changelog for main (#116903)
* Update changelog

* Update changelog

* Update changelog

* Update changelog

* Update changelog

* Update changelog

* Update changelog

* Update changelog

* Update changelog

* Update changelog

* restart ci

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jev Forsberg <jev.forsberg@grafana.com>
2026-01-27 21:17:34 +00:00
linoman
5e27fd56a7
Auth: Promote SCIM to GA (#116963)
Promote SCIM to GA
2026-01-27 20:31:35 +00:00
Paul Marbach
2ba021cbf3
Gauge: Use more height for rounded gauge (#116790)
* Gauge: Use more height for rounded gauge

* test

* remove unused argument

* remove obsolete snapshot

* update to put the division in a variable

* more detailed comment

* more comments and variables
2026-01-27 15:26:14 -05:00
Sean Griffin
6a294129b6
feat (query editor v2): add SidebarCard components and layout (#116788) 2026-01-27 15:17:02 -05:00
Marc M.
2d045f8339
CustomVariable: Add correct link to the docs (#116910) 2026-01-27 21:14:05 +01:00
David Ellis
789b7425f2
Prometheus: Revert "Prometheus: Make sure "Min Step" has precedence (#115941)" (#116959)
Revert "Prometheus: Make sure "Min Step" has precedence (#115941)"

This reverts commit 7ae2eed876.
2026-01-27 11:14:31 -08:00
Adam Simpson
ecfb734246
Fix sqlschemas API endpoint (#116868)
* Fix sqlschemas API endpoint

In #116745 we cleaned up the "hack" of requiring `/name` on the end of the route. We should be able to drop the `/name` now.

* fix SampleRows not being marshaled correctly
2026-01-27 14:06:55 -05:00
Andrew Hackmann
4c8d14014d
Elasticsearch: Docs for raw query editor (#116639)
* raw query edito docs

* Apply suggestions from code review

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

* Update docs/sources/datasources/elasticsearch/query-editor/index.md

* Apply suggestions from code review

* Apply suggestion from @bossinc

* time range example

* space

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-27 12:23:51 -06:00
Daniele Stefano Ferru
8cb480a1fe
Provisioning: update admission on Repository's sync interval (#116916)
* Provisioning: update validator on Repository's sync interval

* adding integration tests

* addressing comments
2026-01-27 17:56:32 +00:00
Daniele Stefano Ferru
3a46926087
Provisioning: fix repository test endpoint (#116951) 2026-01-27 18:38:57 +01:00
Jean-Philippe Quéméner
337d76f1f6
feat: enable ansi quotes by default (#116922) 2026-01-27 17:46:06 +01:00
Deyan Halachliyski
74c5dcad1b
Alerting: Make saved search name clickable to apply search (#116832)
* Alerting: Make saved search name clickable to apply search

Replace the magnifying glass icon with a clickable name for applying saved searches.
The name now underlines on hover and triggers the apply action when clicked,
matching the Dashboard list page interaction pattern.

* Alerting: Update i18n extraction

Remove unused apply-tooltip translation key.

* Alerting: Fix E2E test for applying saved search

Update test to click the search name button instead of the removed apply icon.

* Alerting: Use TextLink for saved search names

Refactor saved search name to use TextLink component instead of button,
following the pattern used for alert rule names in the rule list.
2026-01-27 17:04:40 +01:00
Gilles De Mey
7eb40878b5
Alerting: Migrate to async plugin initialization (#116759)
Co-authored-by: Konrad Lalik <konradlalik@gmail.com>
2026-01-27 16:59:38 +01:00
Haris Rozajac
6b487a5f6c
Panel Data Export: Process nested frames when exporting (#116723)
process nested frames when exporting
2026-01-27 08:32:36 -07:00
Isabel Matwawana
90415d6dc5
Docs: Update export dashboard options (#116876) 2026-01-27 10:12:19 -05:00
Will Assis
9c3e011539
unified-storage: remove rvmanager dependency from sqlkv.go (#116701)
unified-storage: remove rvmanager dependency + cleanup
2026-01-27 11:49:54 -03:00
Tobias Skarhed
85130cccc6
Scopes: Increase test timeout for selector (#116929)
Improve quality of life and increase timeout
2026-01-27 14:47:59 +00:00
Kristina
e702db6096
Correlations: Remove support for org_id=0 (#116877)
remove support for org_id=0
2026-01-27 08:10:16 -06:00
Yunwen Zheng
7f77211ccd
SaveProvisionedDashboardForm: Fix Git Sync save reverting panel edits (#116801)
Some checks failed
Integration Tests / Postgres Enterprise (7/16) (push) Blocked by required conditions
Integration Tests / Postgres Enterprise (8/16) (push) Blocked by required conditions
Integration Tests / Postgres Enterprise (9/16) (push) Blocked by required conditions
Integration Tests / All backend integration tests complete (push) Blocked by required conditions
publish-technical-documentation-next / sync (push) Waiting to run
Reject GitHub secrets / reject-gh-secrets (push) Waiting to run
Build Release Packages / setup (push) Waiting to run
Build Release Packages / Dispatch grafana-enterprise build (push) Blocked by required conditions
Build Release Packages / / darwin-amd64 (push) Blocked by required conditions
Build Release Packages / / darwin-arm64 (push) Blocked by required conditions
Build Release Packages / / linux-amd64 (push) Blocked by required conditions
Build Release Packages / / linux-armv6 (push) Blocked by required conditions
Build Release Packages / / linux-armv7 (push) Blocked by required conditions
Build Release Packages / / linux-arm64 (push) Blocked by required conditions
Build Release Packages / / linux-s390x (push) Blocked by required conditions
Build Release Packages / / windows-amd64 (push) Blocked by required conditions
Build Release Packages / / windows-arm64 (push) Blocked by required conditions
Build Release Packages / Upload artifacts (push) Blocked by required conditions
Build Release Packages / publish-dockerhub (push) Blocked by required conditions
Build Release Packages / Dispatch publish NPM canaries (push) Blocked by required conditions
Build Release Packages / notify-pr (push) Blocked by required conditions
Run dashboard schema v2 e2e / dashboard-schema-v2-e2e (push) Waiting to run
Shellcheck / Shellcheck scripts (push) Waiting to run
Run Storybook a11y tests / Detect whether code changed (push) Waiting to run
Run Storybook a11y tests / Run Storybook a11y tests (light theme) (push) Blocked by required conditions
Run Storybook a11y tests / Run Storybook a11y tests (dark theme) (push) Blocked by required conditions
Swagger generated code / Detect whether code changed (push) Waiting to run
Swagger generated code / Verify committed API specs match (push) Blocked by required conditions
Dispatch sync to mirror / dispatch-job (push) Waiting to run
Trivy Scan / trivy-scan (push) Has been cancelled
2026-01-27 09:06:28 -05:00
Yunwen Zheng
dba90224b1
GitHubAppStep: Add how to create a GitHub app instruction (#116727) 2026-01-27 09:06:10 -05:00
Kristina Demeshchik
a078225f4a
Dashboards: Fix Cancel button appearing unresponsive when using Dashboard datasource (#116767)
do not re-ren query on cancel
2026-01-27 08:54:33 -05:00
Ezequiel Victorero
a04a4f656e
SavedQueries: Add RBAC support (#115739) 2026-01-27 10:12:08 -03:00
Mihai Doarna
17ad58ed7c
IAM: Refactor legacy search to use ListTeamBindings() (#116854)
* refactor legacy search to use ListTeamBindings()

* go mod tidy

* fix pagination

* go mod tidy
2026-01-27 14:30:21 +02:00
Anurag Ekkati
6b34e16d5b
Docs: Replace sample.ini secret_key example with placeholder (#115676) 2026-01-27 12:01:19 +00:00