Skip to content

Artifact Registry cleanup 未設定

ルール ID: gcp.artifactregistry.repo.cleanup-missingカテゴリ: hygiene ・ 必要な読み取り: インベントリのみ(初回スキャンで検出) 計画中

cleanup policy のないリポジトリでは、CI が生成する古いイメージが際限なく蓄積し、ストレージ課金が増え続けます。このルールは「蓄積が止まらない設定」のリポジトリを見つけます。

このページは判定規範に従う予定仕様です。閾値・観測窓の根拠(出典)は実装時に付記します。

何を無駄とみなすか

cleanup policy が未設定のまま、イメージ・バージョンの蓄積が過多になっているリポジトリ。古いビルド成果物の課金が自動では止まりません。

判定条件

  • リポジトリに cleanup policy が設定されていない
  • かつ、イメージ・バージョンの蓄積が過多である

必須 facts

  • cleanup policy の有無
  • リポジトリのバージョン数(蓄積の度合い)
  • 取得できる場合: 保存容量・最終更新日時

取得できない facts がある場合は「観測不能」と表示し、候補にしません(候補を捏造しない)。

誤検知・危険になり得る条件

  • リリース資産として全バージョンの恒久保持が要件のリポジトリ
  • 古いタグ・バージョンも本番から参照され続ける運用のリポジトリ
  • CI ジョブ等で独自の自動クリーンアップを既に運用している場合

実行前の確認

  • どのタグ・バージョンが実際にデプロイ設定から参照されているかを確認する
  • バージョンの保持要件(リリース保管・監査)を管理チームに確認する
  • IaC(Terraform 等)で管理されている場合は、コード側にポリシーを追加する

非破壊テストとロールバック

Safety Tier: low(提案するのは cleanup policy の追加という設定変更のみ)

  • ポリシーは条件に合致したバージョンを削除するため、まず dry-run で削除対象の一覧を確認し、意図しないバージョンが含まれないことを確かめてから有効化します
  • 保持ポリシー(keep 条件)を併用し、必要なバージョンを明示的に守ります
  • ロールバック: ポリシー自体はいつでも変更・削除できます。ただしポリシーによって削除されたバージョンは元に戻らないため、dry-run での確認を必須手順とします

効果検証

削減の確定は、変更前ベースラインと変更後請求の比較で行います(Verify)。ポリシー適用後、蓄積分の削除に応じてストレージ課金が下がります。