* Saga: Divider component (horizontal and vertical)
* Documentation file updated
* Made changes suggested to the component, story and docs
* Updates made to the mdx documentation
* Updates on documentation for Divider component
* Made changes to the mdx documentation following suggestions received
* Add note for setting root_url in case of TLS termination
* Update docs/sources/tutorials/run-grafana-behind-a-proxy/index.md
Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
---------
Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
* Angular deprecation: Add Angular badge in plugin catalog page
* Angular deprecation: Add alert in plugin details page
* Angular deprecation: Disable install button if for Angular plugins
* removed extra console.log
* Add tests for Angular badge
* Add tests for PluginDetailsAngularDeprecation
* Add tests for InstallControlsButton
* Add tests for ExternallyManagedButton
* Table tests
* Catalog: Update angular deprecation message
* PR review feedback
* Update tests
* Update copy for angular tooltip and alert
* Update tests
* Fix test warnings
* Fix angularDetected not being set for remote catalog plugins
* Dynamic alert text based on grafana config
* Connections: Add Angular badge to Angular plugins
* Add test for connections console angular badge
* Fix tests
* Fix tests
* Moved tests
* PR review: Use ternary operator instead of &&
* Fixes to how to use Card component
* comment out desc
* Do not use deprecated theme.v1 and theme.typography.size
* pr review feedback
---------
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Alerting: Make ApplyAlertmanagerConfiguration only decrypt/encrypt new/changed secure settings
Previously, ApplyAlertmanagerConfiguration would decrypt and re-encrypt all secure settings. However, this caused re-encrypted secure settings to be included in the raw configuration when applied to the embedded alertmanager, resulting in changes to the hash. Consequently, even if no actual modifications were made, saving any alertmanager configuration triggered an apply/restart and created a new historical entry in the database.
To address the issue, this modifies ApplyAlertmanagerConfiguration, which is called by POST `api/alertmanager/grafana/config/api/v1/alerts`, to decrypt and re-encrypt only new and updated secure settings. Unchanged secure settings are loaded directly from the database without alteration.
We determine whether secure settings have changed based on the following (already in-use) assumption: Only new or updated secure settings are provided via the POST `api/alertmanager/grafana/config/api/v1/alerts` request, while existing unchanged settings are omitted.
* Ensure saving a grafana-managed contact point will only send new/changed secure settings
Previously, when saving a grafana-managed contact point, empty string values were transmitted for all unset secure settings. This led to potential backend issues, as it assumed that only newly added or updated secure settings would be provided.
To address this, we now exclude empty ('', null, undefined) secure settings, unless there was a pre-existing entry in secureFields for that specific setting. In essence, this means we only transmit an empty secure setting if a previously configured value was cleared.
* Fix linting
* refactor omitEmptyUnlessExisting
* fixup
---------
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>