// 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