* migrate from aria-label to data-testid for selectors
* fix e2e tests with shared components
* fix e2e tests with more shared components
* pass data-testid to SelectBase component
* pass data-testid to value container and traverse the dom to access the input in e2e
* Unified Storage: Add resource from/to entity tests
* fixup
* Remove GRN
* Update tests
* truncate timestamps to account for RFC3339, set Group and GroupVersion in k8s object
* Update tests
---------
Co-authored-by: Dan Cech <dcech@grafana.com>
* (WIP) Alerting: Use the forked Alertmanager for remote secondary mode
* fall back to using internal AM in case of error
* remove TODOs, clean up .ini file, add orgId as part of remote AM config struct
* log warnings and errors, fall back to remoteSecondary, fall back to internal AM only
* extract logic to decide remote Alertmanager mode to a separate function, switch on mode
* tests
* make linter happy
* remove func to decide remote Alertmanager mode
* refactor factory function and options
* add default case to switch statement
* remove ineffectual assignment
* pass `getLogRowContextQuery` to component
* reset `appliedContextFilters` in `getLogRowContextQuery`
* open show context in new tab
* open window before crafting url
* only open in new tab if getRowContextQuery is set
* only open `about:blank`
* change conditional
* Add definition of external service registration
* Add style and tables for permissions needed
* Add external service registration to local without counterpart
* Add feature toggle check
* Add feature flag check in the backend as well
* Add the disclaimer for permissions
---------
Co-authored-by: Gabriel MABILLE <gabriel.mabille@grafana.com>
* Added all UI options
* Added intro text under legend options
* Restructured page
Added supported visualizations section
Added links to docs reference shortcode and updated cloud links
* Removed internal note and added missing image
* Updated images and alte text
* Added second version of an image and added note to self
* Copy edits
* Added to do notes
* Fixed spelling
* Changed bullet list to be capitalized and updated links references
* Removed reference to measurement type
* Uploaded images to media folder, updated image links, and removed local images
---------
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
* Use levenshtein method to sort metric names
* Optionally hide empty panels in MetricSelectScene
* Transform ignore leven
* Refactor code to use $behaviours. Move preview cache to class variable instead of state
* Use lazy loading for metric scene
* Update scenes lib
* simplify behavior
* Remove hide empty toggle
* Bump scenes
---------
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* In migration, create one label per channel
This PR changes how routing is done by the legacy alerting migration.
Previously, we created a single label on each alert rule that contained an array of contact point names. Ex: __contact__="slack legacy testing","slack legacy testing2"
This label was then routed against a series of regex-matching policies with continue=true. Ex: __contacts__ =~ .*"slack legacy testing".*
In the case of many contact points, this array could quickly become difficult to manage and difficult to grok at-a-glance.
This PR replaces the single __contact__ label with multiple __legacy_c_{contactname}__ labels and simple equality-matching policies. These channel-specific policies are nested in a single route under the top-level route which matches against __legacy_use_channels__ = true for ease of organization.
This should improve the experience for users wanting to keep the default migrated routing strategy but who also want to modify which contact points an alert sends to.