Alerting: Add Triage feature toggle (#110326)
* Add state history config to frontend config object * Add alertingTriage feature toggle * Add Triage menu entry * Add old state history config props for backward compatibility
This commit is contained in:
@@ -93,12 +93,22 @@ type FrontendSettingsAnalyticsDTO struct {
|
||||
Enabled bool `json:"enabled"`
|
||||
}
|
||||
|
||||
type FrontendSettingsUnifiedAlertingStateHistoryDTO struct {
|
||||
Backend string `json:"backend,omitempty"`
|
||||
Primary string `json:"primary,omitempty"`
|
||||
PrometheusTargetDatasourceUID string `json:"prometheusTargetDatasourceUID,omitempty"`
|
||||
PrometheusMetricName string `json:"prometheusMetricName,omitempty"`
|
||||
}
|
||||
|
||||
type FrontendSettingsUnifiedAlertingDTO struct {
|
||||
MinInterval string `json:"minInterval"`
|
||||
AlertStateHistoryBackend string `json:"alertStateHistoryBackend,omitempty"`
|
||||
AlertStateHistoryPrimary string `json:"alertStateHistoryPrimary,omitempty"`
|
||||
RecordingRulesEnabled bool `json:"recordingRulesEnabled"`
|
||||
DefaultRecordingRulesTargetDatasourceUID string `json:"defaultRecordingRulesTargetDatasourceUID,omitempty"`
|
||||
MinInterval string `json:"minInterval"`
|
||||
StateHistory *FrontendSettingsUnifiedAlertingStateHistoryDTO `json:"stateHistory,omitempty"`
|
||||
RecordingRulesEnabled bool `json:"recordingRulesEnabled"`
|
||||
DefaultRecordingRulesTargetDatasourceUID string `json:"defaultRecordingRulesTargetDatasourceUID,omitempty"`
|
||||
|
||||
// Backward compatibility fields - deprecated
|
||||
AlertStateHistoryBackend string `json:"alertStateHistoryBackend,omitempty"`
|
||||
AlertStateHistoryPrimary string `json:"alertStateHistoryPrimary,omitempty"`
|
||||
}
|
||||
|
||||
// Enterprise-only
|
||||
|
||||
@@ -348,6 +348,18 @@ func (hs *HTTPServer) getFrontendSettings(c *contextmodel.ReqContext) (*dtos.Fro
|
||||
}
|
||||
|
||||
if hs.Cfg.UnifiedAlerting.StateHistory.Enabled {
|
||||
frontendSettings.UnifiedAlerting.StateHistory = &dtos.FrontendSettingsUnifiedAlertingStateHistoryDTO{
|
||||
Backend: hs.Cfg.UnifiedAlerting.StateHistory.Backend,
|
||||
Primary: hs.Cfg.UnifiedAlerting.StateHistory.MultiPrimary,
|
||||
}
|
||||
if hs.Cfg.UnifiedAlerting.StateHistory.PrometheusTargetDatasourceUID != "" {
|
||||
frontendSettings.UnifiedAlerting.StateHistory.PrometheusTargetDatasourceUID = hs.Cfg.UnifiedAlerting.StateHistory.PrometheusTargetDatasourceUID
|
||||
}
|
||||
if hs.Cfg.UnifiedAlerting.StateHistory.PrometheusMetricName != "" {
|
||||
frontendSettings.UnifiedAlerting.StateHistory.PrometheusMetricName = hs.Cfg.UnifiedAlerting.StateHistory.PrometheusMetricName
|
||||
}
|
||||
|
||||
// Populate deprecated fields for backward compatibility
|
||||
frontendSettings.UnifiedAlerting.AlertStateHistoryBackend = hs.Cfg.UnifiedAlerting.StateHistory.Backend
|
||||
frontendSettings.UnifiedAlerting.AlertStateHistoryPrimary = hs.Cfg.UnifiedAlerting.StateHistory.MultiPrimary
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user