アダプタ検証状況
アダプタ検証状況と実接続設定
Section titled “アダプタ検証状況と実接続設定”記録日: 2026-10-17。検証レベルを混同しない。モック成功・型検査・互換サービス成功は、本番サービスの接続確認ではない。
| Adapter | 実施範囲 | 確認内容 | 未検証の範囲 | 必要な設定・前提 |
|---|---|---|---|---|
| LocalStorageAdapter | 実ローカルFS/real filesystem | 一時ディレクトリで読み書き・パス封じ込め・削除。 / Temporary files, containment and deletion. | OS別の権限・共有FS。 / OS permissions and network filesystems. | baseDir; optional baseUrl. |
| S3StorageAdapter | 互換実接続/MinIO | PUT/GET署名URL、UTF-8メタデータ、一覧・コピー・移動・不正署名拒否。 / Signed URLs, UTF-8 metadata, listing/copy/move and bad-signature rejection. | AWS S3のIAM、STS、一時認証、リージョン挙動。 / AWS IAM/STS/session credentials and regional behavior. | region, bucket, accessKeyId, secretAccessKey; optional endpoint/forcePathStyle。専用テストバケットと最小権限。 / Dedicated test bucket and permissions. |
| R2StorageAdapter | 互換実接続/MinIO | S3互換要求の実通信。Cloudflare実環境ではない。 / Real compatible requests, not Cloudflare R2. | Cloudflare認証・権限・カスタムドメイン。 / Cloudflare credentials, permissions and custom domains. | accountId, bucket, accessKeyId, secretAccessKey; custom endpoint/region for compatible tests. |
| OCIStorageAdapter | 互換実接続/MinIO | ハッシュ付きアップロードと共通S3操作。OCI実環境ではない。 / Hash-bearing uploads and common S3 operations, not OCI. | OCI Customer Secret Key、namespace、Retention/Object Lockの実効性。 / OCI credentials, namespace and enforced retention/Object Lock. | namespace, region, bucket, accessKeyId, secretAccessKey; optional endpoint; retention tests require a separately configured bucket. |
再現手順
# public/ root; Docker + Node >=24 + Bun 1.4.0bun install --frozen-lockfile --ignore-scriptsbun run test:adapters:localbun run test:containerstest:adapters:local はD1/Better AuthとSupabase・Mongo・Convex・コンテンツ合成を実行する。test:containers は加えて既存MinIO/PostgreSQL検証を実行する。TOOLS_TEST_CONTAINERS=1 bun run verify でも両方が必須になる。
ログは各所有パッケージまたはルートの.verification/logs/。固有Compose projectとloopback動的ポートを使い、テストデータ/コンテナ/一時ファイルはfinallyで削除。外部サービス用の設定はアプリへ渡す値であり、上記ローカルrunnerが自動的に外部へ接続する環境変数ではない。外部接続試験は専用の非本番リソースと本人の許可を用意し、成功証跡・対象版・未実施項目を追記する。
References: Miniflare D1, PostgREST, Convex self-hosting, Better Auth SQLite.