mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
- Adds a find endpoint to return dashboard bindings that match any of the scopes. For example /apis/scope.grafana.app/v0alpha1/namespaces/default/find/scope_dashboard_bindings?scope=s1&scope=s2 - Updates the ScopeNode find endpoint to a new path, /find/scope_node_children , makes the key "items" for all find endpoints (instead of mix of "found" and "items"), and makes the list item type a ScopeNode instead of its own type. - Updates kubectl get commands to return more information about scopes, scopenodes, and scopedashboard bindings to display more fields in table output --------- Signed-off-by: bergquist <carl.bergquist@gmail.com> Co-authored-by: Ryan McKinley <ryantxu@gmail.com> Co-authored-by: Kyle Brandt <kyle@grafana.com> Co-authored-by: Todd Treece <todd.treece@grafana.com>
71 lines
2.1 KiB
Go
71 lines
2.1 KiB
Go
package v0alpha1
|
|
|
|
import (
|
|
"k8s.io/apimachinery/pkg/runtime"
|
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
|
|
|
common "github.com/grafana/grafana/pkg/apimachinery/apis/common/v0alpha1"
|
|
)
|
|
|
|
const (
|
|
GROUP = "scope.grafana.app"
|
|
VERSION = "v0alpha1"
|
|
APIVERSION = GROUP + "/" + VERSION
|
|
)
|
|
|
|
var ScopeResourceInfo = common.NewResourceInfo(GROUP, VERSION,
|
|
"scopes", "scope", "Scope",
|
|
func() runtime.Object { return &Scope{} },
|
|
func() runtime.Object { return &ScopeList{} },
|
|
)
|
|
|
|
var ScopeDashboardBindingResourceInfo = common.NewResourceInfo(GROUP, VERSION,
|
|
"scopedashboardbindings", "scopedashboardbinding", "ScopeDashboardBinding",
|
|
func() runtime.Object { return &ScopeDashboardBinding{} },
|
|
func() runtime.Object { return &ScopeDashboardBindingList{} },
|
|
)
|
|
|
|
var ScopeNodeResourceInfo = common.NewResourceInfo(GROUP, VERSION,
|
|
"scopenodes", "scopenode", "ScopeNode",
|
|
func() runtime.Object { return &ScopeNode{} },
|
|
func() runtime.Object { return &ScopeNodeList{} },
|
|
)
|
|
|
|
var (
|
|
// SchemeGroupVersion is group version used to register these objects
|
|
SchemeGroupVersion = schema.GroupVersion{Group: GROUP, Version: VERSION}
|
|
InternalGroupVersion = schema.GroupVersion{Group: GROUP, Version: runtime.APIVersionInternal}
|
|
|
|
// SchemaBuilder is used by standard codegen
|
|
SchemeBuilder runtime.SchemeBuilder
|
|
localSchemeBuilder = &SchemeBuilder
|
|
AddToScheme = localSchemeBuilder.AddToScheme
|
|
)
|
|
|
|
func init() {
|
|
localSchemeBuilder.Register(func(s *runtime.Scheme) error {
|
|
return AddKnownTypes(SchemeGroupVersion, s)
|
|
})
|
|
}
|
|
|
|
// Adds the list of known types to the given scheme.
|
|
func AddKnownTypes(gv schema.GroupVersion, scheme *runtime.Scheme) error {
|
|
scheme.AddKnownTypes(gv,
|
|
&Scope{},
|
|
&ScopeList{},
|
|
&ScopeDashboardBinding{},
|
|
&ScopeDashboardBindingList{},
|
|
&ScopeNode{},
|
|
&ScopeNodeList{},
|
|
&FindScopeNodeChildrenResults{},
|
|
&FindScopeDashboardBindingsResults{},
|
|
)
|
|
//metav1.AddToGroupVersion(scheme, gv)
|
|
return nil
|
|
}
|
|
|
|
// Resource takes an unqualified resource and returns a Group qualified GroupResource
|
|
func Resource(resource string) schema.GroupResource {
|
|
return SchemeGroupVersion.WithResource(resource).GroupResource()
|
|
}
|