プラグインのデプロイ
組み込みプラグインは呼び出し元 Worker と一緒に配布します。動的プラグインはバンドルとポリシーを別途公開し、テナントのインストールで公開済みバージョンを使います。
組み込み方式の配布
Section titled “組み込み方式の配布”ソースやパッケージを適切な Worker に import・登録し、ビルドに含めます。npm パッケージをインストールするだけでは、デプロイ済みサービスは変わりません。ライブラリのバージョンをデプロイする Authrim のソースに合わせ、実際の呼び出し側で確認してください。
動的 Worker の要件
Section titled “動的 Worker の要件”Setup の features.pluginDynamicWorkers.enabled で動的実行を有効にします。R2 の有効化も必要です。Plugin Runner、その DB と鍵、PLUGIN_LOADER バインディング、PLUGIN_BUNDLES ストレージを用意します。Cloudflare Dynamic Workers の利用可否と課金条件は、対象アカウントで確認してください。
マニフェストの検出
Section titled “マニフェストの検出”Setup はプロジェクト直下、plugins/、packages/ 配下から authrim.plugin-worker-capabilities.json を上限付きで検索します。ビルド・依存ディレクトリや隠しエントリーは除外します。node_modules の中にあるだけのパッケージは、自動検出されません。
マニフェストには ID、バックエンド、テナントのスコープ、公開範囲、能力、ホスト機能、リソース、認証情報、外部通信先、相対パスの Worker バンドルを宣言します。パスはプロジェクト内に限定します。authrim.extension-capabilities.json は別の拡張形式であり、プラグインマニフェストの別名ではありません。
設定済み環境で、まずデプロイ内容を確認します。
pnpm run setup deploy --env dev --dry-run確認した設定をデプロイします。
pnpm run setup deploy --env dev公開処理はバンドルの内容を検証し、plugins/{pluginId}/{codeSha256}.json にアップロードします。コードのダイジェスト、能力マニフェストのダイジェスト、ポリシーを含めたバージョンを Runner の DB に記録します。Runner は読み込み前に R2 オブジェクトのダイジェストを確認します。
コードが同じでも、対象のポリシーが変わればバージョンは変わります。保存済みの行を手動編集して、公開したバージョンの意味を変えないでください。
有効化とリソース
Section titled “有効化とリソース”成果物の公開とテナントでの有効化は別です。必要な認証情報とリソースを設定してから有効にします。プラグイン用 D1・KV・R2 は、利用可能になる前に作成やデプロイの確定処理が必要な場合があります。そのため、要求が受理されても処理中という状態を返すことがあります。
インフラの認証情報は Setup・Control の操作側に保持します。独自コードに渡すのは承認済みインターフェースとスコープを限定したラッパーで、Cloudflare のリソース作成トークンではありません。
更新とアンインストール
Section titled “更新とアンインストール”既存インストールを更新する場合は、承認済みの動的バージョンをプラットフォームの rollout 操作で展開します。テナントごとの進捗と失敗を確認してください。新しい成果物が公開されたことだけでは、全インストールの更新完了は確認できません。
無効化とアンインストールは別です。アンインストールにはリソースの削除・確定処理が必要な場合があります。全データが即座に削除されると考えず、完了状態とリソースのポリシーを確認してください。