aws-amplify / aws-amplify/amplify-cli
Allow for custom runtimes inside functions since GO will be deprecated in lambda
- Dominant language
- TypeScript
- Stars
- 2.9k
- Forks
- 825
- Avg merge
- 11d 23h
- Merged PRs (30d)
- 2
Description
### Is this feature request related to a new or existing Amplify category?
_No response_
### Is this related to another service?
Lambda
### Describe the feature you'd like to request
I would like a method to have custom runtime languages inside the functions. This is in response to LAMBDA announcing that as of the end of Dec 2023, the Go 1.x runtime will no longer be supported in favor of using the provided.al2 base image. This is more in line with other compiled languages like rust and C++
https://aws.amazon.com/blogs/compute/migrating-aws-lambda-functions-from-the-go1-x-runtime-to-the-custom-runtime-on-amazon-linux-2/
### Describe the solution you'd like
when creating a function, you would specify the type of the runtime, and the option would be "custom",
then there would be an additional file, similar to the amplify.yml file that will allow the user to add the required script commands in order to compile and package the code so that the amplify framework can take it and upload it.
### Describe alternatives you've considered
One alternative would be to take my existing GO functions off of amplify before the end of the year. This would be a pain since the amplify framework is wonderful for deploying the lambda code
### Additional context
_No response_
### Is this something that you'd be interested in working on?
- [ ] 👋 I may be able to implement this feature request
### Would this feature include a breaking change?
- [X] ⚠️ This feature might incur a breaking change
Contributor guide
Research direction
Review the linked AWS migration guidance and the existing amplify.yml build configuration approach. Trace how the CLI creates functions and packages Lambda code, then determine how a custom runtime selection and user-provided build commands would fit; done means custom-language functions can be compiled, packaged, and uploaded without breaking existing runtimes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, cpp, go, rust
- Domain
- backend, cli, cloud
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100