photoncloud-monorepo/docs/implementation-status.md

74 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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更新後