aws-amplify / aws-amplify/amplify-cli

Allow for custom runtimes inside functions since GO will be deprecated in lambda

Open
#13,109 9 comments 10 reactions 0 assignees View on GitHub
feature-request functions p3
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.