Alerting: Allow disabling recording rules write for a data source in the UI (#106664)

Adds a new "Allow as recording rules target" toggle to Prometheus datasource configuration that controls whether the datasource can be selected as a target for writing recording rules.
---------

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
Co-authored-by: Konrad Lalik <konradlalik@gmail.com>
This commit is contained in:
Alexander Akhmetov
2025-06-17 22:55:45 +02:00
committed by GitHub
co-authored by ismail simsek Konrad Lalik
parent 6cb2c701e6
commit f6e330b3d7
19 changed files with 201 additions and 20 deletions
+4
View File
@@ -341,6 +341,9 @@ type Cfg struct {
// Default behavior for the "Manage alerts via Alerting UI" toggle when configuring a data source.
// It only works if the data source's `jsonData.manageAlerts` prop does not contain a previously configured value.
DefaultDatasourceManageAlertsUIToggle bool
// Default behavior for the "Allow as recording rules target" toggle when configuring a data source.
// It only works if the data source's `jsonData.allowAsRecordingRulesTarget` prop does not contain a previously configured value.
DefaultAllowRecordingRulesTargetAlertsUIToggle bool
// IP range access control
IPRangeACEnabled bool
@@ -1969,6 +1972,7 @@ func (cfg *Cfg) readDataSourcesSettings() {
cfg.DataSourceLimit = datasources.Key("datasource_limit").MustInt(5000)
cfg.ConcurrentQueryCount = datasources.Key("concurrent_query_count").MustInt(10)
cfg.DefaultDatasourceManageAlertsUIToggle = datasources.Key("default_manage_alerts_ui_toggle").MustBool(true)
cfg.DefaultAllowRecordingRulesTargetAlertsUIToggle = datasources.Key("default_allow_recording_rules_target_alerts_ui_toggle").MustBool(true)
}
func (cfg *Cfg) readDataSourceSecuritySettings() {