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
@@ -339,6 +339,7 @@ func TestValidateRuleNode_NoUID(t *testing.T) {
require.Equal(t, time.Duration(*api.ApiRuleNode.For), alert.For)
require.Equal(t, api.ApiRuleNode.Annotations, alert.Annotations)
require.Equal(t, api.ApiRuleNode.Labels, alert.Labels)
require.Nil(t, alert.Record)
},
},
{