3.9 KiB
3.9 KiB
Изменения в fission-src относительно официального Fission
Базовый коммит официального Fission: 82e1ff76 (Add npm dependabot rules, 2025-12-16)
Что менялось
1. Ядро — pkg/utils/
namespace_manager.go(+608 строк) — новый компонент: менеджер namespace. Отслеживает появление/исчезновение namespace с меткойfission.io/managed=trueв реальном времени без рестарта Fission.namespace_manager_model.go(+181 строк) — модель данных менеджера namespace.namespace.go(+66 строк) — расширена логика работы с namespace.serviceaccount.go(+25 строк) — добавлена функцияEnsureNamespaceSA: при появлении нового namespace автоматически создаёт ServiceAccount, Role, RoleBinding, необходимые для работы fetcher/builder.
2. Executor — pkg/executor/
multitenant/ns_watcher.go(+137 строк) — watcher namespace-событий для executor. При появлении namespace с меткойfission.io/managed=true— executor начинает обслуживать функции в этом namespace без рестарта.executortype/poolmgr/gpm.go(+69 строк) — poolmgr динамически добавляет новые namespace.executortype/newdeploy/newdeploymgr.go(+61 строка) — аналогично для newdeploy.executortype/container/containermgr.go(+49 строк) — аналогично для container executor.executortype/poolmgr/poolpodcontroller.go(+43 строки) — контроллер подов poolmgr знает о новых namespace.
3. Router — pkg/router/
httpTriggers.go(+116 строк) — роутер подписывается на ns_watcher, динамически добавляет маршруты для функций в новых namespace.namespace_subscriber.go(+31 строка) — подписка роутера на namespace-события.ns_watcher.go(+32 строки) — watcher namespace для роутера.functionReferenceResolver.go(+11 строк) — резолвер функций знает о мультинеймспейс.
4. BuilderMgr — pkg/buildermgr/
ns_watcher.go(+32 строки) — watcher namespace для buildermgr.namespace_subscriber.go(+43 строки) — подписка buildermgr на namespace-события.envwatcher.go(+45 строк) — watcher окружений теперь реагирует на новые namespace.pkgwatcher.go(+38 строк) — watcher пакетов — аналогично.
5. RBAC — deploy/multitenant/rbac.yaml (+122 строки)
- Новые ClusterRole и ClusterRoleBinding для автоматического создания SA/Role/RoleBinding в пользовательских namespace.
deploy/executor-ns-watcher-rbac.yaml(+26 строк) — дополнительный RBAC для ns_watcher executor.
Обратная совместимость
Полная. Если в кластере нет namespace с меткой fission.io/managed=true — поведение идентично официальному Fission v1.22.0.
- CRD не изменялись.
- API (fission CLI) не изменялся.
- Helm-чарт не изменялся.
- Существующие функции, env, пакеты работают без изменений.
Как активировать мультитенантность
Добавить метку на namespace:
kubectl label namespace <ns> fission.io/managed=true
Fission автоматически начнёт обслуживать функции в этом namespace без рестарта.