Alerting: Add support for alpha rules apis in legacy storage

Rules created in the new api makes the rule have no group in the database, but the rule is returned in the old group api with a sentinel group name formatted with the rule uid for compatiblity with the old api.
This makes the UI continue to work with the rules without a group, and the ruler will continue to work with the rules without a group.

Rules are not allowed to be created in the provisioning api with a NoGroup sentinel mask, but NoGroup rules can be manipulated through both the new and old apis.

Co-authored-by: William Wernert <william.wernert@grafana.com>
This commit is contained in:
Moustafa Baiou
2025-09-10 09:30:56 -04:00
committed by Moustafa Baiou
co-authored by William Wernert
parent 0a85a30642
commit ca8324e62a
50 changed files with 8729 additions and 110 deletions
+7
View File
@@ -462,6 +462,13 @@ var (
Owner: grafanaAppPlatformSquad,
RequiresRestart: true, // changes the API routing
},
{
Name: "kubernetesAlertingRules",
Description: "Adds support for Kubernetes alerting and recording rules",
Stage: FeatureStageExperimental,
Owner: grafanaAlertingSquad,
RequiresRestart: true,
},
{
Name: "dashboardDisableSchemaValidationV1",
Description: "Disable schema validation for dashboards/v1",
+1
View File
@@ -59,6 +59,7 @@ kubernetesSnapshots,experimental,@grafana/grafana-app-platform-squad,false,true,
kubernetesLibraryPanels,experimental,@grafana/grafana-app-platform-squad,false,true,false
kubernetesDashboards,GA,@grafana/dashboards-squad,false,false,true
kubernetesShortURLs,experimental,@grafana/grafana-app-platform-squad,false,true,false
kubernetesAlertingRules,experimental,@grafana/alerting-squad,false,true,false
dashboardDisableSchemaValidationV1,experimental,@grafana/grafana-app-platform-squad,false,false,false
dashboardDisableSchemaValidationV2,experimental,@grafana/grafana-app-platform-squad,false,false,false
dashboardSchemaValidationLogging,experimental,@grafana/grafana-app-platform-squad,false,false,false
1 Name Stage Owner requiresDevMode RequiresRestart FrontendOnly
59 kubernetesLibraryPanels experimental @grafana/grafana-app-platform-squad false true false
60 kubernetesDashboards GA @grafana/dashboards-squad false false true
61 kubernetesShortURLs experimental @grafana/grafana-app-platform-squad false true false
62 kubernetesAlertingRules experimental @grafana/alerting-squad false true false
63 dashboardDisableSchemaValidationV1 experimental @grafana/grafana-app-platform-squad false false false
64 dashboardDisableSchemaValidationV2 experimental @grafana/grafana-app-platform-squad false false false
65 dashboardSchemaValidationLogging experimental @grafana/grafana-app-platform-squad false false false
+4
View File
@@ -247,6 +247,10 @@ const (
// Routes short url requests from /api to the /apis endpoint
FlagKubernetesShortURLs = "kubernetesShortURLs"
// FlagKubernetesAlertingRules
// Adds support for Kubernetes alerting and recording rules
FlagKubernetesAlertingRules = "kubernetesAlertingRules"
// FlagDashboardDisableSchemaValidationV1
// Disable schema validation for dashboards/v1
FlagDashboardDisableSchemaValidationV1 = "dashboardDisableSchemaValidationV1"
+13
View File
@@ -1908,6 +1908,19 @@
"requiresRestart": true
}
},
{
"metadata": {
"name": "kubernetesAlertingRules",
"resourceVersion": "1754340669702",
"creationTimestamp": "2025-08-04T20:51:09Z"
},
"spec": {
"description": "Adds support for Kubernetes alerting and recording rules",
"stage": "experimental",
"codeowner": "@grafana/alerting-squad",
"requiresRestart": true
}
},
{
"metadata": {
"name": "kubernetesAuthnMutation",