Sobre o projeto
netbox-ceph é um plugin NetBox irmão do netbox-proxbox. Ele espelha o inventário do Ceph gerenciado pelo Proxmox através da proxbox-api e reutiliza o contexto de backend, ciclo de vida de branch, relacionamentos de endpoint e convenções de jobs do netbox-proxbox. Seu inventário refletido v1 é intencionalmente somente leitura.
Inventário refletido (v1)
O plugin fornece clusters, daemons, OSDs, pools, sistemas de arquivos, regras CRUSH, flags, verificações de saúde, configurações de plugin e inventário refletido de RGW/S3 e RBD somente leitura. As sincronizações são disparadas com POST /api/plugins/ceph/clusters/{id}/sync/, que enfileira um CephSyncJob com um timeout de 7200 segundos. Um parâmetro de recursos pode ser passado como uma lista ou string separada por vírgulas, como ["pools", "osds"]; omiti-lo executa a sincronização completa padrão. As execuções enfileiradas aparecem na UI de Jobs do core do NetBox.
Plano de controle de estado desejado (v2)
O Ceph v2 adiciona um plano de estado desejado separadamente controlado: planos imutáveis vinculados a revisões de configuração e endpoint, descobertas de validação, registros de auditoria de aprovação de duas pessoas, execuções de aplicação/recuperação, registros de drift, snapshots de métricas e um cliente proxbox-api tipado. Um token de aprovação bruto existe apenas entre a resposta de aprovação e a requisição de aplicação imediatamente seguinte; ele nunca é armazenado, logado, serializado ou renderizado pelo NetBox.
Modelos de estado desejado permitem que operadores declarem a intenção prioritária no NetBox para pools, CephFS, RBD e RGW/S3 — tamanho, autoscale, regra CRUSH, aplicação, quotas, compressão, pools de metadados/dados CephFS, posicionamento de MDS, layout/recursos de imagem RBD, proteção de snapshot RBD, topologia RGW, usuários e buckets S3. Estes permanecem úteis como registros de intenção proprietários do NetBox. O escritor estrito proxbox-ceph-v2-2026-07 atualmente permite que apenas linhas de pool e CephFS gerem mutações. Cada linha suportada requer um execution_node exato; payloads de pool são limitados aos campos aceitos pela issue #258 da proxbox-api, e a criação de CephFS é limitada a pg_num e add_storage. A intenção de RBD e RGW/S3 é navegável, mas deliberadamente não possui ação de operação Generate até que exista suporte do escritor.
Fluxo de aprovação e permissões
O requerente deve possuir as permissões customizadas de request e apply; um ator diferente com a permissão approve então realiza uma única ação de Approve & apply através do orquestrador. A migração 0007_ceph_plan_bound_approvals aposenta a autoridade legada, adiciona snapshots de endpoint/provedor/nó/configuração, cria leases de emissão de aprovação com expiração e impõe uma execução local por aprovação.
Instalação
Instale com pip install netbox-ceph, adicione tanto "netbox_proxbox" quanto "netbox_ceph" a PLUGINS em configuration.py e, em seguida, execute as migrações do NetBox normalmente.
Escopo e notas de segurança
Fora de escopo para v1: integração direta com a API do Ceph Dashboard, ingestão de métricas do Prometheus, clusters Ceph externos não-Proxmox e operações de escrita do NetBox para o Ceph para inventário refletido. Não existe fallback para shell ou API direta do Proxmox. Implantação recomendada: implante primeiro o contrato de backend correspondente, faça backup do NetBox, migre, conceda permissões de request/apply/approve deliberadamente, popule nós de execução exatos na intenção suportada legada e valide o fluxo completo em staging; mantenha todas as flags allow_writes de endpoints do Proxmox desativadas até que esses portões e o controle de gateway de cabeçalho de ator autenticado estejam concluídos.
Compatibilidade e status do projeto
O repositório inclui licenciamento Apache-2.0, metadados PyPI, metadados de compatibilidade, CI do GitHub Actions, validação de release, publicação de docs e workflows de captura de screenshot e cobertura de página para NetBox v4.6.4. O smoke test de instalação Docker com pin de digest cobre o NetBox v4.7.0 GA oficial, e testes de integração de fonte exata cobrem a faixa retrocompatível de v4.5.8 a v4.6.6. Metadados do NetBox v4.7.0 GA são admitidos em base GA sem aviso de compatibilidade, enquanto 4.7.1 e posteriores falham no fechamento; o CI fixa a revisão de fonte GA 5f06007e4c9bacc93ce17c1e645fc1143d60df3d. A documentação completa é publicada no site de documentação do projeto, referências de modelos e campos estão em docs/models.md, a tabela de versões está em COMPATIBILITY.md, evidências de certificação são rastreadas em CERTIFICATION.md, e bugs e solicitações de recursos são tratados via GitHub Issues.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.