Repository navigation
0.37.0
·
99 commits
to dev
since this release
更新時の作業 (AWS account を複数の stage / project で共有している場合)
- 同じ AWS account を使うすべての stage・project を、この版以上の pocket で deploy します
(backup の保存先・ロール、CodeBuild のロールは deploy / ビルド時に自動で新しい名前へ切り替わります)。 - その後、account / region ごとに 1 回
pocket cleanup-deprecated --stage=<stage>を実行し、
旧バージョンが残した共有リソース (backup vaultpocket-backup、IAM role
forge-pocket-backup-role) を削除します。未更新の stage が残っていれば、参照を検出して中止します。
旧 vault に recovery point が残っている間は vault を残し、すべて失効する日付を案内します
(--delete-recovery-pointsでデータごと削除できます)。
Added
pocket cleanup-deprecatedを追加しました。旧バージョンが残した account 単位の共有リソースを、
どの stage からも参照されていないことを検査した上で削除します (--dry-run/-y対応)。
Changed
- AWS Backup の vault とサービスロールを、account 共有の固定名 (
pocket-backup/
forge-pocket-backup-role) から stage 単位の名前 ({stage}-{project}-{namespace}-backup/
…-backup-role) に改めました。所有者のいない共有物だったものが stage の所有物になり、
pocket destroyがサービスロールも削除するようになります (vault と recovery point は
従来どおり残します)。更新後の最初の deploy が plan の保存先と selection のロールを
自動で切り替えるため、手作業は不要です。
旧 vault の recovery point は移動されず、取得時の保持期限で失効するまで
pocket backup cleanup/ destroy の件数表示の対象外になります (復元には使えます)。
旧 vault・旧ロールは他 stage / project と共有のため deploy / destroy では削除せず、
pocket cleanup-deprecatedで削除します (上の「更新時の作業」を参照)。 - CodeBuild のサービスロール名から、pocket の命名規約と無関係だった
forge-prefix を
外しました (forge-{prefix}codebuild-role→{prefix}codebuild-role)。次のビルドで
新しいロールを作って CodeBuild project を付け替え、旧ロールは pocket が削除します。
IAM の role 名をforge-*で絞っている deploy role は、許可パターンの更新が必要です。