* 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>
* 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>
* 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>
* 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
* 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>
* 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>
* 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
* 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
* 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>
* 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.