diff --git a/README.md b/README.md index 78fae4ab..112b5b23 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ To use Lambda Web Adapter with docker images, package your web app (http api) in By default, Lambda Web Adapter assumes the web app is listening on port 8080. If not, you can specify the port via [configuration](#configurations). ```dockerfile -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.7.2 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.0 /lambda-adapter /opt/extensions/lambda-adapter ``` Pre-compiled Lambda Web Adapter binaries are provided in ECR public repo: [public.ecr.aws/awsguru/aws-lambda-adapter](https://gallery.ecr.aws/awsguru/aws-lambda-adapter). @@ -39,7 +39,7 @@ Below is a Dockerfile for [an example nodejs application](examples/expressjs). ```dockerfile FROM public.ecr.aws/docker/library/node:20-slim -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.7.2 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.0 /lambda-adapter /opt/extensions/lambda-adapter ENV PORT=7000 WORKDIR "/var/task" ADD src/package.json /var/task/package.json @@ -58,15 +58,15 @@ AWS Lambda Web Adapter also works with AWS managed Lambda runtimes. You need to 1. attach Lambda Web Adapter layer to your function. #### AWS Commercial Regions - 1. x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:18` - 2. arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:18` + 1. x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:19` + 2. arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:19` #### AWS China Regions 1. cn-north-1 (Beijing) - - x86_64: `arn:aws-cn:lambda:cn-north-1:041581134020:layer:LambdaAdapterLayerX86:18` + - x86_64: `arn:aws-cn:lambda:cn-north-1:041581134020:layer:LambdaAdapterLayerX86:19` 2. cn-northwest-1 (Ningxia) - - x86_64: `arn:aws-cn:lambda:cn-northwest-1:069767869989:layer:LambdaAdapterLayerX86:18` + - x86_64: `arn:aws-cn:lambda:cn-northwest-1:069767869989:layer:LambdaAdapterLayerX86:19` 2. configure Lambda environment variable `AWS_LAMBDA_EXEC_WRAPPER` to `/opt/bootstrap`. 3. set function handler to your web application start up script. e.g. `run.sh`. diff --git a/examples/aspnet-mvc-zip/README.md b/examples/aspnet-mvc-zip/README.md index 60c0c62e..2d74e8e4 100644 --- a/examples/aspnet-mvc-zip/README.md +++ b/examples/aspnet-mvc-zip/README.md @@ -17,7 +17,7 @@ Resources: AWS_LAMBDA_EXEC_WRAPPER: /opt/bootstrap RUST_LOG: info Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:18 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:19 Events: Api: Type: HttpApi diff --git a/examples/aspnet-mvc-zip/template.yaml b/examples/aspnet-mvc-zip/template.yaml index d1fd4e8b..164de730 100644 --- a/examples/aspnet-mvc-zip/template.yaml +++ b/examples/aspnet-mvc-zip/template.yaml @@ -22,7 +22,7 @@ Resources: AWS_LAMBDA_EXEC_WRAPPER: /opt/bootstrap RUST_LOG: info Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:18 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:19 Events: Api: Type: HttpApi diff --git a/examples/aspnet-mvc/README.md b/examples/aspnet-mvc/README.md index 715dd2b9..086b8ddf 100644 --- a/examples/aspnet-mvc/README.md +++ b/examples/aspnet-mvc/README.md @@ -23,7 +23,7 @@ RUN dotnet publish "AspNetLambdaWebAdapter.csproj" -c Release -o /app/publish FROM base AS final ENV ASPNETCORE_URLS=http://+:8080 -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.7.2 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.0 /lambda-adapter /opt/extensions/lambda-adapter WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "AspNetLambdaWebAdapter.dll"] @@ -32,7 +32,7 @@ ENTRYPOINT ["dotnet", "AspNetLambdaWebAdapter.dll"] Line 12 copies lambda adapter binary into /opt/extenions. This is required to run ASP.NET application on Lambda. The `ASPNETCORE_URLS` environment variable is also set to 8080. This is required for the Lambda Web Adapter to work. ```dockerfile -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.7.2 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.0 /lambda-adapter /opt/extensions/lambda-adapter ``` ## Pre-requisites diff --git a/examples/aspnet-mvc/src/Dockerfile b/examples/aspnet-mvc/src/Dockerfile index 5bbd45a4..af8eeb01 100644 --- a/examples/aspnet-mvc/src/Dockerfile +++ b/examples/aspnet-mvc/src/Dockerfile @@ -12,7 +12,7 @@ RUN dotnet publish "AspNetLambdaWebAdapter.csproj" -c Release -o /app/publish FROM base AS final ENV ASPNETCORE_URLS=http://+: -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.7.2 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.0 /lambda-adapter /opt/extensions/lambda-adapter WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "AspNetLambdaWebAdapter.dll"] \ No newline at end of file diff --git a/examples/aspnet-webapi-zip/README.md b/examples/aspnet-webapi-zip/README.md index 3cea230e..5a00b302 100644 --- a/examples/aspnet-webapi-zip/README.md +++ b/examples/aspnet-webapi-zip/README.md @@ -17,7 +17,7 @@ Resources: AWS_LAMBDA_EXEC_WRAPPER: /opt/bootstrap RUST_LOG: info Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:18 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:19 Events: Api: Type: HttpApi diff --git a/examples/aspnet-webapi-zip/template.yaml b/examples/aspnet-webapi-zip/template.yaml index ff4fd275..921da3da 100644 --- a/examples/aspnet-webapi-zip/template.yaml +++ b/examples/aspnet-webapi-zip/template.yaml @@ -22,7 +22,7 @@ Resources: AWS_LAMBDA_EXEC_WRAPPER: /opt/bootstrap RUST_LOG: info Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:18 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:19 Events: Api: Type: HttpApi diff --git a/examples/deno-zip/README.md b/examples/deno-zip/README.md index 2c68ef4c..a4c17de5 100644 --- a/examples/deno-zip/README.md +++ b/examples/deno-zip/README.md @@ -19,7 +19,7 @@ We use `java11` runtime to get SnapStart support with one caveat: no runtime hoo Architectures: - x86_64 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:18 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:19 MemorySize: 512 Environment: Variables: diff --git a/examples/deno-zip/template.yaml b/examples/deno-zip/template.yaml index 1639bf99..b7364352 100644 --- a/examples/deno-zip/template.yaml +++ b/examples/deno-zip/template.yaml @@ -24,7 +24,7 @@ Resources: Architectures: - x86_64 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:18 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:19 MemorySize: 512 Environment: # More info about Env Vars: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#environment-object Variables: diff --git a/examples/expressjs-zip/README.md b/examples/expressjs-zip/README.md index e590e10b..757e6d65 100644 --- a/examples/expressjs-zip/README.md +++ b/examples/expressjs-zip/README.md @@ -7,8 +7,8 @@ This example shows how to use Lambda Adapter to run an express.js application on We add Lambda Adapter layer to the function and configure wrapper script. 1. attach Lambda Adapter layer to your function. This layer containers Lambda Adapter binary and a wrapper script. - 1. x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:18` - 2. arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:18` + 1. x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:19` + 2. arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:19` 2. configure Lambda environment variable `AWS_LAMBDA_EXEC_WRAPPER` to `/opt/bootstrap`. This is a wrapper script included in the layer. 3. set function handler to a startup command: `run.sh`. The wrapper script will execute this command to boot up your application. diff --git a/examples/expressjs-zip/template.yaml b/examples/expressjs-zip/template.yaml index 34525bb2..ab217180 100644 --- a/examples/expressjs-zip/template.yaml +++ b/examples/expressjs-zip/template.yaml @@ -25,7 +25,7 @@ Resources: AWS_LAMBDA_EXEC_WRAPPER: /opt/bootstrap RUST_LOG: info Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:18 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:19 Events: RootPath: Type: Api diff --git a/examples/expressjs/README.md b/examples/expressjs/README.md index 16dca123..7d535f02 100644 --- a/examples/expressjs/README.md +++ b/examples/expressjs/README.md @@ -10,7 +10,7 @@ The top level folder is a typical AWS SAM project. The `app` directory is an exp ```dockerfile FROM public.ecr.aws/docker/library/node:16.13.2-stretch-slim -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.7.2 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.0 /lambda-adapter /opt/extensions/lambda-adapter EXPOSE 8080 WORKDIR "/var/task" ADD src/package.json /var/task/package.json @@ -23,7 +23,7 @@ CMD ["node", "index.js"] Line 2 copies lambda adapter binary into /opt/extenions. This is the only change to run the express.js application on Lambda. ```dockerfile -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.7.2 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.0 /lambda-adapter /opt/extensions/lambda-adapter ``` ## Pre-requisites diff --git a/examples/expressjs/app/Dockerfile b/examples/expressjs/app/Dockerfile index 50a8fdb7..08763a76 100644 --- a/examples/expressjs/app/Dockerfile +++ b/examples/expressjs/app/Dockerfile @@ -1,5 +1,5 @@ FROM public.ecr.aws/docker/library/node:16.13.2-stretch-slim -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.7.2 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.0 /lambda-adapter /opt/extensions/lambda-adapter EXPOSE 8080 WORKDIR "/var/task" ADD src/package.json /var/task/package.json diff --git a/examples/fastapi-response-streaming-zip/README.md b/examples/fastapi-response-streaming-zip/README.md index 10a621f6..203089bf 100644 --- a/examples/fastapi-response-streaming-zip/README.md +++ b/examples/fastapi-response-streaming-zip/README.md @@ -7,8 +7,8 @@ This example shows how to use Lambda Web Adapter to run a FastAPI application wi We add Lambda Web Adapter layer to the function and configure wrapper script. 1. attach Lambda Adapter layer to your function. This layer containers Lambda Adapter binary and a wrapper script. - 1. x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:18` - 2. arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:18` + 1. x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:19` + 2. arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:19` 2. configure Lambda environment variable `AWS_LAMBDA_EXEC_WRAPPER` to `/opt/bootstrap`. This is a wrapper script included in the layer. 3. set function handler to a startup command: `run.sh`. The wrapper script will execute this command to boot up your application. @@ -30,7 +30,7 @@ This is the resource for Lambda function. The function urls's invoke mode is con AWS_LWA_INVOKE_MODE: response_stream PORT: 8000 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:18 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:19 FunctionUrlConfig: AuthType: NONE InvokeMode: RESPONSE_STREAM diff --git a/examples/fastapi-response-streaming-zip/template.yaml b/examples/fastapi-response-streaming-zip/template.yaml index 5ba42298..58820d74 100644 --- a/examples/fastapi-response-streaming-zip/template.yaml +++ b/examples/fastapi-response-streaming-zip/template.yaml @@ -22,7 +22,7 @@ Resources: AWS_LWA_INVOKE_MODE: response_stream PORT: 8000 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:18 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:19 FunctionUrlConfig: AuthType: NONE InvokeMode: RESPONSE_STREAM diff --git a/examples/fastapi-response-streaming/README.md b/examples/fastapi-response-streaming/README.md index d9cfe3cb..c652a34a 100644 --- a/examples/fastapi-response-streaming/README.md +++ b/examples/fastapi-response-streaming/README.md @@ -14,7 +14,7 @@ This function is packaged as a Docker image. Here is the content of the Dockerfi ```dockerfile FROM public.ecr.aws/docker/library/python:3.12.0-slim-bullseye -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.7.2 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.0 /lambda-adapter /opt/extensions/lambda-adapter WORKDIR /app ADD . . @@ -26,7 +26,7 @@ CMD ["python", "main.py"] Notice that we only need to add the second line to install Lambda Web Adapter. ```dockerfile -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.7.2 /lambda-adapter /opt/extensions/ +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.0 /lambda-adapter /opt/extensions/ ``` In the SAM template, we use an environment variable `AWS_LWA_INVOKE_MODE: RESPONSE_STREAM` to configure Lambda Web Adapter in response streaming mode. And adding a function url with `InvokeMode: RESPONSE_STREAM`. diff --git a/examples/fastapi-response-streaming/app/Dockerfile b/examples/fastapi-response-streaming/app/Dockerfile index d8c14803..b786ef50 100644 --- a/examples/fastapi-response-streaming/app/Dockerfile +++ b/examples/fastapi-response-streaming/app/Dockerfile @@ -1,5 +1,5 @@ FROM public.ecr.aws/docker/library/python:3.12.0-slim-bullseye -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.7.2 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.0 /lambda-adapter /opt/extensions/lambda-adapter WORKDIR /app ADD . . diff --git a/examples/fastapi-zip/README.md b/examples/fastapi-zip/README.md index 54105d79..ce71de41 100644 --- a/examples/fastapi-zip/README.md +++ b/examples/fastapi-zip/README.md @@ -7,8 +7,8 @@ This example shows how to use Lambda Web Adapter to run a FastAPI application on We add Lambda Web Adapter layer to the function and configure wrapper script. 1. attach Lambda Adapter layer to your function. This layer containers Lambda Adapter binary and a wrapper script. - 1. x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:18` - 2. arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:18` + 1. x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:19` + 2. arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:19` 2. configure Lambda environment variable `AWS_LAMBDA_EXEC_WRAPPER` to `/opt/bootstrap`. This is a wrapper script included in the layer. 3. set function handler to a startup command: `run.sh`. The wrapper script will execute this command to boot up your application. diff --git a/examples/fastapi-zip/template.yaml b/examples/fastapi-zip/template.yaml index d084dd1a..fdee141e 100644 --- a/examples/fastapi-zip/template.yaml +++ b/examples/fastapi-zip/template.yaml @@ -21,7 +21,7 @@ Resources: AWS_LAMBDA_EXEC_WRAPPER: /opt/bootstrap PORT: 8000 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:18 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:19 Events: ApiEvent: Type: HttpApi diff --git a/examples/fastapi/README.md b/examples/fastapi/README.md index 60cfe359..d24ff299 100644 --- a/examples/fastapi/README.md +++ b/examples/fastapi/README.md @@ -10,7 +10,7 @@ The top level folder is a typical AWS SAM project. The `app` directory is a Fast ```dockerfile FROM public.ecr.aws/docker/library/python:3.8.12-slim-buster -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.7.2 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.0 /lambda-adapter /opt/extensions/lambda-adapter ENV PORT=8000 WORKDIR /var/task COPY requirements.txt ./ @@ -22,7 +22,7 @@ CMD exec uvicorn --port=$PORT main:app Line 2 copies lambda web adapter binary into /opt/extensions. This is the change to run the FastAPI application on Lambda. ```dockerfile -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.7.2 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.0 /lambda-adapter /opt/extensions/lambda-adapter ``` ## Pre-requisites diff --git a/examples/fastapi/app/Dockerfile b/examples/fastapi/app/Dockerfile index f4d37d18..5034a4c1 100644 --- a/examples/fastapi/app/Dockerfile +++ b/examples/fastapi/app/Dockerfile @@ -1,5 +1,5 @@ FROM public.ecr.aws/docker/library/python:3.11-slim -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.7.2 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.0 /lambda-adapter /opt/extensions/lambda-adapter ENV PORT=8000 WORKDIR /var/task COPY requirements.txt ./ diff --git a/examples/flask-zip/README.md b/examples/flask-zip/README.md index a72f747d..65bd067e 100644 --- a/examples/flask-zip/README.md +++ b/examples/flask-zip/README.md @@ -7,8 +7,8 @@ This example shows how to use Lambda Adapter to run an Flask application on mana We add Lambda Adapter layer to the function and configure wrapper script. 1. attach Lambda Adapter layer to your function. This layer containers Lambda Adapter binary and a wrapper script. - 1. x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:18` - 2. arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:18` + 1. x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:19` + 2. arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:19` 2. configure Lambda environment variable `AWS_LAMBDA_EXEC_WRAPPER` to `/opt/bootstrap`. This is a wrapper script included in the layer. 3. set function handler to a startup command: `run.sh`. The wrapper script will execute this command to boot up your application. diff --git a/examples/flask-zip/template.yaml b/examples/flask-zip/template.yaml index 96fa3f18..dbdaa02d 100644 --- a/examples/flask-zip/template.yaml +++ b/examples/flask-zip/template.yaml @@ -21,7 +21,7 @@ Resources: AWS_LAMBDA_EXEC_WRAPPER: /opt/bootstrap PORT: 8000 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:18 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:19 Events: ApiEvent: Type: HttpApi diff --git a/examples/flask/README.md b/examples/flask/README.md index 3827c493..e033c534 100644 --- a/examples/flask/README.md +++ b/examples/flask/README.md @@ -10,7 +10,7 @@ The top level folder is a typical AWS SAM project. The `app` directory is a flas ```dockerfile FROM public.ecr.aws/docker/library/python:3.8.12-slim-buster -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.7.2 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.0 /lambda-adapter /opt/extensions/lambda-adapter WORKDIR /var/task COPY app.py requirements.txt ./ RUN python3.8 -m pip install -r requirements.txt @@ -20,7 +20,7 @@ CMD ["gunicorn", "-b=:8080", "-w=1", "app:app"] Line 2 copies lambda adapter binary into /opt/extensions. This is the only change to run the Flask application on Lambda. ```dockerfile -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.7.2 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.0 /lambda-adapter /opt/extensions/lambda-adapter ``` ## Pre-requisites diff --git a/examples/flask/app/Dockerfile b/examples/flask/app/Dockerfile index 077bc848..be6388c8 100644 --- a/examples/flask/app/Dockerfile +++ b/examples/flask/app/Dockerfile @@ -1,5 +1,5 @@ FROM public.ecr.aws/docker/library/python:3.12.1-slim -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.7.2 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.0 /lambda-adapter /opt/extensions/lambda-adapter WORKDIR /var/task COPY app.py requirements.txt ./ RUN python -m pip install -r requirements.txt diff --git a/examples/gin-zip/template.yaml b/examples/gin-zip/template.yaml index a53efdc9..6eb5708a 100644 --- a/examples/gin-zip/template.yaml +++ b/examples/gin-zip/template.yaml @@ -22,7 +22,7 @@ Resources: PORT: 8000 GIN_MODE: release Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:18 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:19 Events: APIEvent: Type: HttpApi diff --git a/examples/gin/app/Dockerfile b/examples/gin/app/Dockerfile index 9338a880..a9ac5d3a 100644 --- a/examples/gin/app/Dockerfile +++ b/examples/gin/app/Dockerfile @@ -8,7 +8,7 @@ RUN go mod download RUN GOOS=linux CGO_ENABLED=0 go build -o bootstrap . FROM alpine:3.9 RUN apk add ca-certificates -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.7.2 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.0 /lambda-adapter /opt/extensions/lambda-adapter COPY --from=build_base /tmp/gin/bootstrap /app/bootstrap ENV PORT=8000 GIN_MODE=release diff --git a/examples/nextjs-response-streaming/Dockerfile b/examples/nextjs-response-streaming/Dockerfile index 9d0d8485..d3035f32 100644 --- a/examples/nextjs-response-streaming/Dockerfile +++ b/examples/nextjs-response-streaming/Dockerfile @@ -5,7 +5,7 @@ COPY . . RUN npm update && npm run build FROM public.ecr.aws/lambda/nodejs:20 as runner -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.7.2 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.0 /lambda-adapter /opt/extensions/lambda-adapter ENV PORT=3000 NODE_ENV=production diff --git a/examples/nextjs-zip/template.yaml b/examples/nextjs-zip/template.yaml index 89d256ec..2cad2259 100644 --- a/examples/nextjs-zip/template.yaml +++ b/examples/nextjs-zip/template.yaml @@ -26,7 +26,7 @@ Resources: RUST_LOG: info PORT: 8000 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:18 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:19 Events: RootEvent: Type: HttpApi diff --git a/examples/nextjs/app/Dockerfile b/examples/nextjs/app/Dockerfile index e6b4830e..4a9658a1 100644 --- a/examples/nextjs/app/Dockerfile +++ b/examples/nextjs/app/Dockerfile @@ -4,7 +4,7 @@ COPY . . RUN npm ci && npm run build FROM public.ecr.aws/docker/library/node:20.9.0-slim as runner -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.7.2 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.0 /lambda-adapter /opt/extensions/lambda-adapter ENV PORT=3000 NODE_ENV=production ENV AWS_LWA_ENABLE_COMPRESSION=true WORKDIR /app diff --git a/examples/nginx-zip/template.yaml b/examples/nginx-zip/template.yaml index 71c57f7b..3ab035bc 100644 --- a/examples/nginx-zip/template.yaml +++ b/examples/nginx-zip/template.yaml @@ -24,7 +24,7 @@ Resources: RUST_LOG: debug PORT: 8080 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:18 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:19 - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:Nginx123X86:12 Events: Root: diff --git a/examples/nginx/Dockerfile b/examples/nginx/Dockerfile index 04501cbf..76965c65 100644 --- a/examples/nginx/Dockerfile +++ b/examples/nginx/Dockerfile @@ -1,6 +1,6 @@ FROM public.ecr.aws/awsguru/nginx:1.23.2023.3.11.1 -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.7.2 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.0 /lambda-adapter /opt/extensions/lambda-adapter # config files ADD nginx/conf/nginx.conf /opt/nginx/conf/nginx.conf diff --git a/examples/nginx/README.md b/examples/nginx/README.md index 6716738e..f0e513cb 100644 --- a/examples/nginx/README.md +++ b/examples/nginx/README.md @@ -14,7 +14,7 @@ a [Dockerfile](Dockerfile). ```dockerfile FROM public.ecr.aws/awsguru/nginx:1.23.2023.3.11.1 -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.7.2 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.0 /lambda-adapter /opt/extensions/lambda-adapter # config files ADD nginx/conf/nginx.conf /opt/nginx/conf/nginx.conf @@ -28,7 +28,7 @@ EXPOSE 8080 Line 3 copies Lambda adapter binary into /opt/extensions. This is the main change to run the Nginx server on Lambda. ```dockerfile -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.7.2 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.0 /lambda-adapter /opt/extensions/lambda-adapter ``` ## Pre-requisites diff --git a/examples/php-zip/template.yaml b/examples/php-zip/template.yaml index c6567e5d..f58e53bb 100644 --- a/examples/php-zip/template.yaml +++ b/examples/php-zip/template.yaml @@ -33,7 +33,7 @@ Resources: RUST_LOG: debug PORT: 8080 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:18 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:19 - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:Php82FpmNginxX86:13 Events: Root: diff --git a/examples/php/Dockerfile b/examples/php/Dockerfile index 4cc5add8..3ad51567 100644 --- a/examples/php/Dockerfile +++ b/examples/php/Dockerfile @@ -7,7 +7,7 @@ WORKDIR /var/task/app RUN composer install --prefer-dist --optimize-autoloader --no-dev --no-interaction FROM public.ecr.aws/awsguru/php:82.2023.3.11.1 -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.7.2 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.0 /lambda-adapter /opt/extensions/lambda-adapter COPY --from=builder /var/task /var/task # config files diff --git a/examples/php/README.md b/examples/php/README.md index c27717b4..8b7f0bb8 100644 --- a/examples/php/README.md +++ b/examples/php/README.md @@ -21,7 +21,7 @@ WORKDIR /var/task/app RUN composer install --prefer-dist --optimize-autoloader --no-dev --no-interaction FROM public.ecr.aws/awsguru/php:82.2023.3.11.1 -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.7.2 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.0 /lambda-adapter /opt/extensions/lambda-adapter COPY --from=builder /var/task /var/task # config files diff --git a/examples/rust-actix-web-zip/template.yaml b/examples/rust-actix-web-zip/template.yaml index 62658a76..5b67ed8e 100644 --- a/examples/rust-actix-web-zip/template.yaml +++ b/examples/rust-actix-web-zip/template.yaml @@ -22,7 +22,7 @@ Resources: Architectures: - arm64 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:18 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:19 Events: HttpEvents: Type: HttpApi # More info about API Event Source: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api diff --git a/examples/rust-axum-zip/template.yaml b/examples/rust-axum-zip/template.yaml index a32c78ff..3c9af3e6 100644 --- a/examples/rust-axum-zip/template.yaml +++ b/examples/rust-axum-zip/template.yaml @@ -20,7 +20,7 @@ Resources: Architectures: - arm64 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:18 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:19 Events: Root: Type: HttpApi # More info about API Event Source: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api diff --git a/examples/springboot-response-streaming-zip/README.md b/examples/springboot-response-streaming-zip/README.md index 751e222a..6059b668 100644 --- a/examples/springboot-response-streaming-zip/README.md +++ b/examples/springboot-response-streaming-zip/README.md @@ -31,7 +31,7 @@ In the configuration we have to specify the AWS Lambda adapter as a layer and co AWS_LAMBDA_EXEC_WRAPPER: /opt/bootstrap AWS_LWA_INVOKE_MODE: response_stream Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:18 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:19 ``` In this template, we enable SnapStart for this function. SnapStart drastically reduces cold start time for Java functions using Firecracker MicroVM snapshotting technology. Read more about SnapStart [here](https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html). diff --git a/examples/springboot-response-streaming-zip/template.yaml b/examples/springboot-response-streaming-zip/template.yaml index f30c35b6..8760c3ea 100644 --- a/examples/springboot-response-streaming-zip/template.yaml +++ b/examples/springboot-response-streaming-zip/template.yaml @@ -28,7 +28,7 @@ Resources: AWS_LAMBDA_EXEC_WRAPPER: /opt/bootstrap AWS_LWA_INVOKE_MODE: response_stream Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:18 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:19 FunctionUrlConfig: AuthType: NONE InvokeMode: RESPONSE_STREAM diff --git a/examples/springboot-zip/README.md b/examples/springboot-zip/README.md index 9f4931fb..7d44a258 100644 --- a/examples/springboot-zip/README.md +++ b/examples/springboot-zip/README.md @@ -30,7 +30,7 @@ In the configuration we have to specify the AWS Lambda adapter as a layer and co REMOVE_BASE_PATH: /v1 AWS_LAMBDA_EXEC_WRAPPER: /opt/bootstrap Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:18 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:19 ``` In this template, we enable SnapStart for this function. SnapStart drastically reduces cold start time for Java functions using Firecracker MicroVM snapshotting technology. Read more about SnapStart [here](https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html). diff --git a/examples/springboot-zip/template.yaml b/examples/springboot-zip/template.yaml index b13ef098..48c3fcc4 100644 --- a/examples/springboot-zip/template.yaml +++ b/examples/springboot-zip/template.yaml @@ -27,7 +27,7 @@ Resources: REMOVE_BASE_PATH: /v1 AWS_LAMBDA_EXEC_WRAPPER: /opt/bootstrap Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:18 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:19 Events: Root: Type: HttpApi diff --git a/examples/springboot/README.md b/examples/springboot/README.md index 9cd11f77..df4790ef 100644 --- a/examples/springboot/README.md +++ b/examples/springboot/README.md @@ -16,7 +16,7 @@ COPY pom.xml ./ RUN mvn -q clean package FROM public.ecr.aws/docker/library/amazoncorretto:8u322-al2 -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.7.2 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.0 /lambda-adapter /opt/extensions/lambda-adapter EXPOSE 8080 WORKDIR /opt COPY --from=build-image /task/target/petstore-0.0.1-SNAPSHOT.jar /opt @@ -26,7 +26,7 @@ CMD ["java", "-jar", "petstore-0.0.1-SNAPSHOT.jar"] Line 7 copies lambda adapter binary to /opt/extensions. This is the only change to run the Spring Boot application on Lambda. ```dockerfile -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.7.2 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.0 /lambda-adapter /opt/extensions/lambda-adapter ``` ### Remove the base path diff --git a/examples/springboot/app/Dockerfile b/examples/springboot/app/Dockerfile index 1ae83b20..a76387e1 100644 --- a/examples/springboot/app/Dockerfile +++ b/examples/springboot/app/Dockerfile @@ -5,7 +5,7 @@ COPY pom.xml ./ RUN mvn -q clean package FROM public.ecr.aws/docker/library/amazoncorretto:8u322-al2 -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.7.2 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.0 /lambda-adapter /opt/extensions/lambda-adapter EXPOSE 8080 WORKDIR /opt COPY --from=build-image /task/target/petstore-0.0.1-SNAPSHOT.jar /opt