Swift Lambda Maker, aka SLaM, is a CLI tool used for creating and packaging AWS Lambda function written in Swift. It can create a new executable Swift Package where you can start coding your Lambda as well as package that Lambda as a zipped Docker image.
To download and install SLaM, run the following commands in the terminal:
$ git clone https://github.com/Kilo-Loco/SLaM.git
$ cd SLaM
$ make
Next, generate the Swift Lambda project in a new directory (outside of the SLaM directory):
$ mkdir MyFirstLambda
$ cd MyFirstLambda
$ slam new
Open your project and start coding your Lambda 🚀
$ xed .
To deploy your Swift Lambda, you will need to first create a Docker image:
$ slam setup-image
Enter the name of your image:
my-first-lambda-image
Once a Docker image is created, you shouldn't have to run this command again
Now build and package your code into the Docker image:
$ slam export
Enter the name of your image:
my-first-lambda-image
Run this command every time you need to package your updated Swift Lambda.
Once the export if finished, you can find the zipped Docker image at pathToThisRepo/.build/lambda/[PROJECT_NAME]/lambda.zip
SLaM is developed completely in the open, and contributions are welcomed. Kilo Loco is relatively new to working with Docker and AWS Lambda, so there are bound to be a few bugs you can help fix 😉