インストールとデプロイ
このセクションでは、本番環境またはステージング環境で kanade コンポーネントをネイティブの Windows サービスとしてブートストラップする方法を詳しく説明します。
デプロイモデル
本番ホストと管理対象エンドポイントは、kanade コンポーネントをバックグラウンドの Windows サービスとして実行します。これにより、高可用性と自動起動が保証されます。
| サービス名 | トリプル / バイナリ | 設定ソース | 典型的なターゲット |
|---|---|---|---|
| KanadeNats | nats-server.exe | 保護されたレジストリ / レジストリ保存の CLI フラグ | 中央サーバー |
| KanadeBackend | kanade-backend.exe | 保護されたレジストリ / 設定ファイル | 中央サーバー |
| KanadeAgent | kanade-agent.exe | 保護されたレジストリ / ローカル状態 DB | 管理対象エンドポイント |
1. 前提条件
- ホスト OS: Windows 10/11 または Windows Server 2016+。
- gsudo: 標準のユーザシェルから管理者権限でインストールを実行する(または管理者権限の PowerShell プロンプトからコマンドを実行する)ために必要です。
- ネットワークルーティング: 管理対象エンドポイントが TCP 経由で NATS サーバーポート(デフォルト
4222)に到達できる必要があります。
2. NATS サーバー (ブローカー) のセットアップ
NATS サーバーはメッセージングのコアとして機能します。
scripts/build-release.ps1 -Roles natsを使用して、デプロイメントバンドルをステージングします。- 管理者権限でサービスをデプロイします:
# Elevated PowerShell prompt & "dist\nats\deploy-nats.ps1" -NatsToken "your-secure-nats-token" -Recreate
これにより、KanadeNats サービスがインストールされ、ローカルシステムアカウントで実行されるよう構成され、JetStream データディレクトリがセットアップされ、安全な認証トークンが Windows レジストリ内にロックダウンされます。
3. バックエンド API & SPA のデプロイ
バックエンドは、オペレーター接続を管理し、イベントログを処理します。
scripts/build-release.ps1 -Roles backendを使用して、バックエンドバイナリと React SPA バンドルをステージングします。- サービスをデプロイします:
# Elevated PowerShell prompt & "dist\backend\deploy-backend.ps1" ` -NatsToken "your-secure-nats-token" ` -StaticToken "your-operator-spa-bearer-token" ` -ForceConfig -Recreate
-NatsToken: バックエンドをローカルの NATS サーバーに安全に接続します。-StaticToken: オペレーターの CLI/SPA ログインに必要な API ベアラートークンを定義します。
デプロイスクリプトは、KanadeBackend Windows サービスを登録し、適切な ACL を設定して、エンドポイントを検証します。
4. 対象エンドポイントへのエージェントのインストール
管理対象のすべてのエンドポイント PC にエージェントをインストールします。
scripts/build-release.ps1 -Roles agentを使用して、エージェントバンドルをステージングします。dist/agentフォルダの内容を対象 PC にコピーします。- 対象 PC 上で、インストーラーを実行します:
# Elevated PowerShell prompt & ".\deploy-agent.ps1" -NatsToken "your-secure-nats-token" -ForceConfig -Recreate
スクリプトの動作:
kanade-agent.exeをインストール先ディレクトリに配置します。- Windows レジストリパス (
HKLM:\SOFTWARE\Kanade\agent) 内の設定と NATS トークンを保護します。 - KanadeAgent サービスを登録して起動します。
サービスが起動すると、エージェントはアウトバウンド NATS 接続を確立し、コマンドストリームを購読し、オンラインのハートビートをフリートバックエンドに報告します。