Zanzana: app platform style write APIs (#112812)

* refactor zanzana client instantiation

* refactor client imports

* POC write API (Mutate)

* fix linter

* delete exisitng folder parents

* refactor common functions

* minor refactor

* groupd operations by type

* atomic folder operations

* use deleteExisting for deletes

* Add tests for folders

* more tests

* resource permissions tests

* add more tests

* fix mock zanzana client

* fix linter

* fix linter

* re-use types from apps

* add some comments to the protobuf
This commit is contained in:
Alexander Zobnin
2025-10-28 11:22:13 +01:00
committed by GitHub
parent 19d88de3cf
commit 7a7fd45bdd
25 changed files with 2108 additions and 502 deletions
+3 -2
View File
@@ -33,6 +33,7 @@ import (
"github.com/grafana/grafana/pkg/services/authz/rbac"
"github.com/grafana/grafana/pkg/services/authz/rbac/store"
"github.com/grafana/grafana/pkg/services/authz/zanzana"
zClient "github.com/grafana/grafana/pkg/services/authz/zanzana/client"
"github.com/grafana/grafana/pkg/services/featuremgmt"
"github.com/grafana/grafana/pkg/services/grpcserver"
"github.com/grafana/grafana/pkg/setting"
@@ -84,7 +85,7 @@ func ProvideAuthZClient(
case clientModeCloud:
rbacClient, err := newRemoteRBACClient(authCfg, tracer, reg)
if zanzanaEnabled {
return zanzana.WithShadowClient(rbacClient, zanzanaClient, reg)
return zClient.WithShadowClient(rbacClient, zanzanaClient, reg)
}
return rbacClient, err
default:
@@ -131,7 +132,7 @@ func ProvideAuthZClient(
)
if zanzanaEnabled {
return zanzana.WithShadowClient(rbacClient, zanzanaClient, reg)
return zClient.WithShadowClient(rbacClient, zanzanaClient, reg)
}
return rbacClient, nil