このプロジェクトについて

netbox-cephは、netbox-proxboxの姉妹NetBoxプラグインです。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では、別途ゲート付きの希望状態プレーンが追加されます。これには、不変のエンドポイントおよび構成リビジョンに紐づいたプラン、検証結果、2名承認の監査レコード、適用/リカバリ実行、ドリフトレコード、メトリクススナップショット、および型定義されたproxbox-apiクライアントが含まれます。生の承認トークンは、承認レスポンスとそれに続く適用リクエストの間のみ存在し、NetBoxによって保存、ログ記録、シリアル化、またはレンダリングされることはありません。 希望状態モデルにより、オペレーターはプール、CephFS、RBD、RGW/S3のNetBox優先の意図(サイズ、オートスケール、CRUSHルール、アプリケーション、クォータ、圧縮、CephFSメタデータ/データプール、MDS配置、RBDイメージレイアウト/機能、RBDスナップショット保護、RGWトポロジ、S3ユーザーおよびバケット)を宣言できます。これらはNetBox所有の意図レコードとして有用です。現在の厳格な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により、レガシーな権限が廃止され、エンドポイント/プロバイダー/ノード/構成のスナップショットが追加され、期限付きの承認発行リースが作成され、1つの承認につき1つのローカル実行が強制されます。 インストール pip install netbox-ceph でインストールし、configuration.pyのPLUGINSに "netbox_proxbox" と "netbox_ceph" の両方を追加した後、通常通りNetBoxのマイグレーションを実行してください。 範囲と安全性に関する注意 v1の範囲外:Ceph Dashboard APIとの直接統合、Prometheusメトリクスの取り込み、Proxmox以外で管理される外部Cephクラスター、および反映インベントリに対するNetBoxからCephへの書き込み操作。シェルや直接的なProxmox APIへのフォールバックは存在しません。推奨される導入手順:まず一致するバックエンドコントラクトをデプロイし、NetBoxをバックアップし、マイグレーションを行い、request/apply/approve権限を慎重に付与し、レガシーサポート済みの意図に正確な実行ノードを割り当て、ステージング環境で全フローを検証してください。これらのゲートおよび認証済みアクターヘッダーゲートウェイ制御が完了するまで、すべてのProxmoxエンドポイントのallow_writesフラグは無効のままにしておいてください。 互換性とプロジェクトステータス リポジトリには、Apache-2.0ライセンス、PyPIメタデータ、互換性メタデータ、GitHub Actions CI、リリース検証、ドキュメント公開、およびNetBox v4.6.4向けのスクリーンショットキャプチャとページカバレッジワークフローが含まれています。ダイジェスト固定の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 で追跡され、バグと機能リクエストはGitHub Issuesを通じて処理されます。