rbac: allow router namespace watch in multi-tenant mode

This commit is contained in:
Naeel
2026-04-26 09:03:15 +03:00
parent f617913ad9
commit 7faaa9dc1f
2 changed files with 63 additions and 4 deletions
+27
View File
@@ -106,3 +106,30 @@ User "system:serviceaccount:fission:fission-executor" cannot create resource
2. Создать новый test NS
3. Убедиться, что `Role` и `RoleBinding` для `fission-fetcher` создаются
4. Повторить `test_layer1.sh`
---
## Следующий найденный blocker — router RBAC
После полного executor RBAC fix `test_layer1.sh` изменил симптом:
- раньше шаг 5 падал с `500` и timeout на `executor /v2/getServiceForFunction`
- теперь шаг 5 падает с постоянным `404`
Лог router:
```
Failed to watch err="failed to list *v1.Namespace: namespaces is forbidden:
User \"system:serviceaccount:fission:fission-router\" cannot list resource
\"namespaces\" in API group \"\" at the cluster scope"
```
### Вывод
Executor-path уже починен, но router NSWatcher не работает, потому что у SA
`fission-router` нет cluster-scope прав `list/watch` на `namespaces`.
### Исправление
Добавить в `deploy/multitenant/rbac.yaml` ещё один набор ресурсов:
- `ClusterRole/fission-router-ns-watcher`
- `ClusterRoleBinding/fission-router-ns-watcher`
С правами:
- core `namespaces`: `list`, `watch`