K8s/Dashboards: Add frontend api to switch between implementations (#88632)

This commit is contained in:
Ryan McKinley
2024-06-05 17:34:23 +03:00
committed by GitHub
parent f28905f8c4
commit 41e0430f83
28 changed files with 215 additions and 45 deletions
@@ -9,6 +9,7 @@ import (
"time"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
dashboardsV0 "github.com/grafana/grafana/pkg/apis/dashboard/v0alpha1"
"github.com/grafana/grafana/pkg/components/simplejson"
@@ -177,8 +178,9 @@ func (a *dashboardSqlAccess) GetDashboards(ctx context.Context, query *Dashboard
func (a *dashboardSqlAccess) GetDashboard(ctx context.Context, orgId int64, uid string) (*dashboardsV0.Dashboard, error) {
r, err := a.GetDashboards(ctx, &DashboardQuery{
OrgID: orgId,
UID: uid,
OrgID: orgId,
UID: uid,
Labels: labels.Everything(),
})
if err != nil {
return nil, err
+7
View File
@@ -740,6 +740,13 @@ var (
Owner: grafanaAppPlatformSquad,
RequiresRestart: true, // changes the API routing
},
{
Name: "kubernetesDashboards",
Description: "Use the kubernetes API in the frontend for dashboards",
Stage: FeatureStageExperimental,
Owner: grafanaAppPlatformSquad,
FrontendOnly: true,
},
{
Name: "datasourceQueryTypes",
Description: "Show query type endpoints in datasource API servers (currently hardcoded for testdata, expressions, and prometheus)",
+1
View File
@@ -98,6 +98,7 @@ formatString,preview,@grafana/dataviz-squad,false,false,true
transformationsVariableSupport,preview,@grafana/dataviz-squad,false,false,true
kubernetesPlaylists,GA,@grafana/grafana-app-platform-squad,false,true,false
kubernetesSnapshots,experimental,@grafana/grafana-app-platform-squad,false,true,false
kubernetesDashboards,experimental,@grafana/grafana-app-platform-squad,false,false,true
datasourceQueryTypes,experimental,@grafana/grafana-app-platform-squad,false,true,false
queryService,experimental,@grafana/grafana-app-platform-squad,false,true,false
queryServiceRewrite,experimental,@grafana/grafana-app-platform-squad,false,true,false
1 Name Stage Owner requiresDevMode RequiresRestart FrontendOnly
98 transformationsVariableSupport preview @grafana/dataviz-squad false false true
99 kubernetesPlaylists GA @grafana/grafana-app-platform-squad false true false
100 kubernetesSnapshots experimental @grafana/grafana-app-platform-squad false true false
101 kubernetesDashboards experimental @grafana/grafana-app-platform-squad false false true
102 datasourceQueryTypes experimental @grafana/grafana-app-platform-squad false true false
103 queryService experimental @grafana/grafana-app-platform-squad false true false
104 queryServiceRewrite experimental @grafana/grafana-app-platform-squad false true false
+4
View File
@@ -403,6 +403,10 @@ const (
// Routes snapshot requests from /api to the /apis endpoint
FlagKubernetesSnapshots = "kubernetesSnapshots"
// FlagKubernetesDashboards
// Use the kubernetes API in the frontend for dashboards
FlagKubernetesDashboards = "kubernetesDashboards"
// FlagDatasourceQueryTypes
// Show query type endpoints in datasource API servers (currently hardcoded for testdata, expressions, and prometheus)
FlagDatasourceQueryTypes = "datasourceQueryTypes"
+13
View File
@@ -2224,6 +2224,19 @@
"stage": "GA",
"codeowner": "@grafana/plugins-platform-backend"
}
},
{
"metadata": {
"name": "kubernetesDashboards",
"resourceVersion": "1717593661635",
"creationTimestamp": "2024-06-05T13:21:01Z"
},
"spec": {
"description": "Use the kubernetes API in the frontend for dashboards",
"stage": "experimental",
"codeowner": "@grafana/grafana-app-platform-squad",
"frontend": true
}
}
]
}