0.32.0
·
12 commits
to dev
since this release
Changed
- 破壊的:
django-storagesを必須依存から[django]extra へ移しました。
django-storagesはdjangoを必須依存に持つため、extra 無しの
magic-pocketを入れるだけで Django 一式が入ってしまい、SQS worker 等の
非 Django container の image を細くできませんでした。
magic-pocket[django]を使っている Django プロジェクトは無影響です。
extra 無しで S3 storage を使っていた場合はmagic-pocket[django]に
切り替えてください - build context の other-read チェックの警告を強化しました (deploy は通るのに
Lambda が INIT で必ず死ぬ状態に気付きにくかったため)。警告にファイル名に加えて
mode (600 等) を出し、build ログに埋もれないよう deploy の最後にも再掲します。
さらに management Lambda の INIT 失敗エラーには、build 時に検出済みのファイルが
あればそれを列挙して原因の切り分けを短縮します
Fixed
- SSO 失効や未認証の状態で CLI を実行すると botocore の traceback (約 100 行)
がそのまま流れていたのを、原因 1 行 + 認証手順の案内 + 非ゼロ exit に
変換しました。pocket deployの事前チェックだけでなく全サブコマンドが対象です
(pocket resource dsql endpoint等)。あわせて botocore.tokens が出す
SSO token refresh attempt failedの WARNING traceback も抑制しています
Added
get_databases()が DATABASE_URL のクエリパラメータ (?ATOMIC_REQUESTS=True
等) を検出したとき、パラメータ名を挙げて警告するようにしました。
django-environ のenv.db()と違い解釈されないため、黙って捨てると
「URL に書いてあるのに効いていない」形で顕在化していました。
docs にも解釈されないことを明記していますpocket django deploy/pocket django promoteに--skip-migrateを追加しました。
migrateを確認ごと省きます。migrateは Lambda 経由で実際に DB へ接続するため
DB が停止・制限中だと失敗しますが、-yは「聞かれたことに全部 yes」の意味なので
非対話実行ではmigrateを外す手段がありませんでした
(pocket deployへ切替えるとcollectstaticも行われなくなる)