Об этом проекте

VirtFoundry — это декларативный, облачно-нативный слой IaaS, который превращает существующий кластер Kubernetes в мультитенантное частное облако. Он построен на KubeVirt для виртуальных машин и Multus для сетевого взаимодействия и распространяется под лицензией Apache 2.0. Этот репозиторий (virtfoundry/core) содержит REST API и веб-интерфейс. Связанные компоненты находятся в отдельных репозиториях: virtfoundry/operator предоставляет CRD virtfoundry.io и оператор Kubernetes; virtfoundry/helm-charts содержит Helm-чарты, документацию и скрипты развертывания; virtfoundry/terraform-provider-virtfoundry предоставляет провайдер Terraform. Ключевые возможности, описанные в README: - Мультитенантность: изолированные пространства имен для каждого тенанта. - Сеть: VPC, частные подсети, опциональный пул публичных IP-адресов и группы безопасности, реализованные через NetworkPolicy. - Вычисления: виртуальные машины KubeVirt, шаблоны, предложения, снимки виртуальных машин и консоль noVNC. - Хранилище: тома PVC и снимки томов, с оговоркой, что требуется провайдер CSI VolumeSnapshot (local-path недостаточно). - IAM: пользователи, роли и ключи API с префиксом vfd_live_. - Упаковка: официальный Helm-чарт. Установка осуществляется через Helm. Документированный быстрый старт сначала устанавливает чарт оператора (CRD плюс оператор), а затем основной чарт для API и UI, оба в пространство имен virtfoundry-system, с корневым паролем и JWT-секретом, передаваемыми как значения. README указывает, что быстрый старт предполагает наличие в кластере KubeVirt, Multus и CDI, и ссылается на руководство по быстрому старту и руководство по установке для полных предварительных требований. Для снимков томов необходимо настроить класс снимков, например longhorn. Для разработки состояние платформы может храниться либо в Kubernetes через CRD virtfoundry.io (store.driver=kubernetes, предназначено для продакшена и домашнего использования), либо в хранилище в памяти, которое является по умолчанию при запуске сервера с помощью go run и не требует кластера. Запуск против кластера требует KUBECONFIG, указывающего на кластер с установленными CRD. UI разрабатывается отдельно с помощью npm. README также документирует продуктовую модель проекта: открытое ядро под Apache 2.0 плюс опциональные корпоративные компоненты от Thurler IT, с корпоративной поддержкой, охватывающей миграцию с CloudStack или VMware, SSO, биллинг и поддержку SLA. Управление, мейнтейнеры, пользователи, дорожная карта, требования CI, архитектура, каталог шаблонов виртуальных машин и черновик заявки на CNCF Sandbox упоминаются как отдельные документы в репозитории.