这个项目能做什么

netbox-ceph 是 netbox-proxbox 的兄弟插件。它通过 proxbox-api 镜像 Proxmox 管理的 Ceph 资产,并复用了 netbox-proxbox 的后端上下文、分支生命周期、端点关系和作业约定。其 v1 镜像资产被设计为只读。 镜像资产 (v1) 该插件提供集群、守护进程、OSD、池、文件系统、CRUSH 规则、标志、健康检查、插件设置,以及只读的 RGW/S3 和 RBD 镜像资产。同步通过 POST /api/plugins/ceph/clusters/{id}/sync/ 触发,该操作会入队一个超时时间为 7200 秒的 CephSyncJob。可以通过 resources 参数传递列表或逗号分隔的字符串(例如 ["pools", "osds"]);若省略则运行默认的全量同步。队列中的运行记录显示在 NetBox 的核心 Jobs UI 中。 期望状态控制平面 (v2) Ceph v2 增加了一个独立门控的期望状态平面:包含绑定到端点和配置修订版本的不可变计划、验证结果、双人审批审计记录、应用/恢复运行、漂移记录、指标快照以及一个强类型 proxbox-api 客户端。原始审批令牌仅存在于审批响应与紧随其后的应用请求之间;NetBox 绝不会存储、记录、序列化或渲染该令牌。 期望状态模型允许操作员为池、CephFS、RBD 和 RGW/S3 声明以 NetBox 为主的意图——包括大小、自动扩缩容、CRUSH 规则、应用、配额、压缩、CephFS 元数据/数据池、MDS 放置、RBD 镜像布局/特性、RBD 快照保护、RGW 拓扑、S3 用户和存储桶。这些记录作为 NetBox 拥有的意图记录而存在。目前的 strict proxbox-ceph-v2-2026-07 写入器仅允许池和 CephFS 行生成变更。每个支持的行都需要一个精确的 execution_node;池的负载限制在 proxbox-api issue #258 接受的字段内,且 CephFS 的创建限制在 pg_num 和 add_storage。RBD 和 RGW/S3 的意图可浏览,但在写入器支持出现前,刻意不提供 Generate 操作动作。 审批流程与权限 请求者必须持有自定义的 request 和 apply 权限;随后由另一位持有 approve 权限的执行者通过编排器执行单一的 Approve & apply 动作。迁移 0007_ceph_plan_bound_approvals 废弃了旧版权限,增加了端点/提供商/节点/配置快照,创建了到期的审批发放租约,并强制每次审批仅限一次本地运行。 安装 使用 pip install netbox-ceph 安装,在 configuration.py 的 PLUGINS 中同时添加 "netbox_proxbox" 和 "netbox_ceph",然后照常运行 NetBox 迁移。 范围与安全注意事项 v1 不包含:直接的 Ceph Dashboard API 集成、Prometheus 指标摄取、外部非 Proxmox Ceph 集群,以及镜像资产的 NetBox-to-Ceph 写入操作。不存在 shell 或直接 Proxmox API 的回退方案。建议的部署流程:首先部署匹配的后端合约,备份 NetBox,执行迁移,审慎授予 request/apply/approve 权限,在旧版支持的意图上填充精确的执行节点,并在分级环境中验证完整流程;在这些门控和经过身份验证的 actor-header 网关控制完成之前,请保持所有 Proxmox 端点的 allow_writes 标志为禁用状态。 兼容性与项目状态 该仓库采用 Apache-2.0 许可,包含 PyPI 元数据、兼容性元数据、GitHub Actions CI、发布验证、文档发布,以及针对 NetBox v4.6.4 的截图捕获和页面覆盖工作流。基于 Digest 钉定的 Docker 安装烟雾测试覆盖了官方 NetBox v4.7.0 GA,且精确源码集成测试覆盖了向后兼容的 v4.5.8 至 v4.6.6 范围。NetBox v4.7.0 GA 元数据以 GA 形式被接纳且无兼容性警告,而 4.7.1 及更高版本则采取封闭失败策略;CI 钉定 GA 源码修订版本 5f06007e4c9bacc93ce17c1e645fc1143d60df3d。完整文档发布在项目的文档站点,模型和字段参考位于 docs/models.md,版本表位于 COMPATIBILITY.md,认证证据在 CERTIFICATION.md 中跟踪,Bug 和功能请求通过 GitHub Issues 处理。