- Add hooks to git, github and github webhooks to remove the. - Implement deletion in secrets package. - Add `Mutator` interface and hooks so that we can register any mutator. - Add unit test coverage to those mutators. - Move provider specific mutation from the massive `register.go` to the respective packages (e.g. `git` , `github`, etc). - Add integration test for removal. - Change the decryption fallback to simply check for the repository prefix.
26 lines
941 B
Go
26 lines
941 B
Go
package provisioning
|
|
|
|
import (
|
|
"context"
|
|
|
|
provisioning "github.com/grafana/grafana/pkg/apis/provisioning/v0alpha1"
|
|
"github.com/grafana/grafana/pkg/registry/apis/provisioning/controller"
|
|
"github.com/grafana/grafana/pkg/registry/apis/provisioning/jobs"
|
|
"github.com/grafana/grafana/pkg/registry/apis/provisioning/repository"
|
|
"k8s.io/apiserver/pkg/authorization/authorizer"
|
|
"k8s.io/apiserver/pkg/registry/rest"
|
|
"k8s.io/kube-openapi/pkg/spec3"
|
|
)
|
|
|
|
type Extra interface {
|
|
Authorize(ctx context.Context, a authorizer.Attributes) (decision authorizer.Decision, reason string, err error)
|
|
UpdateStorage(storage map[string]rest.Storage) error
|
|
PostProcessOpenAPI(oas *spec3.OpenAPI) error
|
|
GetJobWorkers() []jobs.Worker
|
|
AsRepository(ctx context.Context, r *provisioning.Repository) (repository.Repository, error)
|
|
RepositoryTypes() []provisioning.RepositoryType
|
|
Mutators() []controller.Mutator
|
|
}
|
|
|
|
type ExtraBuilder func(b *APIBuilder) Extra
|