Sobre o projeto

O VirtFoundry é uma camada IaaS declarativa e cloud-native que transforma um cluster Kubernetes existente numa nuvem privada multi-inquilino. É construído sobre o KubeVirt para máquinas virtuais e o Multus para redes, e é distribuído sob a licença Apache 2.0. Este repositório (virtfoundry/core) contém a API REST e a interface web. Os componentes relacionados estão em repositórios separados: virtfoundry/operator fornece os CRDs virtfoundry.io e o operator Kubernetes; virtfoundry/helm-charts contém os Helm charts, a documentação e os scripts de implantação; e virtfoundry/terraform-provider-virtfoundry fornece um provider Terraform. Principais capacidades descritas no README: - Multi-inquilino: namespaces isolados por inquilino. - Redes: VPCs, sub-redes privadas, um pool opcional de IPs públicos e grupos de segurança implementados via NetworkPolicy. - Computação: máquinas virtuais KubeVirt, templates, offerings, snapshots de VM e uma consola noVNC. - Armazenamento: volumes PVC e snapshots de volumes, com a ressalva de que é necessário um provider CSI VolumeSnapshot (local-path não é suficiente). - IAM: utilizadores, funções e chaves de API com o prefixo vfd_live_. - Empacotamento: um Helm chart oficial. A instalação é feita através do Helm. O quick start documentado instala primeiro o chart do operator (CRDs mais operator) e depois o chart principal para a API e a UI, ambos no namespace virtfoundry-system, com a palavra-passe de root e o segredo JWT fornecidos como valores. O README afirma que o quick start pressupõe que o cluster já tem KubeVirt, Multus e CDI, e remete para um guia de quickstart e um guia de instalação para os pré-requisitos completos. Para snapshots de volumes, é necessário configurar uma snapshot class como a longhorn. Para desenvolvimento, o estado da plataforma pode ser armazenado no Kubernetes através dos CRDs virtfoundry.io (store.driver=kubernetes, destinado a produção e uso em homelab) ou num armazenamento em memória, que é o padrão ao executar o servidor com go run e não requer cluster. A execução contra um cluster requer KUBECONFIG a apontar para um cluster com os CRDs instalados. A UI é desenvolvida separadamente com npm. O README também documenta o modelo de produto do projeto: um núcleo open-source sob Apache 2.0 mais componentes empresariais opcionais da Thurler IT, com suporte empresarial que abrange migração a partir de CloudStack ou VMware, SSO, faturação e suporte com SLA. Governança, maintainers, adotantes, roadmap, requisitos de CI, arquitetura, catálogo de templates de VM e um rascunho de candidatura ao CNCF Sandbox são todos referenciados como documentos separados no repositório.