diff --git a/serverless.yml b/serverless.yml index a8e64107..c27c0658 100644 --- a/serverless.yml +++ b/serverless.yml @@ -1,9 +1,18 @@ service: retrofit-platform +frameworkVersion: '3' + provider: name: aws region: eu-west-2 architecture: x86_64 + + # REQUIRED for TRUE image Lambdas in Serverless v3 + ecr: + images: + modelEngineImage: + uri: ${env:ECR_URI}:${env:GITHUB_SHA} + environment: API_KEY: ${env:API_KEY} ENVIRONMENT: ${env:ENVIRONMENT} @@ -18,8 +27,6 @@ provider: DB_USERNAME: ${env:DB_USERNAME} DB_PASSWORD: ${env:DB_PASSWORD} DB_PORT: ${env:DB_PORT} - ECR_URI: ${env:ECR_URI} - GITHUB_SHA: ${env:GITHUB_SHA} SAP_PREDICTIONS_BUCKET: ${env:SAP_PREDICTIONS_BUCKET} CARBON_PREDICTIONS_BUCKET: ${env:CARBON_PREDICTIONS_BUCKET} HEAT_PREDICTIONS_BUCKET: ${env:HEAT_PREDICTIONS_BUCKET} @@ -35,11 +42,11 @@ plugins: - serverless-domain-manager custom: - custom: - pythonRequirements: - fileName: backend/app/requirements/requirements.txt - dockerizePip: true - pythonBin: python3.11 + pythonRequirements: + fileName: backend/app/requirements/requirements.txt + dockerizePip: true + pythonBin: python3.11 + customDomain: domainName: api.${self:provider.environment.DOMAIN_NAME} createRoute53Record: true @@ -47,7 +54,9 @@ custom: functions: - # ZIP-based Lambda (FastAPI) + # ───────────────────────────────────────────── + # ZIP-BASED FASTAPI LAMBDA + # ───────────────────────────────────────────── fastapi-backend: runtime: python3.11 handler: backend.app.main.handler @@ -59,10 +68,12 @@ functions: path: /{proxy+} method: ANY - # TRUE container-image Lambda (4 GB+ supported) + # ───────────────────────────────────────────── + # TRUE CONTAINER-IMAGE LAMBDA (4GB+ SUPPORTED) + # ───────────────────────────────────────────── model-engine-lambda: image: - uri: ${env:ECR_URI}:${env:GITHUB_SHA} + name: modelEngineImage timeout: 900 memorySize: 4096 role: EngineLambdaRole