Advisor: Expose endpoint to register checktypes (#113750)

This commit is contained in:
Andres Martinez Gotor
2025-11-17 12:48:53 +01:00
committed by GitHub
parent aa26cc4254
commit 151d9ec1cc
8 changed files with 286 additions and 44 deletions
@@ -0,0 +1,13 @@
// Code generated - EDITING IS FUTILE. DO NOT EDIT.
package v0alpha1
// +k8s:openapi-gen=true
type CreateRegisterBody struct {
Message string `json:"message"`
}
// NewCreateRegisterBody creates a new CreateRegisterBody object.
func NewCreateRegisterBody() *CreateRegisterBody {
return &CreateRegisterBody{}
}
@@ -0,0 +1,37 @@
// Code generated - EDITING IS FUTILE. DO NOT EDIT.
package v0alpha1
import (
"github.com/grafana/grafana-app-sdk/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
)
// +k8s:openapi-gen=true
type CreateRegister struct {
metav1.TypeMeta `json:",inline"`
CreateRegisterBody `json:",inline"`
}
func NewCreateRegister() *CreateRegister {
return &CreateRegister{}
}
func (t *CreateRegisterBody) DeepCopyInto(dst *CreateRegisterBody) {
_ = resource.CopyObjectInto(dst, t)
}
func (o *CreateRegister) DeepCopyObject() runtime.Object {
dst := NewCreateRegister()
o.DeepCopyInto(dst)
return dst
}
func (o *CreateRegister) DeepCopyInto(dst *CreateRegister) {
dst.TypeMeta.APIVersion = o.TypeMeta.APIVersion
dst.TypeMeta.Kind = o.TypeMeta.Kind
o.CreateRegisterBody.DeepCopyInto(&dst.CreateRegisterBody)
}
var _ runtime.Object = NewCreateRegister()
+57 -4
View File
@@ -62,9 +62,60 @@ var appManifestData = app.ManifestData{
},
},
Routes: app.ManifestVersionRoutes{
Namespaced: map[string]spec3.PathProps{},
Cluster: map[string]spec3.PathProps{},
Schemas: map[string]spec.Schema{},
Namespaced: map[string]spec3.PathProps{
"/register": {
Post: &spec3.Operation{
OperationProps: spec3.OperationProps{
OperationId: "createRegister",
Responses: &spec3.Responses{
ResponsesProps: spec3.ResponsesProps{
Default: &spec3.Response{
ResponseProps: spec3.ResponseProps{
Description: "Default OK response",
Content: map[string]*spec3.MediaType{
"application/json": {
MediaTypeProps: spec3.MediaTypeProps{
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Type: []string{"object"},
Properties: map[string]spec.Schema{
"apiVersion": {
SchemaProps: spec.SchemaProps{
Type: []string{"string"},
Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
},
},
"kind": {
SchemaProps: spec.SchemaProps{
Type: []string{"string"},
Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
},
},
"message": {
SchemaProps: spec.SchemaProps{
Type: []string{"string"},
},
},
},
Required: []string{
"message",
"apiVersion",
"kind",
},
}},
}},
},
},
},
}},
},
},
},
},
Cluster: map[string]spec3.PathProps{},
Schemas: map[string]spec.Schema{},
},
},
},
@@ -90,7 +141,9 @@ func ManifestGoTypeAssociator(kind, version string) (goType resource.Kind, exist
return goType, exists
}
var customRouteToGoResponseType = map[string]any{}
var customRouteToGoResponseType = map[string]any{
"v0alpha1||<namespace>/register|POST": v0alpha1.CreateRegister{},
}
// ManifestCustomRouteResponsesAssociator returns the associated response go type for a given kind, version, custom route path, and method, if one exists.
// kind may be empty for custom routes which are not kind subroutes. Leading slashes are removed from subroute paths.