74 lines
2.7 KiB
Markdown
74 lines
2.7 KiB
Markdown
# 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更新後)
|
||
|
||
|