24 lines
1.4 KiB
Go
24 lines
1.4 KiB
Go
// Package cloud реализует облачно-специфичный уровень мультитенантности поверх Fission.
|
||
//
|
||
// # Архитектура слоёв
|
||
//
|
||
// Layer 1 (pkg/executor/multitenant в fission-src):
|
||
// - Универсальный, platform-agnostic
|
||
// - Контракт: Namespace + label fission.io/managed=true → executor автоматически подхватывает
|
||
// - Могут использовать любые платформы
|
||
//
|
||
// Layer 2 (этот пакет):
|
||
// - Облачно-специфичная логика нашего провайдера
|
||
// - ResourceQuota, LimitRange — лимиты ресурсов на тенанта (биллинг/изоляция)
|
||
// - NetworkPolicy — сетевая изоляция между тенантами
|
||
// - NSManager — оркестратор полного lifecycle namespace-а (singleflight + семафор)
|
||
// - ExpiryReaper — удаление функций с истёкшим TTL
|
||
//
|
||
// # Зависимости
|
||
//
|
||
// cloud → fission (internal/fission/) → Kubernetes dynamic client
|
||
//
|
||
// internal/fission/ — чистый Fission CRD adapter: GVR константы, EnsureEnvironment, SetupFissionNamespace.
|
||
// cloud/ — надстройка: добавляет квоты, сеть, управление lifecycle.
|
||
package cloud
|