AuthZ: Instantiate needed clients for IAM hooks (#113268)

build API with zanzana hooks support
This commit is contained in:
Jo
2025-10-31 15:37:43 +01:00
committed by GitHub
parent ea90bdff9c
commit a339a2dad3
+6 -1
View File
@@ -99,21 +99,26 @@ func RegisterAPIService(
return builder, nil
}
// TODO zClient, zTickets, reg
func NewAPIService(
accessClient types.AccessClient,
dbProvider legacysql.LegacyDatabaseProvider,
features featuremgmt.FeatureToggles,
zClient zanzana.Client,
reg prometheus.Registerer,
) *IdentityAccessManagementAPIBuilder {
store := legacy.NewLegacySQLStores(dbProvider)
resourcePermissionsStorage := resourcepermission.ProvideStorageBackend(dbProvider)
resourceAuthorizer := gfauthorizer.NewResourceAuthorizer(accessClient)
registerMetrics(reg)
return &IdentityAccessManagementAPIBuilder{
store: store,
display: user.NewLegacyDisplayREST(store),
resourcePermissionsStorage: resourcePermissionsStorage,
logger: log.New("iam.apis"),
features: features,
zClient: zClient,
zTickets: make(chan bool, MaxConcurrentZanzanaWrites),
reg: reg,
authorizer: authorizer.AuthorizerFunc(
func(ctx context.Context, a authorizer.Attributes) (authorizer.Decision, string, error) {
// For now only authorize resourcepermissions resource