magic-pocket-cli 0.12.0__tar.gz → 0.13.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/PKG-INFO +2 -2
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/cli/deploy_cli.py +6 -1
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/cli/migrate_cli.py +28 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pyproject.toml +2 -2
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/.gitignore +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/__init__.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/cli/__init__.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/cli/aws_auth.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/cli/awscontainer_cli.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/cli/cloudfront_cli.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/cli/cloudfront_keys_cli.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/cli/cloudfront_waf_cli.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/cli/destroy_cli.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/cli/dsql_cli.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/cli/main_cli.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/cli/neon_cli.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/cli/permissions_cli.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/cli/rds_cli.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/cli/runtime_config_cli.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/cli/s3_cli.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/cli/status_cli.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/cli/store_url_helper.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/cli/tidb_cli.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/cli/upstash_cli.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/cli/url_helper.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/cli/vpc_cli.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/cli/waf_cli.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/django_cli.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/mediator.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/__init__.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/aws/__init__.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/aws/builders/__init__.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/aws/builders/codebuild.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/aws/builders/depot.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/aws/builders/docker.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/aws/builders/dockerignore.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/aws/cloudformation.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/aws/ecr.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/aws/efs.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/aws/lambdahandler.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/aws/s3_utils.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/aws/state.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/awscontainer.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/cloudfront.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/cloudfront_acm.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/cloudfront_keys.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/cloudfront_waf.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/dsql.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/neon.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/rds.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/s3.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/tidb.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/upstash.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/vpc.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/templates/cloudformation/awscontainer.yaml +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/templates/cloudformation/cf_function_api_host.js +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/templates/cloudformation/cf_function_host_redirect_prelude.js +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/templates/cloudformation/cf_function_spa_auth.js +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/templates/cloudformation/cf_function_spa_fallback.js +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/templates/cloudformation/cloudfront.yaml +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/templates/cloudformation/cloudfront_acm.yaml +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/templates/cloudformation/cloudfront_keys.yaml +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/templates/cloudformation/cloudfront_waf.yaml +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/templates/cloudformation/vpc.yaml +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/templates/init/django-dotenv.env +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/templates/init/django-settings.py +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/templates/init/pocket.Dockerfile +0 -0
- {magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/templates/init/pocket_simple.toml +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: magic-pocket-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.13.0
|
|
4
4
|
Summary: CLI and deploy tools for magic-pocket.
|
|
5
5
|
Requires-Python: >=3.10
|
|
6
6
|
Requires-Dist: awscrt>=0.19.0
|
|
7
7
|
Requires-Dist: click>=8.1.7
|
|
8
8
|
Requires-Dist: deepdiff>=6.7.1
|
|
9
9
|
Requires-Dist: jinja2>=3.1.3
|
|
10
|
-
Requires-Dist: magic-pocket>=0.
|
|
10
|
+
Requires-Dist: magic-pocket>=0.13.0
|
|
11
11
|
Requires-Dist: pathspec>=1.0.4
|
|
12
12
|
Requires-Dist: python-on-whales>=0.68.0
|
|
13
13
|
Requires-Dist: pyyaml>=6.0.1
|
|
@@ -3,7 +3,7 @@ import webbrowser
|
|
|
3
3
|
|
|
4
4
|
import click
|
|
5
5
|
|
|
6
|
-
from pocket.context import Context
|
|
6
|
+
from pocket.context import Context, deploy_hash_report
|
|
7
7
|
from pocket.utils import echo
|
|
8
8
|
from pocket_cli.mediator import Mediator
|
|
9
9
|
from pocket_cli.resources.aws.state import StateStore
|
|
@@ -173,6 +173,11 @@ def _deploy_pipeline(context: Context, *, openpath=None, skip_frontend=False):
|
|
|
173
173
|
promote 時は context.awscontainer.promote_commit_hash が設定済みで、
|
|
174
174
|
deploy_init 内の image build が retag に置き換わる以外は deploy と同一。
|
|
175
175
|
"""
|
|
176
|
+
# DEPLOY_HASH の解決結果を deploy 時に 1 回可視化する (env 伝播漏れで
|
|
177
|
+
# 黙って git short hash に落ちる footgun の早期発見用)。
|
|
178
|
+
deploy_hash_message = deploy_hash_report(context)
|
|
179
|
+
if deploy_hash_message:
|
|
180
|
+
echo.info(deploy_hash_message)
|
|
176
181
|
# CodeBuildがソースアップロードにstate bucketを必要とするため、先に作成
|
|
177
182
|
state_store = _create_state_store(context)
|
|
178
183
|
state_store.ensure_bucket()
|
|
@@ -17,6 +17,7 @@ import hashlib
|
|
|
17
17
|
import click
|
|
18
18
|
import yaml
|
|
19
19
|
|
|
20
|
+
from pocket import __version__
|
|
20
21
|
from pocket.context import Context
|
|
21
22
|
from pocket.utils import echo
|
|
22
23
|
from pocket_cli.cli.deploy_cli import get_resources
|
|
@@ -180,6 +181,32 @@ def _report_secret_path(info: dict) -> None:
|
|
|
180
181
|
echo.info("%s: %s" % (info["key"], label))
|
|
181
182
|
|
|
182
183
|
|
|
184
|
+
def _warn_runtime_bump_required(stage: str) -> None:
|
|
185
|
+
"""secret-paths 移設で旧パスが削除されることの事前警告。
|
|
186
|
+
|
|
187
|
+
移設は copy→旧削除を一括で行うため、この stage に deploy 済みの Lambda runtime
|
|
188
|
+
(magic-pocket[django]) が古いままだと、旧パス (削除済) を参照して DATABASE_URL を
|
|
189
|
+
解決できず cold start の INIT で落ちる。移設後に runtime を CLI と同版へ bump して
|
|
190
|
+
再デプロイするまで stage が黙って壊れる footgun を、移設前に明示する
|
|
191
|
+
(template-hash が「先に deploy」で中断するのと同じ思想の事前ガード)。
|
|
192
|
+
"""
|
|
193
|
+
echo.warning(
|
|
194
|
+
"⚠ 移設すると旧パスは削除されます (copy→旧削除は一括)。この stage に "
|
|
195
|
+
"deploy 済みの Lambda runtime (magic-pocket[django]) が古いままだと、"
|
|
196
|
+
"旧パスを参照して DATABASE_URL を解決できず cold start の INIT で落ちます。"
|
|
197
|
+
)
|
|
198
|
+
echo.warning(
|
|
199
|
+
" 移設後は速やかに runtime を CLI と同版へ上げて再デプロイしてください:\n"
|
|
200
|
+
" uv add 'magic-pocket[django]>=%s'\n"
|
|
201
|
+
" pocket deploy --stage=%s (Django なら pocket django deploy --stage=%s)"
|
|
202
|
+
% (__version__, stage, stage)
|
|
203
|
+
)
|
|
204
|
+
echo.warning(
|
|
205
|
+
" ※ copy と旧削除が一括のため完全な無停止移行にはなりません。warm instance は "
|
|
206
|
+
"recycle まで生存するので、移設直後に再デプロイすれば影響を最小化できます。"
|
|
207
|
+
)
|
|
208
|
+
|
|
209
|
+
|
|
183
210
|
def _run_secret_paths(stage: str, *, yes: bool, dry_run: bool) -> None:
|
|
184
211
|
"""stored user secret を旧キー基準→新 type 基準パスへ移設する (冪等)。"""
|
|
185
212
|
from pocket_cli.mediator import Mediator
|
|
@@ -207,6 +234,7 @@ def _run_secret_paths(stage: str, *, yes: bool, dry_run: bool) -> None:
|
|
|
207
234
|
"secret-paths: 移設対象はありません (全て移行済み or 未 provision)。"
|
|
208
235
|
)
|
|
209
236
|
return
|
|
237
|
+
_warn_runtime_bump_required(stage)
|
|
210
238
|
if dry_run:
|
|
211
239
|
echo.info("secret-paths: --dry-run のため実行はしません。")
|
|
212
240
|
return
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "magic-pocket-cli"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.13.0"
|
|
4
4
|
description = "CLI and deploy tools for magic-pocket."
|
|
5
5
|
requires-python = ">=3.10"
|
|
6
6
|
dependencies = [
|
|
7
|
-
"magic-pocket>=0.
|
|
7
|
+
"magic-pocket>=0.13.0",
|
|
8
8
|
"click>=8.1.7",
|
|
9
9
|
"jinja2>=3.1.3",
|
|
10
10
|
"python-on-whales>=0.68.0",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/aws/builders/__init__.py
RENAMED
|
File without changes
|
{magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/aws/builders/codebuild.py
RENAMED
|
File without changes
|
{magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/aws/builders/depot.py
RENAMED
|
File without changes
|
{magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/aws/builders/docker.py
RENAMED
|
File without changes
|
|
File without changes
|
{magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/aws/cloudformation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/resources/aws/lambdahandler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/templates/cloudformation/vpc.yaml
RENAMED
|
File without changes
|
{magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/templates/init/django-dotenv.env
RENAMED
|
File without changes
|
{magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/templates/init/django-settings.py
RENAMED
|
File without changes
|
{magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/templates/init/pocket.Dockerfile
RENAMED
|
File without changes
|
{magic_pocket_cli-0.12.0 → magic_pocket_cli-0.13.0}/pocket_cli/templates/init/pocket_simple.toml
RENAMED
|
File without changes
|