コマンドライン
magic-pocketには、pocketで始まるCLIが用意されています。
全てのコマンドは、--stageオプションで対象となるデプロイ環境を指定できます。
以下のコード例は、dev環境を操作する場合です。
pocket status
pocket status --stage=dev
環境の作成状況を確認します。
pocket deploy
pocket deploy --stage=dev
デプロイします。具体的には、pocket.tomlに記述がある場合、以下の作業を行います。記述がない場合、何もしません。
- NeonへのDB作成
- SecretsManagerへのNeon DBの接続情報登録
- ストレージ用にS3を作成し権限を設定
- コンテナイメージを作成しECRへアップロード
- フロントエンドSPAのビルドデータをアップロードするS3を作成
- CF: Lambdaに関わるCloudFormationを登録・更新
- LambdaのIAM Role, SecurityGroup, Function
- API Gateway の LogGroup, Api, ApiGatewayManagedOverrides, Route, Integration, lambda Permission, Certificate, DomainName, RecordSet, ApiMapping
- API Gatewayのhost名のoutput
- CF: SPAに関わるCloudFormationを登録・更新
- CloudFrontのOriginAccessControl, Certificate, CloudFrontFunction, Distribution, RecordSet
pocket django manage COMMAND ARGS
pocket django manage collectstatic --noinput --stage=dev
django management commandを実行
pocket django storage upload STORAGE
pocket django storage upload static --stage=dev
ローカルのFileSystemStorageから対象ステージのS3Boto3Storageへデータをsync。STORAGEはsettings.pyのSTORAGESのキー名です。
pocket resource awscontainer status
pocket resource awscontainer status --stage=dev
Lambdaの作成状況を確認
pocket resource awscontainer secretsmanager list
pocket resource awscontainer secretsmanager list --stage=dev
SecretsManagerの値を確認
pocket resource awscontainer yaml
pocket resource awscontainer yaml --stage=dev
CloudFormation用のyamlファイルを確認
pocket resource awscontainer yaml-diff
pocket resource awscontainer yaml-diff --stage=dev
CloudFormation用のyamlファイルの差分を確認
pocket resource neon status
pocket resource neon status --stage=dev
Neonの作成状況を確認
pocket resource s3 status
pocket resource s3 status --stage=dev
S3バケットの作成状況を確認
pocket resource spa status
pocket resource spa status --stage=dev
SPAアップロード先S3バケットの作成状況を確認