Commit Graph
72 Commits
Author SHA1 Message Date
“Naeel” 695bfb74d4 doc: impl notes for namespace lifecycle hardening (2026-05-18) 2026-05-18 09:08:35 +04:00
“Naeel” 4eedf95f5c fix(namespace): executor/router/buildermgr RemoveNamespace + per-NS informer lifecycle
- Add RemoveNamespace(ctx, ns) to executortype.ExecutorType interface
- Implement RemoveNamespace in poolmgr, newdeploy, container executor types
- Add per-namespace context cancellation (nsCancels map) in all three types so
  informer factories are stopped when namespace is removed (fixes goroutine leak)
- Add PoolPodController.RemoveNamespace to clear envLister/podLister maps
- Add deregisterNamespace() in executor multitenant subscriber
- Switch executor/router/buildermgr watcher strategy from TrackOnly to DispatchRemove
  so RemoveFunc is called when fission.io/managed label is removed
- Add RemoveFunc to executor/router/buildermgr namespace subscribers
- Add RemoveNamespace to environmentWatcher and packageWatcher with per-NS cancel
- Add RemoveNamespace to HTTPTriggerSet: cancels informers, removes from maps, calls syncTriggers
- Fix ns_watcher_test.go fakeExecutorType to implement new RemoveNamespace method

Fixes:
- Executor dedup gap: re-added namespace was silently skipped (envLister/deplLister still present)
- Goroutine/FD leak: old informer factories ran forever after namespace removal
- Router stale routes: HTTPTriggers for removed namespace stayed in routing table
2026-05-18 09:04:13 +04:00
“Naeel” 4c82285863 doc: add console integration section to porting guide 2026-05-15 08:04:46 +04:00
“Naeel” 728cc351b5 doc: add multitenant porting guide for upstream upgrade 2026-05-15 07:49:47 +04:00
“Naeel” 5f0ab79f00 doc: add multitenant architecture summary (2026-05-15)
Единый сводный документ, описывающий полную архитектуру мультитенантного Fission.
Заменяет необходимость читать 50+ пошаговых thinking-файлов.

Содержит:
- Причина и концепция решения
- Архитектурная карта изменений (ASCII diagram)
- Таблица ключевых файлов с ролями
- Инженерные решения: Snapshot API, NamespaceManager event bus,
  EnsureNamespaceSA, buildermgr dedup bug, router nil guard
- RBAC: что и почему (включая нетривиальные events:create и LSAR)
- Backward compatibility guarantees
- Описание test scenario (Layer 1, PASS=5)
- Порядок деплоя нового форка
- Направления дальнейшей работы
2026-05-15 07:08:32 +04:00
“Naeel” b5f8a9bf0e doc: add multi-tenant quick reference card
Краткий справочник команд и концепций мультитенантного Fission.
Содержит: жизненный цикл namespace, CLI команды, схему RBAC,
структуру URL функций, типичные сценарии использования.
2026-05-15 06:59:19 +04:00
“Naeel” b2efefd75a doc: add multi-tenant Fission Console API guide
Полное руководство по REST API мультитенантного Fission Console.
Описывает все эндпоинты: создание namespace (tenant), деплой функций,
управление environment, триггеры, пакеты.
Актуально для нашего форка с мультитенантностью.
2026-05-15 06:59:14 +04:00
Naeel 63ce6ea135 layer1: close namespace manager step1 2026-04-26 16:27:53 +03:00
Naeel 7b6ff84188 layer1: harden namespace watcher logging path 2026-04-26 16:27:20 +03:00
Naeel 55d0b5a9e7 layer1: log namespace watcher startup summary 2026-04-26 16:24:29 +03:00
Naeel 813617ffd1 layer1: log watcher namespace transitions 2026-04-26 11:52:06 +03:00
Naeel 7d7fe561a8 layer1: log namespace summary active flag 2026-04-26 11:51:03 +03:00
Naeel fed69da335 layer1: add namespace summary active helper 2026-04-26 11:46:47 +03:00
Naeel f4a3bffc6b layer1: test namespace manager summary logging 2026-04-26 11:45:13 +03:00
Naeel 6e037a506d layer1: add default watcher config helper 2026-04-26 11:03:39 +03:00
Naeel d2ff55f9e0 layer1: add managed watcher config 2026-04-26 11:02:09 +03:00
Naeel b9236698f3 layer1: run managed namespace watchers 2026-04-26 11:01:05 +03:00
Naeel 073f2c1504 layer1: add live namespace counts 2026-04-26 10:59:39 +03:00
Naeel b93e720e12 layer1: add namespace source counts 2026-04-26 10:59:01 +03:00
Naeel f16aa030db layer1: log namespace manager summary 2026-04-26 10:57:29 +03:00
Naeel 5c481b7293 layer1: add namespace manager summary 2026-04-26 10:55:56 +03:00
Naeel 2bbed95c2a layer1: prepare managed namespace watchers 2026-04-26 10:54:24 +03:00
Naeel a1517ba4b2 layer1: share managed namespace watcher startup 2026-04-26 10:51:31 +03:00
Naeel 49be1db3a0 layer1: share namespace watcher event handlers 2026-04-26 10:50:28 +03:00
Naeel c3b161da83 layer1: share update removal policy 2026-04-26 10:49:26 +03:00
Naeel 0755319fac layer1: formalize namespace removal strategy 2026-04-26 10:48:42 +03:00
Naeel 340b9cae84 layer1: centralize namespace watcher handlers 2026-04-26 10:47:12 +03:00
Naeel 4cd4bc9507 layer1: share namespace watcher lifecycle helpers 2026-04-26 10:45:03 +03:00
Naeel 0e08664ef6 layer1: share watcher namespace manager bootstrap 2026-04-26 10:41:14 +03:00
Naeel d7497dcd34 layer1: remove old namespace watcher helpers 2026-04-26 10:40:36 +03:00
Naeel 447133d5b2 layer1: track namespace removals in manager 2026-04-26 10:39:59 +03:00
Naeel b6f3640bbe layer1: add namespace tombstone helper step 34 2026-04-26 10:39:11 +03:00
Naeel d09bee3431 layer1: add namespace remove dispatch step 33 2026-04-26 10:36:48 +03:00
Naeel 488157963a layer1: bootstrap executor namespace manager 2026-04-26 10:35:50 +03:00
Naeel 804bc533db layer1: bootstrap router namespace manager 2026-04-26 10:35:29 +03:00
Naeel 65837610a1 layer1: bootstrap builder namespace manager 2026-04-26 10:35:09 +03:00
Naeel dd7470922c layer1: hook executor watcher to namespace manager 2026-04-26 10:34:34 +03:00
Naeel 0135a93a30 layer1: hook router watcher to namespace manager 2026-04-26 10:34:04 +03:00
Naeel b12a8e5e75 layer1: hook builder watcher to namespace manager 2026-04-26 10:33:36 +03:00
Naeel ad0f83fd4b layer1: add namespace bootstrap dispatch step 26 2026-04-26 10:32:43 +03:00
Naeel 6f77fa5a9a layer1: add executor namespace subscriber step 25 2026-04-26 10:31:54 +03:00
Naeel 331f531962 layer1: factor executor namespace registration step 24 2026-04-26 10:30:59 +03:00
Naeel 346399d35f layer1: align router watcher flow step 23 2026-04-26 10:29:43 +03:00
Naeel 2971029c42 layer1: add router namespace subscriber step 22 2026-04-26 10:28:57 +03:00
Naeel 3159fba65b layer1: align builder watcher flow step 21 2026-04-26 10:27:09 +03:00
Naeel 126f7cc51c layer1: add builder namespace subscriber step 20 2026-04-26 10:26:13 +03:00
Naeel bcf34d6b1a layer1: add namespace subscriber adapter step 19 2026-04-26 10:24:01 +03:00
Naeel 022960ade7 layer1: add namespace event bridge step 18 2026-04-26 10:23:21 +03:00
Naeel b1e2e6462d layer1: add namespace dispatch step 17 2026-04-26 10:22:35 +03:00
Naeel ae8275d0a7 layer1: add namespace lifecycle subscribers step 16 2026-04-26 10:21:26 +03:00