ShortURL: Graduate api v1alpha1 to v1beta1 (#113597)

This commit is contained in:
Ezequiel Victorero
2025-11-10 07:29:33 -03:00
committed by GitHub
parent 834ff1be3c
commit cd91f858e6
34 changed files with 158 additions and 213 deletions
+5 -5
View File
@@ -11,7 +11,7 @@ import (
"k8s.io/client-go/dynamic"
"k8s.io/client-go/kubernetes"
"github.com/grafana/grafana/apps/shorturl/pkg/apis/shorturl/v1alpha1"
"github.com/grafana/grafana/apps/shorturl/pkg/apis/shorturl/v1beta1"
"github.com/grafana/grafana/pkg/api/dtos"
"github.com/grafana/grafana/pkg/api/response"
"github.com/grafana/grafana/pkg/api/routing"
@@ -120,7 +120,7 @@ type shortURLK8sHandler struct {
func newShortURLK8sHandler(hs *HTTPServer) *shortURLK8sHandler {
return &shortURLK8sHandler{
gvr: v1alpha1.ShortURLKind().GroupVersionResource(),
gvr: v1beta1.ShortURLKind().GroupVersionResource(),
namespacer: request.GetNamespaceMapper(hs.Cfg),
clientConfigProvider: hs.clientConfigProvider,
cfg: hs.Cfg,
@@ -164,9 +164,9 @@ func (sk8s *shortURLK8sHandler) getKubernetesRedirectFromShortURL(c *contextmode
}
result := client.RESTClient().Get().
Prefix("apis", v1alpha1.APIGroup, v1alpha1.APIVersion).
Prefix("apis", v1beta1.APIGroup, v1beta1.APIVersion).
Namespace(sk8s.namespacer(c.OrgID)).
Resource(v1alpha1.ShortURLKind().Plural()).
Resource(v1beta1.ShortURLKind().Plural()).
Name(uid).
SubResource("goto").
Param("redirect", "false"). // returns the URL and then we will do the redirect
@@ -183,7 +183,7 @@ func (sk8s *shortURLK8sHandler) getKubernetesRedirectFromShortURL(c *contextmode
return
}
value := &v1alpha1.GetGoto{}
value := &v1beta1.GetGoto{}
if err = json.Unmarshal(body, value); err != nil {
c.JsonApiErr(500, "unmarshal", err)
return
+1 -1
View File
@@ -8,7 +8,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
shorturl "github.com/grafana/grafana/apps/shorturl/pkg/apis/shorturl/v1alpha1"
shorturl "github.com/grafana/grafana/apps/shorturl/pkg/apis/shorturl/v1beta1"
"github.com/grafana/grafana/pkg/api/dtos"
"github.com/grafana/grafana/pkg/services/apiserver/endpoints/request"
"github.com/grafana/grafana/pkg/services/shorturls"
+1 -1
View File
@@ -12,7 +12,7 @@ import (
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apiserver/pkg/registry/rest"
shorturl "github.com/grafana/grafana/apps/shorturl/pkg/apis/shorturl/v1alpha1"
shorturl "github.com/grafana/grafana/apps/shorturl/pkg/apis/shorturl/v1beta1"
"github.com/grafana/grafana/pkg/api/dtos"
"github.com/grafana/grafana/pkg/apimachinery/identity"
"github.com/grafana/grafana/pkg/services/apiserver/endpoints/request"
+1 -1
View File
@@ -12,7 +12,7 @@ import (
appsdkapiserver "github.com/grafana/grafana-app-sdk/k8s/apiserver"
"github.com/grafana/grafana-app-sdk/simple"
"github.com/grafana/grafana/apps/shorturl/pkg/apis"
shorturl "github.com/grafana/grafana/apps/shorturl/pkg/apis/shorturl/v1alpha1"
shorturl "github.com/grafana/grafana/apps/shorturl/pkg/apis/shorturl/v1beta1"
shorturlapp "github.com/grafana/grafana/apps/shorturl/pkg/app"
"github.com/grafana/grafana/pkg/apimachinery/utils"
grafanarest "github.com/grafana/grafana/pkg/apiserver/rest"
+1 -1
View File
@@ -14,7 +14,7 @@ import (
"github.com/grafana/grafana-app-sdk/k8s/apiserver"
"github.com/grafana/grafana-app-sdk/logging"
shorturl "github.com/grafana/grafana/apps/shorturl/pkg/apis/shorturl/v1alpha1"
shorturl "github.com/grafana/grafana/apps/shorturl/pkg/apis/shorturl/v1beta1"
"github.com/grafana/grafana/pkg/apimachinery/identity"
"github.com/grafana/grafana/pkg/services/shorturls"
)
+3 -3
View File
@@ -16,7 +16,7 @@ import (
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/client-go/dynamic"
"github.com/grafana/grafana/apps/shorturl/pkg/apis/shorturl/v1alpha1"
"github.com/grafana/grafana/apps/shorturl/pkg/apis/shorturl/v1beta1"
"github.com/grafana/grafana/pkg/apimachinery/identity"
"github.com/grafana/grafana/pkg/infra/db"
"github.com/grafana/grafana/pkg/infra/log"
@@ -325,7 +325,7 @@ func (srv *CleanUpService) deleteStaleKubernetesShortURLs(ctx context.Context) {
}
// Set up the GroupVersionResource for shortURLs
gvr := v1alpha1.ShortURLKind().GroupVersionResource()
gvr := v1beta1.ShortURLKind().GroupVersionResource()
// Calculate the expiration time
expirationTime := time.Now().Add(-time.Duration(srv.Cfg.ShortLinkExpiration*24) * time.Hour)
@@ -350,7 +350,7 @@ func (srv *CleanUpService) deleteStaleKubernetesShortURLs(ctx context.Context) {
// Check each shortURL for expiration
for _, item := range shortURLs.Items {
// Convert unstructured object to ShortURL struct
var shortURL v1alpha1.ShortURL
var shortURL v1beta1.ShortURL
err := runtime.DefaultUnstructuredConverter.FromUnstructured(item.Object, &shortURL)
if err != nil {
logger.Error("Failed to convert unstructured object to ShortURL", "name", item.GetName(), "namespace", item.GetNamespace(), "error", err.Error())
@@ -1,10 +1,10 @@
{
"openapi": "3.0.0",
"info": {
"title": "shorturl.grafana.app/v1alpha1"
"title": "shorturl.grafana.app/v1beta1"
},
"paths": {
"/apis/shorturl.grafana.app/v1alpha1/": {
"/apis/shorturl.grafana.app/v1beta1/": {
"get": {
"tags": [
"API Discovery"
@@ -35,7 +35,7 @@
}
}
},
"/apis/shorturl.grafana.app/v1alpha1/namespaces/{namespace}/shorturls": {
"/apis/shorturl.grafana.app/v1beta1/namespaces/{namespace}/shorturls": {
"get": {
"tags": [
"ShortURL"
@@ -140,27 +140,27 @@
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURLList"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURLList"
}
},
"application/json;stream=watch": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURLList"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURLList"
}
},
"application/vnd.kubernetes.protobuf": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURLList"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURLList"
}
},
"application/vnd.kubernetes.protobuf;stream=watch": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURLList"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURLList"
}
},
"application/yaml": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURLList"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURLList"
}
}
}
@@ -169,7 +169,7 @@
"x-kubernetes-action": "list",
"x-kubernetes-group-version-kind": {
"group": "shorturl.grafana.app",
"version": "v1alpha1",
"version": "v1beta1",
"kind": "ShortURL"
}
},
@@ -212,17 +212,17 @@
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/vnd.kubernetes.protobuf": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/yaml": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
}
},
@@ -234,17 +234,17 @@
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/vnd.kubernetes.protobuf": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/yaml": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
}
}
@@ -254,17 +254,17 @@
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/vnd.kubernetes.protobuf": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/yaml": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
}
}
@@ -274,17 +274,17 @@
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/vnd.kubernetes.protobuf": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/yaml": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
}
}
@@ -293,7 +293,7 @@
"x-kubernetes-action": "post",
"x-kubernetes-group-version-kind": {
"group": "shorturl.grafana.app",
"version": "v1alpha1",
"version": "v1beta1",
"kind": "ShortURL"
}
},
@@ -447,7 +447,7 @@
"x-kubernetes-action": "deletecollection",
"x-kubernetes-group-version-kind": {
"group": "shorturl.grafana.app",
"version": "v1alpha1",
"version": "v1beta1",
"kind": "ShortURL"
}
},
@@ -473,7 +473,7 @@
}
]
},
"/apis/shorturl.grafana.app/v1alpha1/namespaces/{namespace}/shorturls/{name}": {
"/apis/shorturl.grafana.app/v1beta1/namespaces/{namespace}/shorturls/{name}": {
"get": {
"tags": [
"ShortURL"
@@ -486,17 +486,17 @@
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/vnd.kubernetes.protobuf": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/yaml": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
}
}
@@ -505,7 +505,7 @@
"x-kubernetes-action": "get",
"x-kubernetes-group-version-kind": {
"group": "shorturl.grafana.app",
"version": "v1alpha1",
"version": "v1beta1",
"kind": "ShortURL"
}
},
@@ -548,17 +548,17 @@
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/vnd.kubernetes.protobuf": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/yaml": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
}
},
@@ -570,17 +570,17 @@
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/vnd.kubernetes.protobuf": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/yaml": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
}
}
@@ -590,17 +590,17 @@
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/vnd.kubernetes.protobuf": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/yaml": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
}
}
@@ -609,7 +609,7 @@
"x-kubernetes-action": "put",
"x-kubernetes-group-version-kind": {
"group": "shorturl.grafana.app",
"version": "v1alpha1",
"version": "v1beta1",
"kind": "ShortURL"
}
},
@@ -711,7 +711,7 @@
"x-kubernetes-action": "delete",
"x-kubernetes-group-version-kind": {
"group": "shorturl.grafana.app",
"version": "v1alpha1",
"version": "v1beta1",
"kind": "ShortURL"
}
},
@@ -790,17 +790,17 @@
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/vnd.kubernetes.protobuf": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/yaml": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
}
}
@@ -810,17 +810,17 @@
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/vnd.kubernetes.protobuf": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/yaml": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
}
}
@@ -829,7 +829,7 @@
"x-kubernetes-action": "patch",
"x-kubernetes-group-version-kind": {
"group": "shorturl.grafana.app",
"version": "v1alpha1",
"version": "v1beta1",
"kind": "ShortURL"
}
},
@@ -865,7 +865,7 @@
}
]
},
"/apis/shorturl.grafana.app/v1alpha1/namespaces/{namespace}/shorturls/{name}/goto": {
"/apis/shorturl.grafana.app/v1beta1/namespaces/{namespace}/shorturls/{name}/goto": {
"get": {
"tags": [
"ShortURL"
@@ -878,7 +878,7 @@
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.GetGoto"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.GetGoto"
}
}
}
@@ -887,7 +887,7 @@
"x-kubernetes-action": "connect",
"x-kubernetes-group-version-kind": {
"group": "shorturl.grafana.app",
"version": "v1alpha1",
"version": "v1beta1",
"kind": "ResourceCallOptions"
}
},
@@ -914,7 +914,7 @@
}
]
},
"/apis/shorturl.grafana.app/v1alpha1/namespaces/{namespace}/shorturls/{name}/status": {
"/apis/shorturl.grafana.app/v1beta1/namespaces/{namespace}/shorturls/{name}/status": {
"get": {
"tags": [
"ShortURL"
@@ -927,17 +927,17 @@
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/vnd.kubernetes.protobuf": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/yaml": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
}
}
@@ -946,7 +946,7 @@
"x-kubernetes-action": "get",
"x-kubernetes-group-version-kind": {
"group": "shorturl.grafana.app",
"version": "v1alpha1",
"version": "v1beta1",
"kind": "ShortURL"
}
},
@@ -989,17 +989,17 @@
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/vnd.kubernetes.protobuf": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/yaml": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
}
},
@@ -1011,17 +1011,17 @@
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/vnd.kubernetes.protobuf": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/yaml": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
}
}
@@ -1031,17 +1031,17 @@
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/vnd.kubernetes.protobuf": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/yaml": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
}
}
@@ -1050,7 +1050,7 @@
"x-kubernetes-action": "put",
"x-kubernetes-group-version-kind": {
"group": "shorturl.grafana.app",
"version": "v1alpha1",
"version": "v1beta1",
"kind": "ShortURL"
}
},
@@ -1129,17 +1129,17 @@
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/vnd.kubernetes.protobuf": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/yaml": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
}
}
@@ -1149,17 +1149,17 @@
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/vnd.kubernetes.protobuf": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
},
"application/yaml": {
"schema": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
}
}
@@ -1168,7 +1168,7 @@
"x-kubernetes-action": "patch",
"x-kubernetes-group-version-kind": {
"group": "shorturl.grafana.app",
"version": "v1alpha1",
"version": "v1beta1",
"kind": "ShortURL"
}
},
@@ -1207,7 +1207,7 @@
},
"components": {
"schemas": {
"com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.GetGoto": {
"com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.GetGoto": {
"type": "object",
"required": [
"url"
@@ -1218,7 +1218,7 @@
}
}
},
"com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL": {
"com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL": {
"type": "object",
"required": [
"kind",
@@ -1244,21 +1244,21 @@
]
},
"spec": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURLSpec"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURLSpec"
},
"status": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURLStatus"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURLStatus"
}
},
"x-kubernetes-group-version-kind": [
{
"group": "shorturl.grafana.app",
"kind": "ShortURL",
"version": "v1alpha1"
"version": "v1beta1"
}
]
},
"com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURLList": {
"com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURLList": {
"type": "object",
"required": [
"metadata",
@@ -1275,7 +1275,7 @@
"default": {},
"allOf": [
{
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURL"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURL"
}
]
}
@@ -1297,11 +1297,11 @@
{
"group": "shorturl.grafana.app",
"kind": "ShortURLList",
"version": "v1alpha1"
"version": "v1beta1"
}
]
},
"com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURLOperatorState": {
"com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURLOperatorState": {
"type": "object",
"required": [
"lastEvaluation",
@@ -1336,7 +1336,7 @@
},
"additionalProperties": false
},
"com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURLSpec": {
"com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURLSpec": {
"type": "object",
"required": [
"path"
@@ -1349,7 +1349,7 @@
},
"additionalProperties": false
},
"com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURLStatus": {
"com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURLStatus": {
"type": "object",
"required": [
"lastSeenAt"
@@ -1371,7 +1371,7 @@
"description": "operatorStates is a map of operator ID to operator state evaluations.\nAny operator which consumes this kind SHOULD add its state evaluation information to this field.",
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1alpha1.ShortURLOperatorState"
"$ref": "#/components/schemas/com.github.grafana.grafana.apps.shorturl.pkg.apis.shorturl.v1beta1.ShortURLOperatorState"
}
}
},
+1 -1
View File
@@ -108,7 +108,7 @@ func TestIntegrationOpenAPIs(t *testing.T) {
Version: "v0alpha1",
}, {
Group: "shorturl.grafana.app",
Version: "v1alpha1",
Version: "v1beta1",
}, {
Group: "testdata.datasource.grafana.app",
Version: "v0alpha1",
+7 -7
View File
@@ -12,7 +12,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
shorturlV1 "github.com/grafana/grafana/apps/shorturl/pkg/apis/shorturl/v1alpha1"
shorturlV1 "github.com/grafana/grafana/apps/shorturl/pkg/apis/shorturl/v1beta1"
"github.com/grafana/grafana/pkg/api/dtos"
grafanarest "github.com/grafana/grafana/pkg/apiserver/rest"
"github.com/grafana/grafana/pkg/services/apiserver/options"
@@ -230,7 +230,7 @@ func doDualWriteTests(t *testing.T, helper *apis.K8sTestHelper, mode grafanarest
obj := apis.DoRequest(helper, apis.RequestParams{
User: client.Args.User,
Method: http.MethodPost,
Path: "/apis/shorturl.grafana.app/v1alpha1/namespaces/default/shorturls",
Path: "/apis/shorturl.grafana.app/v1beta1/namespaces/default/shorturls",
Body: []byte(`{ "metadata": { "generateName": "test-" }, "spec": { "path": "d/xCmMwXdVz/k8s-dual-write" } }`),
}, &unstructured.Unstructured{})
require.NotNil(t, obj.Result)
@@ -266,7 +266,7 @@ func doDualWriteTests(t *testing.T, helper *apis.K8sTestHelper, mode grafanarest
obj := apis.DoRequest(helper, apis.RequestParams{
User: client.Args.User,
Method: http.MethodPost,
Path: "/apis/shorturl.grafana.app/v1alpha1/namespaces/default/shorturls",
Path: "/apis/shorturl.grafana.app/v1beta1/namespaces/default/shorturls",
Body: []byte(`{ "metadata": { "generateName": "redirect-" }, "spec": { "path": "d/test/redirect" } }`),
}, &unstructured.Unstructured{})
require.NotNil(t, obj.Result)
@@ -319,7 +319,7 @@ func doUnifiedOnlyTests(t *testing.T, helper *apis.K8sTestHelper) {
obj := apis.DoRequest(helper, apis.RequestParams{
User: client.Args.User,
Method: http.MethodPost,
Path: "/apis/shorturl.grafana.app/v1alpha1/namespaces/default/shorturls",
Path: "/apis/shorturl.grafana.app/v1beta1/namespaces/default/shorturls",
Body: []byte(`{ "metadata": { "generateName": "unified-" }, "spec": { "path": "d/xCmMwXdVz/unified-only" } }`),
}, &unstructured.Unstructured{})
require.NotNil(t, obj.Result)
@@ -381,7 +381,7 @@ func doUnifiedOnlyTests(t *testing.T, helper *apis.K8sTestHelper) {
response := apis.DoRequest(helper, apis.RequestParams{
User: client.Args.User,
Method: http.MethodPost,
Path: "/apis/shorturl.grafana.app/v1alpha1/namespaces/default/shorturls",
Path: "/apis/shorturl.grafana.app/v1beta1/namespaces/default/shorturls",
Body: []byte(invalidBody),
}, (*unstructured.Unstructured)(nil))
@@ -418,7 +418,7 @@ func doUnifiedOnlyTests(t *testing.T, helper *apis.K8sTestHelper) {
response := apis.DoRequest(helper, apis.RequestParams{
User: client.Args.User,
Method: http.MethodPost,
Path: "/apis/shorturl.grafana.app/v1alpha1/namespaces/default/shorturls",
Path: "/apis/shorturl.grafana.app/v1beta1/namespaces/default/shorturls",
Body: []byte(validBody),
}, &unstructured.Unstructured{})
@@ -448,7 +448,7 @@ func doUnifiedOnlyTests(t *testing.T, helper *apis.K8sTestHelper) {
obj := apis.DoRequest[unstructured.Unstructured](helper, apis.RequestParams{
User: client.Args.User,
Method: http.MethodPost,
Path: "/apis/shorturl.grafana.app/v1alpha1/namespaces/default/shorturls",
Path: "/apis/shorturl.grafana.app/v1beta1/namespaces/default/shorturls",
Body: []byte(`{ "metadata": { "generateName": "redirect-unified-" }, "spec": { "path": "d/test/unified-redirect" } }`),
}, &unstructured.Unstructured{})
require.NotNil(t, obj.Result)