LDAP: Restore test user mapping functionality (#110841)
* Migrate LdapPage from connect() to React-Redux hooks
* Convert LDAP debug page into a drawer and hook it into settings
* prettier
* Use the Text component and make the input and button look like they do on the main settings page.
* Bring back isLoading and put in a LoadingPlaceholder
* i18n-extract
* rejigger
* linter fix
(cherry picked from commit 585b53bc7d)
Provisioning: Add banner with more feature info (#104111)
* Provisioning: Add experimental feature banner
* translations
(cherry picked from commit d85d730d9c)
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* wip
* fix the async bug
* Fix tests
* support library panels
* Update comment
* clean up
* refactor, use multi resource kind
* uncomment
* return only the spec
* simplify templateizing logic
* update dashboardkind
* revert imprtable requirements to use the current interface
* tests and fixes
* add panel configs to required; more tests;
* everything in elements should be processed
* clean up
* clean up
* rename for clarity; clean up tests
* export resource v spec
* i18n
* clean unused
* fix library panels
* revert comments
* revert lefthook.rc
* don't support lib panels
* another lefhook revert
* remove lib panel in test
* Remove library panels on external export; show warning if dash contains library panels
* fix tests
* Support old export mode
* clean up
* rely on dash shape vs feature toggle, add spacing to alert, update message
* lint
* typo fix
* make makeExportable part of dashboard serializer; clean up old exporter
* clean up
* more cleanup
* gem file cleanup
* remove unused function
* remove unused selector
* don't remove ds refs that use ds template variable
* clean up
API Changes:
- Fixes validation in template CRUD API to be closer to how the running
alertmanager will use the template. Should remove some incorrect
validation errors.
- Adds some missing default placeholder labels to receiver testing that
are used during template testing but missing during receiver testing
Template Preview:
- Replaced basic preview with a readonly CodeEditor for better whitespace
and alignment clarity (also adds support for future syntax highlighting
in template previews for upcoming webhook payload templates)
Template Selector (Receiver Form):
- Refactored to use same components as Template editor for preview.
- Fixed preview to work with multi-definition templates
- Fixed copy to correctly copy the template contents instead of
{{ template "<name>" . }}.
Template Editor:
- Fixed detection of when to display functions vs snippets in multi-line
expressions
* Move filtering code to generators for performance reasons
Discarding rules and groups early in the iterable chain limits the number of promises we need to wait for which improves performance significantly
* Add error handling for generators
* Add support for data source filter for GMA rules
* search WIP fix
* Fix datasource filter
* Move filtering back to filtered rules hook, use paged groups for improved performance
* Add queriedDatasources field to grafana managed rules and update filtering logic to rely on it
- Introduced a new field `queriedDatasources` in the AlertingRule struct to track data sources used in rules.
- Updated the Prometheus API to populate `queriedDatasources` when creating alerting rules.
- Modified filtering logic in the ruleFilter function to utilize the new `queriedDatasources` field for improved data source matching.
- Adjusted related tests to reflect changes in rule structure and filtering behavior.
* Add FilterView performance logging
* Improve GMA Prometheus types, rename queried datasources property
* Use custom generator helpers for flattening and filtering rule groups
* Fix lint errors, add missing translations
* Revert test condition
* Refactor api prom changes
* Fix lint errors
* Update backend tests
* Refactor rule list components to improve error handling and data source management
- Enhanced error handling in FilterViewResults by logging errors before returning an empty iterable.
- Simplified conditional rendering in GrafanaRuleLoader for better readability.
- Updated data source handling in PaginatedDataSourceLoader and PaginatedGrafanaLoader to use new individual rule group generator.
- Renamed toPageless function to toIndividualRuleGroups for clarity in prometheusGroupsGenerator.
- Improved filtering logic in useFilteredRulesIterator to utilize a dedicated function for data source type validation.
- Added isRulesDataSourceType utility function for better data source type checks.
- Removed commented-out code in PromRuleDTOBase for cleaner interface definition.
* Fix abort controller on FilterView
* Improve generators filtering
* fix abort controller
* refactor cancelSearch
* make states exclusive
* Load full page in one loadResultPage call
* Update tests, update translations
* Refactor filter status into separate component
* hoist hook
* Use the new function for supported rules source type
---------
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
* LogLabels: add displayMax property
* MetaInfoText: prevent label wrapping
* LogsMetaRow: remove unescaped content and max characters
* LogsMetaRow: use font weight normal
* LogLabels: add button to collapse back
* LogsMetaRow: set line height
* LogsMetaRow: save common logs state
* LogsMetaRow: update unit tests
* LogLabels: update unit test
* LogListContext: add forceEscape option
* LogListContext: move forceEscape and hasUnescapedContents
* LogListControls: move forceEscape to controls
* LogList: read forceEscape from context
* i18n
* LogListControls: test new control
* Update betterer
* logsModel: update test
* LogLabels: replace characters with icons
* Prettier
* LogLabels: add aria labels
* i18n
* Update tests
* Update test
* detect target folder rules and show warning
* show detected rules in target folder in a collapsed section
* fix detecting rules that might be overwritten
* refactor
* remove undefined
* fix text
* change copy configuration
* comma and this token after token creation
* securely migrate and you'll need token
* add caret and modify steps
* period after check failed resources
* learn about migrating v1
* building snapshot reduce text
* right caret connect to a cloud stack
* building snapshot reduce text v2
* make i18n-extract after merge
* CloudMigrations: Enable snapshot resource type configuration
* ConfigureSnapshot: Update resource type order
* ConfigureSnapshot: Add compile-time check for all resource types
* Fix trickier merge conflicts
* E2E: Fix intercept calls to get snapshot results to match new query params for sorting
* ConfigureSnapshot: Break text into newline
* ConfigureSnapshot: Add spacing on resources list
* Chore: Run betterer
* ConfigureSnapshot: Make secondary text bold
* ConfigureSnapshot: Update copy which resources to migrate
* ConfigureSnapshot: Add tooltip near build snapshot button with ETA
* Extra confirmation before deleting tab with content
* also confirm rows
* make i18n-extract
* remake how the confirm works
* reset panel menu behavior
* update i18n, fix missing event
* fix lint
* skip rules that are managed by plugins when importing from data source rules to GMA
* update translations
* update text
* update translations
* handle no rules to import
* filter out rules instead of groups
* Reuse skipped rules alert
* update translations keys
* fix filter
---------
Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
* implement sorting
* swagger gen
* minor fixes
* clean up param reading
* add todo
* add errors only prop
* codegen stuff
* fix copy paste error
* forgot the api gen
* implement sorting on the frontend
* remove unused enums
* cleanup
* remove tests that are obe
* fix merge
* change page length based on checked box
* cleanup
* fix test
* i18n-extract
* var name tweaks
* use switch and conditional rendering instead of checkbox
* i18n-extract
* use initial sort
* fix type
* fix layout
* fix bugs
* make betterer happy
* fix var names
* Update styling of import warning
* Update logic for picking recording rule target datasource, and default to chosen DS
* Add CreateNewFolder component
* Reuse folder creation logic inside alert rule form
* Update betterer and tweak jsdoc
* Add translation to folder selector and tidy up imports
* Allow specifying data source UID in query param
* Add import button to new list view on appropriate data sources
* Fix CI failures
* Update translation keys
* LogListNavigation: create component
* LogListNavigation: make it optional
* Refactor Navigation into Controls
* Explore Logs: hide old panel options
* LogListControls: add more controls and apply new styles
* LogListControls: update width
* Remove console log
* LogList: wrap component in context
* LogListContext: make it stateful
* LogListControls: connect with context
* LogListContext: sync displayed fields
* LogListContext: add syntax highlighting control
* LogLine: improve color with highlighting off
* LogListControls: improve button styles
* LogListControls: add sort order option
* LogListControls: add dedup strategy
* LogListContext: sync prop changes with state
* LogList: add option change callback
* LogListContext: sync external changes only when showControls is disabled
* LogListContext: unify sync effect
* LogListControls: improve buttons active css
* LogListContext: add optional storage support
* LogList: make syntaxHighlighting and read from store or default to true
* LogsPanel: add support for new options
* Generated file
* Update tests
* New Logs Panel: add showControls option
* LogList: make eventBus optional
* LogsPanel: expose syntaxHighlighting
* LogsPanel: expose grammar to plugins
* Remove incorrect legacy file
* LogListControls: allow options change with controls enabled in panel editor
* LogLine: apply no-highlighting class to ansi wrapper
* LogListControls: add frontend level filtering
* LogList: filter by filterLevels
* LogListControls: allow filterLevels in dashboards
* LogLine: update unit tests
* LogLineMenu: update unit test
* LogListControls: add unit test
* Revert
* LogList: add unit test
* LogList: add onLogRowHover support
* LogList: test hover events
* LogsPanel: add unit test
* LogLine: use theme color for errors
* LogLine: minor tweak to hover state
* Chore: fix test case name
* LogListControls: add border
* LogListControls: prevent default on wrap toggle click
* LogLine: switch info and debug colors
* ContentOutline + LogControls: sync displayed levels and minor outline improvements
* LogListContext: sync with external filterLevel changes
* Logs: work with arrays of LogLevel and not plain strings
* Fix type
* LogListControl: increase controls size