Grafana Advisor: Skeleton app (#99242)

This commit is contained in:
Andres Martinez Gotor
2025-01-21 12:31:33 +01:00
committed by GitHub
parent 1b5eaebb6e
commit e747350fee
22 changed files with 1304 additions and 3 deletions
+24
View File
@@ -0,0 +1,24 @@
package advisor
import (
"github.com/grafana/grafana-app-sdk/app"
"github.com/grafana/grafana-app-sdk/simple"
"github.com/grafana/grafana/apps/advisor/pkg/apis"
advisorv0alpha1 "github.com/grafana/grafana/apps/advisor/pkg/apis/advisor/v0alpha1"
advisorapp "github.com/grafana/grafana/apps/advisor/pkg/app"
"github.com/grafana/grafana/pkg/services/apiserver/builder/runner"
)
type AdvisorAppProvider struct {
app.Provider
}
func RegisterApp() *AdvisorAppProvider {
provider := &AdvisorAppProvider{}
appCfg := &runner.AppBuilderConfig{
OpenAPIDefGetter: advisorv0alpha1.GetOpenAPIDefinitions,
ManagedKinds: advisorapp.GetKinds(),
}
provider.Provider = simple.NewAppProvider(apis.LocalManifest(), appCfg, advisorapp.New)
return provider
}
+9 -3
View File
@@ -3,8 +3,10 @@ package appregistry
import (
"context"
"github.com/grafana/grafana-app-sdk/app"
"github.com/grafana/grafana/pkg/infra/log"
"github.com/grafana/grafana/pkg/registry"
"github.com/grafana/grafana/pkg/registry/apps/advisor"
"github.com/grafana/grafana/pkg/registry/apps/investigation"
"github.com/grafana/grafana/pkg/registry/apps/playlist"
"github.com/grafana/grafana/pkg/services/apiserver"
@@ -30,6 +32,7 @@ func ProvideRegistryServiceSink(
features featuremgmt.FeatureToggles,
playlistAppProvider *playlist.PlaylistAppProvider,
investigationAppProvider *investigation.InvestigationAppProvider,
advisorAppProvider *advisor.AdvisorAppProvider,
) (*Service, error) {
cfgWrapper := func(ctx context.Context) *rest.Config {
cfg := restConfigProvider.GetRestConfig(ctx)
@@ -47,11 +50,14 @@ func ProvideRegistryServiceSink(
var apiGroupRunner *runner.APIGroupRunner
var err error
providers := []app.Provider{playlistAppProvider}
if features.IsEnabledGlobally(featuremgmt.FlagInvestigationsBackend) {
apiGroupRunner, err = runner.NewAPIGroupRunner(cfg, playlistAppProvider, investigationAppProvider)
} else {
apiGroupRunner, err = runner.NewAPIGroupRunner(cfg, playlistAppProvider)
providers = append(providers, investigationAppProvider)
}
if features.IsEnabledGlobally(featuremgmt.FlagGrafanaAdvisor) {
providers = append(providers, advisorAppProvider)
}
apiGroupRunner, err = runner.NewAPIGroupRunner(cfg, providers...)
if err != nil {
return nil, err
+2
View File
@@ -3,6 +3,7 @@ package appregistry
import (
"github.com/google/wire"
"github.com/grafana/grafana/pkg/registry/apps/advisor"
"github.com/grafana/grafana/pkg/registry/apps/investigation"
"github.com/grafana/grafana/pkg/registry/apps/playlist"
)
@@ -11,4 +12,5 @@ var WireSet = wire.NewSet(
ProvideRegistryServiceSink,
playlist.RegisterApp,
investigation.RegisterApp,
advisor.RegisterApp,
)