K8s/Folders: Use v1beta1 and app-sdk based spec (#103975)

This commit is contained in:
Ryan McKinley
2025-04-14 23:20:10 +03:00
committed by GitHub
parent acfd998fa6
commit 0283c98e30
90 changed files with 1255 additions and 2407 deletions
+1 -1
View File
@@ -5,7 +5,7 @@ import (
"k8s.io/apimachinery/pkg/runtime/schema"
dashboard "github.com/grafana/grafana/apps/dashboard/pkg/apis/dashboard/v1alpha1"
folders "github.com/grafana/grafana/pkg/apis/folder/v1"
folders "github.com/grafana/grafana/apps/folder/pkg/apis/folder/v1beta1"
)
func IsReadingLegacyDashboardsAndFolders(ctx context.Context, svc Service) bool {
@@ -9,7 +9,7 @@ import (
"k8s.io/apimachinery/pkg/runtime/schema"
dashboard "github.com/grafana/grafana/apps/dashboard/pkg/apis/dashboard/v1alpha1"
folders "github.com/grafana/grafana/pkg/apis/folder/v1"
folders "github.com/grafana/grafana/apps/folder/pkg/apis/folder/v1beta1"
)
func TestIsReadingLegacyDashboardsAndFolders(t *testing.T) {
+1 -1
View File
@@ -191,7 +191,7 @@ No resources found in default namespace.
To create a folder, create a file `folder-generate.yaml`:
```yaml
apiVersion: folder.grafana.app/v1
apiVersion: folder.grafana.app/v1beta1
kind: Folder
metadata:
generateName: x # anything is ok here... except yes or true -- they become boolean!
+2 -2
View File
@@ -17,7 +17,7 @@ require (
github.com/grafana/authlib/types v0.0.0-20250325095148-d6da9c164a7d
github.com/grafana/grafana v11.4.0-00010101000000-000000000000+incompatible
github.com/grafana/grafana/apps/dashboard v0.0.0-20250317130411-3f270d1de043
github.com/grafana/grafana/pkg/apimachinery v0.0.0-20250401081501-6af5fbf3fff0
github.com/grafana/grafana/pkg/apimachinery v0.0.0-20250414114055-2b279efe15bf
github.com/grafana/grafana/pkg/apiserver v0.0.0-20250325075903-77fa2271be7a
github.com/grafana/grafana/pkg/storage/unified/resource v0.0.0-20250317130411-3f270d1de043
github.com/stretchr/testify v1.10.0
@@ -211,8 +211,8 @@ require (
github.com/grafana/grafana-aws-sdk v0.31.5 // indirect
github.com/grafana/grafana-azure-sdk-go/v2 v2.1.6 // indirect
github.com/grafana/grafana-plugin-sdk-go v0.275.0 // indirect
github.com/grafana/grafana/apps/folder v0.0.0-20250414115220-48647355c37b // indirect
github.com/grafana/grafana/pkg/aggregator v0.0.0-20250220163425-b4c4b9abbdc8 // indirect
github.com/grafana/grafana/pkg/apis/folder v0.0.0-20250411131846-e7b32d622991 // indirect
github.com/grafana/grafana/pkg/promlib v0.0.8 // indirect
github.com/grafana/grafana/pkg/semconv v0.0.0-20250220164708-c8d4ff28a450 // indirect
github.com/grafana/otel-profiling-go v0.5.1 // indirect
+2 -2
View File
@@ -1273,10 +1273,10 @@ github.com/grafana/grafana-plugin-sdk-go v0.275.0 h1:icGmZG91lVqIo79w/pSki6N44d3
github.com/grafana/grafana-plugin-sdk-go v0.275.0/go.mod h1:mO9LJqdXDh5JpO/xIdPAeg5LdThgQ06Y/SLpXDWKw2c=
github.com/grafana/grafana/apps/dashboard v0.0.0-20250317130411-3f270d1de043 h1:wdJy5x6M7auWDjUIubqhfZuZvphUMyjD7hxB3RqV4aE=
github.com/grafana/grafana/apps/dashboard v0.0.0-20250317130411-3f270d1de043/go.mod h1:jwYig4wlnLLq4HQKDpS95nDeZi4+DmcD17KYYS1gMJg=
github.com/grafana/grafana/apps/folder v0.0.0-20250414115220-48647355c37b h1:n571OboxBgEnhAFnnc/soawXRsTsQYOaFC6Mn+iWPyI=
github.com/grafana/grafana/apps/folder v0.0.0-20250414115220-48647355c37b/go.mod h1:l7SqBgPw4c9iLCq/tVDAbrbsBdAHPIDF8xk0CdGHD/s=
github.com/grafana/grafana/pkg/aggregator v0.0.0-20250220163425-b4c4b9abbdc8 h1:9qOLpC21AmXZqZ6rUhrBWl2mVqS3CzV53pzw0BCuHt0=
github.com/grafana/grafana/pkg/aggregator v0.0.0-20250220163425-b4c4b9abbdc8/go.mod h1:deLQ/ywLvpVGbncRGUA4UDGt8a5Ei9sivOP+x6AQ2ko=
github.com/grafana/grafana/pkg/apis/folder v0.0.0-20250411131846-e7b32d622991 h1:3gcAHB3K1tSJ3jPY7EYm4G/TBimwcETyZVFQDsx18iA=
github.com/grafana/grafana/pkg/apis/folder v0.0.0-20250411131846-e7b32d622991/go.mod h1:Lmze5IWgV2qTGY0l1JQGRXpWoNGfeGX/HXdc8ByMfE4=
github.com/grafana/grafana/pkg/promlib v0.0.8 h1:VUWsqttdf0wMI4j9OX9oNrykguQpZcruudDAFpJJVw0=
github.com/grafana/grafana/pkg/promlib v0.0.8/go.mod h1:U1ezG/MGaEPoThqsr3lymMPN5yIPdVTJnDZ+wcXT+ao=
github.com/grafana/grafana/pkg/semconv v0.0.0-20250220164708-c8d4ff28a450 h1:wSqgLKFwI7fyeqf3djRXGClBLb/UPjZ4XPm/UsKFDB0=
+4 -6
View File
@@ -3,12 +3,14 @@ module github.com/grafana/grafana/pkg/storage/unified/resource
go 1.24.2
replace (
github.com/grafana/grafana/apps/folder => ../../../../apps/folder
github.com/grafana/grafana/pkg/apimachinery => ../../../apimachinery
github.com/grafana/grafana/pkg/apiserver => ../../../apiserver
)
require (
github.com/fullstorydev/grpchan v1.1.1
github.com/go-jose/go-jose/v3 v3.0.4
github.com/google/uuid v1.6.0
github.com/grafana/authlib v0.0.0-20250325095148-d6da9c164a7d
github.com/grafana/authlib/types v0.0.0-20250325095148-d6da9c164a7d
@@ -16,7 +18,8 @@ require (
github.com/grafana/grafana-app-sdk/logging v0.35.1
github.com/grafana/grafana-plugin-sdk-go v0.275.0
github.com/grafana/grafana/apps/dashboard v0.0.0-20250317130411-3f270d1de043
github.com/grafana/grafana/pkg/apimachinery v0.0.0-20250401081501-6af5fbf3fff0
github.com/grafana/grafana/apps/folder v0.0.0-20250402082028-6781612335d9
github.com/grafana/grafana/pkg/apimachinery v0.0.0-20250414114055-2b279efe15bf
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.1
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3
github.com/hashicorp/golang-lru/v2 v2.0.7
@@ -31,11 +34,6 @@ require (
k8s.io/apimachinery v0.32.3
)
require (
github.com/go-jose/go-jose/v3 v3.0.4
github.com/grafana/grafana/pkg/apis/folder v0.0.0-20250411131846-e7b32d622991
)
require (
cel.dev/expr v0.19.1 // indirect
cloud.google.com/go v0.118.2 // indirect
-2
View File
@@ -273,8 +273,6 @@ github.com/grafana/grafana-plugin-sdk-go v0.275.0 h1:icGmZG91lVqIo79w/pSki6N44d3
github.com/grafana/grafana-plugin-sdk-go v0.275.0/go.mod h1:mO9LJqdXDh5JpO/xIdPAeg5LdThgQ06Y/SLpXDWKw2c=
github.com/grafana/grafana/apps/dashboard v0.0.0-20250317130411-3f270d1de043 h1:wdJy5x6M7auWDjUIubqhfZuZvphUMyjD7hxB3RqV4aE=
github.com/grafana/grafana/apps/dashboard v0.0.0-20250317130411-3f270d1de043/go.mod h1:jwYig4wlnLLq4HQKDpS95nDeZi4+DmcD17KYYS1gMJg=
github.com/grafana/grafana/pkg/apis/folder v0.0.0-20250411131846-e7b32d622991 h1:3gcAHB3K1tSJ3jPY7EYm4G/TBimwcETyZVFQDsx18iA=
github.com/grafana/grafana/pkg/apis/folder v0.0.0-20250411131846-e7b32d622991/go.mod h1:Lmze5IWgV2qTGY0l1JQGRXpWoNGfeGX/HXdc8ByMfE4=
github.com/grafana/otel-profiling-go v0.5.1 h1:stVPKAFZSa7eGiqbYuG25VcqYksR6iWvF3YH66t4qL8=
github.com/grafana/otel-profiling-go v0.5.1/go.mod h1:ftN/t5A/4gQI19/8MoWurBEtC6gFw8Dns1sJZ9W4Tls=
github.com/grafana/pyroscope-go/godeltaprof v0.1.8 h1:iwOtYXeeVSAeYefJNaxDytgjKtUuKQbJqgAIjlnicKg=
+2 -3
View File
@@ -16,10 +16,9 @@ import (
"golang.org/x/sync/errgroup"
"k8s.io/apimachinery/pkg/runtime/schema"
dashboardv1 "github.com/grafana/grafana/apps/dashboard/pkg/apis/dashboard/v1alpha1"
folders "github.com/grafana/grafana/pkg/apis/folder/v1"
"github.com/grafana/authlib/types"
dashboardv1 "github.com/grafana/grafana/apps/dashboard/pkg/apis/dashboard/v1alpha1"
folders "github.com/grafana/grafana/apps/folder/pkg/apis/folder/v1beta1"
)
type NamespacedResource struct {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"kind": "Folder",
"apiVersion": "folder.grafana.app/v1",
"apiVersion": "folder.grafana.app/v1beta1",
"metadata": {
"name": "ae2ntrqxefvnke",
"namespace": "default",
@@ -1,6 +1,6 @@
{
"kind": "Folder",
"apiVersion": "folder.grafana.app/v1",
"apiVersion": "folder.grafana.app/v1beta1",
"metadata": {
"name": "ae2ntrqxefvnke",
"namespace": "default",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"kind": "Folder",
"apiVersion": "folder.grafana.app/v1",
"apiVersion": "folder.grafana.app/v1beta1",
"metadata": {
"name": "aaa",
"namespace": "default",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"kind": "Folder",
"apiVersion": "folder.grafana.app/v1",
"apiVersion": "folder.grafana.app/v1beta1",
"metadata": {
"name": "bbb",
"namespace": "default",