diff --git a/infra/docker/development/sls-create/Dockerfile b/infra/docker/development/sls-create/Dockerfile index 07697c0..0ffcb27 100644 --- a/infra/docker/development/sls-create/Dockerfile +++ b/infra/docker/development/sls-create/Dockerfile @@ -13,7 +13,7 @@ RUN apt-get update && apt-get install -y \ # Node.jsのインストール(Serverless Framework用) RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && \ apt-get install -y nodejs && \ - npm install -g serverless@4 + npm install -g serverless@3 # AWS CLIのインストール RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" && \ diff --git a/infra/docker/development/sls-deploy/Dockerfile b/infra/docker/development/sls-deploy/Dockerfile index bc8a639..f35e312 100644 --- a/infra/docker/development/sls-deploy/Dockerfile +++ b/infra/docker/development/sls-deploy/Dockerfile @@ -13,7 +13,7 @@ RUN apt-get update && apt-get install -y \ # Node.jsのインストール(Serverless Framework用) RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && \ apt-get install -y nodejs && \ - npm install -g serverless@4 + npm install -g serverless@3 # AWS CLIのインストール RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" && \ diff --git a/serverless/package-lock.json b/serverless/package-lock.json index 259dcc1..a5677f9 100644 --- a/serverless/package-lock.json +++ b/serverless/package-lock.json @@ -5,6 +5,7 @@ "packages": { "": { "devDependencies": { + "serverless-better-credentials": "^2.0.1", "serverless-domain-manager": "^8.0.0", "serverless-iam-roles-per-function": "^3.2.0", "serverless-lambda-edge-pre-existing-cloudfront": "^1.2.0", @@ -4521,7 +4522,6 @@ "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=8" } @@ -7605,7 +7605,6 @@ "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", @@ -8779,6 +8778,24 @@ "node": ">=12.0" } }, + "node_modules/serverless-better-credentials": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/serverless-better-credentials/-/serverless-better-credentials-2.0.1.tgz", + "integrity": "sha512-CKRb+zP8HwThk2nD1t7kNHXn2bTYuPqaGvOnJ+PQq65wvJrLXbid6zZeSeaN506VpUp7zkOXgH8Qs3XGtK8dVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "open": "^8.4.2" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "@serverless/utils": "^6.0.2", + "aws-sdk": "^2.567.0", + "serverless": "^2 || ^3" + } + }, "node_modules/serverless-domain-manager": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/serverless-domain-manager/-/serverless-domain-manager-8.0.0.tgz", diff --git a/serverless/package.json b/serverless/package.json index fdc6c8e..a537739 100644 --- a/serverless/package.json +++ b/serverless/package.json @@ -1,5 +1,6 @@ { "devDependencies": { + "serverless-better-credentials": "^2.0.1", "serverless-domain-manager": "^8.0.0", "serverless-iam-roles-per-function": "^3.2.0", "serverless-lambda-edge-pre-existing-cloudfront": "^1.2.0", diff --git a/serverless/serverless-global.yml b/serverless/serverless-global.yml index 4a4aeb7..65d4b69 100644 --- a/serverless/serverless-global.yml +++ b/serverless/serverless-global.yml @@ -50,13 +50,10 @@ custom: includeLayers: true number: 3 -stages: - default: - params: ${file(./.env.${sls:stage}.yml)} - stg: - params: ${file(./.env.stg.yml)} - prd: - params: ${file(./.env.prd.yml)} +params: + default: ${file(./.env.${sls:stage}.yml)} + stg: ${file(./.env.stg.yml)} + prd: ${file(./.env.prd.yml)} resources: Resources: @@ -111,6 +108,7 @@ resources: Name: ${self:service}-${sls:stage}-lambda-edge-function-arn plugins: + - serverless-better-credentials # - serverless-iam-roles-per-function # roleごと置き換えるので使用せず - serverless-prune-plugin # - serverless-lambda-edge-pre-existing-cloudfront # Cloudformation管理ではなさそうなので自分で制御する diff --git a/serverless/serverless.yml b/serverless/serverless.yml index 3d6e6eb..a2ec258 100644 --- a/serverless/serverless.yml +++ b/serverless/serverless.yml @@ -3,12 +3,14 @@ # "service" is the name of this project. This will also be added to your AWS resource names. service: pj-name-serverless +frameworkVersion: "3" + provider: name: aws stage: stg region: ap-northeast-1 # 以下はlambdaのデフォルト設定(置き換えのものもマージのものもある) - runtime: python3.12 + runtime: python3.11 # memorySize: 128 # timeout: 10 # environment: @@ -453,14 +455,10 @@ custom: securityPolicy: tls_1_2 apiType: http autoDomain: false - -stages: - default: - params: ${file(./.env.${sls:stage}.yml)} - stg: - params: ${file(./.env.stg.yml)} - prd: - params: ${file(./.env.prd.yml)} +params: + default: ${file(./.env.${sls:stage}.yml)} + stg: ${file(./.env.stg.yml)} + prd: ${file(./.env.prd.yml)} resources: Resources: @@ -935,6 +933,7 @@ resources: Value: !Ref S3Bucket2 plugins: + - serverless-better-credentials - serverless-iam-roles-per-function - serverless-python-requirements - serverless-prune-plugin