コンテンツにスキップ

失効ポリシーの選び方

失効ポリシーは「アップロードした画像をいつまで見せるか」をプロジェクト単位で決める設定です。ダッシュボードのプロジェクト設定(/p/<プロジェクト>/settings)でいつでも変更できます。

ポリシー挙動
PR クローズで失効(pr_close)PR がクローズ(マージ含む)されると、その PR の画像を即座に失効
N 日保持(retain_days)アップロードから指定日数(1〜365日)で失効。PR の状態は影響しない
無期限(forever)自動失効しない。手動失効のみ

PR クローズで失効(推奨・デフォルトの考え方)

Section titled “PR クローズで失効(推奨・デフォルトの考え方)”

「レビュー中だけ見せたい」という Miseru の基本ユースケースに合うポリシーです。

  • PR クローズ時に GitHub Action が失効 API を呼び、画像はオリジンから即座に削除されます(以後の新規アクセスは 404)
  • pr_close プロジェクトの配信はキャッシュ許容時間が最大300秒に制限されているため、すでにキャッシュされた表示(GitHub Camo)もクローズから最大5分程度で切れます
  • PR がオープンな間は保持され続けます(長寿命 PR でも消えません)

「PR の状態と無関係に、一定期間で必ず消したい」場合のポリシーです。

  • 失効時刻はアップロード時点で確定します(アップロード時刻 + N日)
  • 期限が来た画像は毎時の自動スイープが削除します(実削除まで最大1時間程度のずれあり)
  • PR をクローズしても即座には消えません(期限まで保持)
  • 配信キャッシュの許容時間は保持期限に合わせて自動的に短くなるため、期限後にキャッシュで長く生き残ることはありません

「ドキュメントや README からも参照したい」など、恒久的に見せたい場合のポリシーです。

  • 自動失効は一切行われません
  • 消したくなったら、ダッシュボードまたは miseru expire <image_id> で手動失効します
  • 無期限の画像は長いキャッシュ許容で配信されるため、手動失効しても、キャッシュ済みの表示はしばらく残ることがあります(新規アクセスは即座に 404)
  • 手動失効はいつでも可能です(ダッシュボードの画像ごとの失効ボタン / CLI / API)
  • 失効後の新規アクセスは必ず 404 になります。ただし表示済みキャッシュの即時消去は保証されません(→ 制限とクォータ)
  • ポリシー変更は変更後にアップロードされた画像の失効時刻計算に反映されます。retain_days の期限はアップロード時点で確定しているため、変更が過去の画像の期限を書き換えることはありません
ユースケースおすすめ
AI エージェントの動作確認スクショを PR レビューで見せるPR クローズで失効
コンプライアンス上「N 日で必ず消す」要件があるN 日保持
デモ画像・ドキュメント用の画像も兼ねる無期限(+ 不要になったら手動失効)

迷ったら PR クローズで失効にしてください。「見せたい間(=レビュー中)だけ見せる」という Miseru の設計意図そのままの挙動です。