Alerting: Add database migration for recording rule fields (#87012)

* Create recording rule fields in model

* Add migration

* Write to database, support in version table

* extend fingerprint

* Force fields to be empty on validate

* Another storage spot, tests for fingerprint

* Explicitly set defaults in provisioning API

* Tests for main API validation

* Add diff tests even though fields are unpopulated for now

* Use struct tag approach instead of FromDB/ToDB hooks as it better handles nulls when deserializing

* test for deser

* Backout RecordTo for now since it's not decided in the doc

* back out of migration too

* Drop datasourceref for now

* address linter complaints

* Try a single outer struct with all fields embedded
This commit is contained in:
Alexander Weaver
2024-05-09 12:12:44 -05:00
committed by GitHub
parent 9bd44aed2e
commit 36ef611cf4
11 changed files with 82 additions and 1 deletions
@@ -108,6 +108,9 @@ func validateRuleNode(
RuleGroup: groupName,
NoDataState: noDataState,
ExecErrState: errorState,
// Recording Rule fields will be implemented in the future.
// For now, no rules can be recording rules. So, we force these to be empty.
Record: nil,
}
if ruleNode.GrafanaManagedAlert.NotificationSettings != nil {