layer1: fix sa namespace routing step 2

This commit is contained in:
Naeel
2026-04-26 09:32:08 +03:00
parent c987fa07e8
commit 9ce9829f3b
3 changed files with 75 additions and 7 deletions
+11 -7
View File
@@ -118,18 +118,22 @@ func getSAObj(kubernetesClient kubernetes.Interface, logger *zap.Logger) *Servic
}
func (sa *ServiceAccount) runSACheck(ctx context.Context) {
for _, ns := range sa.nsResolver.FissionResourceNS {
for _, baseNS := range sa.nsResolver.Snapshot() {
for _, permission := range sa.permissions {
if permission.saName == BuilderSAName {
ns = sa.nsResolver.GetBuilderNS(ns)
} else {
ns = sa.nsResolver.GetFunctionNS(ns)
}
setupSAAndRoleBindings(ctx, sa.kubernetesClient, sa.logger, ns, permission)
targetNS := sa.resolveSANamespace(baseNS, permission.saName)
setupSAAndRoleBindings(ctx, sa.kubernetesClient, sa.logger, targetNS, permission)
}
}
}
func (sa *ServiceAccount) resolveSANamespace(baseNS, saName string) string {
if saName == BuilderSAName {
return sa.nsResolver.GetBuilderNS(baseNS)
}
return sa.nsResolver.GetFunctionNS(baseNS)
}
func setupSAAndRoleBindings(ctx context.Context, client kubernetes.Interface, logger *zap.Logger, namespace string, ps *ServiceAccountPermissions) {
SAObj, err := createGetSA(ctx, client, ps.saName, namespace)
if err != nil {