Provisioning: add webhook support in API Server and Operator (#110673)
* Provisioning: add webhook support in API Server * updating Extra interface * adding extra with workers interface * reverting extraWithWorkers in RegisterAPIService * adding extra job worker provider * adding new extra job provider * Wire things differently * Remove unused GetJobs * Pass url variable as string * Support webhooks in controller * Fix condition * Change the naming --------- Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>
This commit is contained in:
co-authored by
Roberto Jimenez Sanchez
parent
32e997d282
commit
76976ef648
@@ -12,8 +12,33 @@ import (
|
||||
"github.com/grafana/grafana/apps/provisioning/pkg/repository"
|
||||
"github.com/grafana/grafana/pkg/registry/apis/provisioning/jobs"
|
||||
"github.com/grafana/grafana/pkg/registry/apis/provisioning/resources"
|
||||
"github.com/grafana/grafana/pkg/services/apiserver"
|
||||
"github.com/grafana/grafana/pkg/services/rendering"
|
||||
"github.com/grafana/grafana/pkg/setting"
|
||||
"github.com/grafana/grafana/pkg/storage/unified/resource"
|
||||
)
|
||||
|
||||
func ProvidePullRequestWorker(
|
||||
cfg *setting.Cfg,
|
||||
renderer rendering.Service,
|
||||
blobstore resource.ResourceClient,
|
||||
configProvider apiserver.RestConfigProvider,
|
||||
) *PullRequestWorker {
|
||||
urlProvider := func(_ string) string {
|
||||
return cfg.AppURL
|
||||
}
|
||||
|
||||
// FIXME: we should create providers for client and parsers, so that we don't have
|
||||
// multiple connections for webhooks
|
||||
clients := resources.NewClientFactory(configProvider)
|
||||
parsers := resources.NewParserFactory(clients)
|
||||
screenshotRenderer := NewScreenshotRenderer(renderer, blobstore)
|
||||
evaluator := NewEvaluator(screenshotRenderer, parsers, urlProvider)
|
||||
commenter := NewCommenter()
|
||||
|
||||
return NewPullRequestWorker(evaluator, commenter)
|
||||
}
|
||||
|
||||
//go:generate mockery --name=PullRequestRepo --structname=MockPullRequestRepo --inpackage --filename=mock_pullrequest_repo.go --with-expecter
|
||||
type PullRequestRepo interface {
|
||||
Config() *provisioning.Repository
|
||||
|
||||
Reference in New Issue
Block a user