# PhotonCloud Bare-Metal Service Mesh実装状況 ## 実装済み ### deployer-ctl CLI - ✅ `bootstrap`: Chainfireへのクラスタ初期設定投入 - ✅ `apply`: 宣言的なクラスタ状態の適用 - ✅ `dump`: Chainfire上のキー一覧とデバッグ - ✅ `deployer`: リモートDeployer制御(プレースホルダ) ### node-agent - ✅ Chainfireからノード情報の取得 - ✅ ハートビート更新(`last_heartbeat`) - ✅ ローカルServiceInstanceの同期(`/etc/photoncloud/instances.json`) - ✅ プロセスReconcileのスケルトン - ✅ ヘルスチェック(HTTP/TCP/Command) ### mtls-agent - ✅ プレーンTCPプロキシモード - ✅ TLS/mTLSサーバモード(`rustls`ベース) - ✅ モード切替(`plain`/`tls`/`mtls`/`auto`) - ✅ Chainfire統合(ServiceDiscovery) - ✅ サービス発見とキャッシュ - ✅ mTLSポリシー取得 ### cert-authority - ⚠️ CA証明書生成(TODO: rcgen API更新が必要) - ⚠️ 証明書発行(TODO: rcgen API更新が必要) ## 未実装・今後の課題 ### Step 5: サービス発見と新規マシンの発見 - ✅ NodeAgentによるServiceInstance登録 - ✅ mTLS AgentによるChainfire経由のサービス発見 - ⚠️ 新規ノードの自動検出とブートストラップ ### Step 6: mTLS証明書ライフサイクルとセキュリティモデル - ⚠️ 証明書発行フロー(rcgen API更新待ち) - ⚠️ 証明書ローテーション - ⚠️ SPIFFEライクなアイデンティティ検証 ### Step 7: mTLSオン/オフと環境別ポリシー - ✅ 環境別デフォルト設定(`ClusterStateSpec`) - ✅ mTLS AgentでのChainfire経由ポリシー読み込み - ⚠️ 動的ポリシー更新(Watch) ### Step 8: 既存サービスの移行計画 - ⚠️ クライアントラッパの実装 - ⚠️ 段階的移行ツール ### Step 9: Chainfireとの具体的なインテグレーション - ✅ 基本的なCRUD操作 - ⚠️ 認証・権限モデル - ⚠️ フォールトトレランス(キャッシュ) ### Step 10: 実装優先度とマイルストーン - ✅ MVPフェーズ(NodeAgent/mTLS Agent基本機能) - ⚠️ mTLS対応フェーズ(証明書管理) - ⚠️ 運用フェーズ(監視・ログ・トレース) - ⚠️ QEMU環境でのE2Eテスト ## ビルド状況 - `deployer-ctl`: ✅ ビルド成功 - `node-agent`: ✅ ビルド成功 - `mtls-agent`: 確認中 - `cert-authority`: 確認中(rcgen API問題あり) ## 次のステップ 1. NodeAgentのプロセス起動/停止Reconcile実装 2. mTLS Agentのポリシー適用とWatch機能 3. QEMU環境でのE2Eテスト環境構築 4. 証明書管理(rcgen API更新後)