You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+8-8
Original file line number
Diff line number
Diff line change
@@ -1,20 +1,20 @@
1
1
# AWS Lambda Java Base Images
2
2
3
-
This project provides the missing [AWS Lambda base image](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-images.html) for Java 17, 18, 19, and 20. The base images are publicly available [in the ECR Public Gallery](https://gallery.ecr.aws/aleph0io/lambda/java). You should be able to use them directly in your builds. I use these images in production for personal and commercial projects today, but per the license, there is no warranty, and YMMV.
3
+
This project provides the missing [AWS Lambda base image](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-images.html) for Java 17, 18, 19, 20, and 21. The base images are publicly available [in the ECR Public Gallery](https://gallery.ecr.aws/aleph0io/lambda/java). You should be able to use them directly in your builds. I use these images in production for personal and commercial projects today, but per the license, there is no warranty, and YMMV.
4
4
5
5
## Approach
6
6
7
7
This project uses the following process to create new Lambda base images:
8
8
9
9
1. Define a Java maven POM that includes all the [Java Lambda support libraries](https://github.com/aws/aws-lambda-java-libs) as provided scope. This roundabout approach is used to coax @dependabot into flagging new versions as they are published.
10
-
2. Also teach maven to collect these dependencies and build the appropriate docker images using the Dockerfile using the excellent [fabric8io/docker-maven-plugin](https://github.com/fabric8io/docker-maven-plugin).
11
-
3. Use GitHub Actions to do perform CI/CD and release new images to the ECR Public Gallery.
10
+
2. Also teach maven to collect these dependencies and build the appropriate docker images using a Dockerfile and the excellent [fabric8io/docker-maven-plugin](https://github.com/fabric8io/docker-maven-plugin).
11
+
3. Use GitHub Actions to perform CI/CD and release new images to the ECR Public Gallery.
12
12
13
13
## Example Lambda Function
14
14
15
-
You can find an example Lambda function using these base images at [aleph0io/example-java-lambda-function](https://github.com/aleph0io/example-java-lambda-function). It's just like building any container lambda function. For ease of use, find the `Dockerfile` below. Note the `FROM` image. Java versions 18-20 are also supported.
15
+
You can find an example Lambda function using these base images at [aleph0io/example-java-lambda-function](https://github.com/aleph0io/example-java-lambda-function). It's just like building any container lambda function. For ease of use, find the `Dockerfile` below. Note the `FROM` image. Java versions 18-21 are also supported.
16
16
17
-
FROM public.ecr.aws/aleph0io/java/lambda:17.0.4-al2
@@ -27,14 +27,14 @@ The [Lambda RIE](https://github.com/aws/aws-lambda-runtime-interface-emulator) i
27
27
## Known Issues and Future Plans
28
28
29
29
* This image is in no way optimized for cold start time, size, etc. PRs welcome!
30
-
* Java 17, 18, 19, and 20 are all supported.
30
+
* Java 17, 18, 19, 20, and 21 are all supported.
31
31
* For now, only x86_64 is supported. I hope to publish multiarch builds including arm64 soon.
32
-
*Java 17 preview base images have been released to [lambda/java](https://gallery.ecr.aws/lambda/java). Java 17 users should strongly consider moving to the officially-supported base images, especially once they leave preview.
32
+
*Official base images for Java 17 have been released to [lambda/java](https://gallery.ecr.aws/lambda/java). Java 17 users should strongly consider moving to the officially-supported base images. This project will continue to release updates for Java 17 on an ongoing basis for those who prefer not to move.
33
33
* This project will continue to support non-LTS Java versions that will never receive an officially-supported AWS Lambda base image.
34
34
35
35
## More Information
36
36
37
-
You can find writeups of the [Java 17](https://sigpwned.com/2022/07/23/aws-lambda-base-images-for-java-17/), [18](https://sigpwned.com/2022/08/31/aws-lambda-base-images-for-java-18-too/), [19](https://sigpwned.com/2022/09/21/aws-lambda-base-images-for-java-19/), and [20](https://sigpwned.com/2023/03/24/community-managed-aws-lambda-base-images-for-java-20/) on [my blog](https://sigpwned.com/).
37
+
You can find writeups of the [Java 17](https://sigpwned.com/2022/07/23/aws-lambda-base-images-for-java-17/), [18](https://sigpwned.com/2022/08/31/aws-lambda-base-images-for-java-18-too/), [19](https://sigpwned.com/2022/09/21/aws-lambda-base-images-for-java-19/), [20](https://sigpwned.com/2023/03/24/community-managed-aws-lambda-base-images-for-java-20/), and [21](https://sigpwned.com/2023/09/19/java-21-custom-runtime-for-aws-lambda/) on [my blog](https://sigpwned.com/).
0 commit comments