{"id":17677642,"url":"https://github.com/sleitnick/luambda","last_synced_at":"2025-10-17T15:08:38.153Z","repository":{"id":78852334,"uuid":"275853683","full_name":"Sleitnick/Luambda","owner":"Sleitnick","description":"Lua runtime for AWS Lambda","archived":false,"fork":false,"pushed_at":"2020-06-29T21:13:37.000Z","size":306,"stargazers_count":8,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-29T06:51:35.917Z","etag":null,"topics":["aws","lambda","lua","luajit","luambda"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sleitnick.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-29T15:22:47.000Z","updated_at":"2024-10-18T02:23:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"8d77807d-4c01-4927-ab0c-d4dae3f1c8f0","html_url":"https://github.com/Sleitnick/Luambda","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sleitnick%2FLuambda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sleitnick%2FLuambda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sleitnick%2FLuambda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sleitnick%2FLuambda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sleitnick","download_url":"https://codeload.github.com/Sleitnick/Luambda/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249638251,"owners_count":21304305,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","lambda","lua","luajit","luambda"],"created_at":"2024-10-24T07:29:12.587Z","updated_at":"2025-10-17T15:08:33.128Z","avatar_url":"https://github.com/Sleitnick.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Lint](https://github.com/Sleitnick/Luambda/workflows/Lint/badge.svg)\n![Release](https://github.com/Sleitnick/Luambda/workflows/Release/badge.svg)\n\n![logo](imgs/logo_128.png)\n\n# Luambda\n\nLua runtime for AWS Lambda.\n\nLuambda is a [Lambda Layer](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) that allows developers to write Lambdas using Lua. To get started, read through the rest of this readme.\n\n## Create Layer\n\n### Option 1 - From the latest release:\n\n1. Download [`luambda.zip`](https://github.com/Sleitnick/Luambda/releases/latest/download/luambda.zip) from the latest release\n1. Go to the [Create Layer](https://console.aws.amazon.com/lambda/home?region=us-east-1#/create/layer) page on the AWS console\n1. Name the layer `Luambda`\n1. Click the Upload button and select the `luambda.zip` file from the unzipped release\n1. In the Runtimes dropdown, select \"Custom runtime\"\n1. Under license, write MIT\n1. Click the Create button\n\n### Option 2 - From latest release \u0026 use CloudFormation:\n\n1. Download [`luambda.zip`](https://github.com/Sleitnick/Luambda/releases/latest/download/luambda.zip) from the latest release\n1. Upload the `luambda.zip` file to S3\n1. Use the [`luambda.yaml`](https://github.com/Sleitnick/Luambda/blob/master/aws/luambda.yaml) CF template to create the new stack\n\n### Option 3 - For a full custom build, execute the following commands:\n\n```sh\n# Clone repo\n$ git clone https://github.com/Sleitnick/Luambda\n$ cd Luambda\n\n# Executable permissions\n$ chmod +x build.sh compile.sh\n\n# Package and upload to S3\n$ ./build.sh\n$ aws s3 cp dist/luambda.zip s3://\u003cupload_bucket\u003e/\u003coptional_path\u003e/luambda.zip\n\n# Create Lambda Layer\n$ aws cloudformation create-stack --stack-name LuambdaLayer --template-body file://aws/luambda.yaml --paramters ParameterKey=S3Bucket,ParameterValue=\u003cs3_bucket\u003e ParameterKey=S3Key,ParameterValue=\u003cs3_key\u003e\n```\n\n**Warning for Windows users using option 3:** The zip file created from the `build.sh` script may not work properly on Windows, because it will strip the permissions from the files, which will lead to errors when attempting to execute the lambda.\n\n## Use Layer\n\nFor your Lambda configuration, add Luambda as a layer.\n\n## Setup\n\nThe `Handler` property of your lambda follows the syntax of `[script_name].[function_name]`. The script should return a table that contains that function. For instance, if the handler was set as `test.handler`, then the code would look like this:\n\n```lua\n-- test.lua\n\nlocal test = {}\n\nfunction test.handler(event)\n\treturn {\n\t\tOk = \"All good\";\n\t}\nend\n\nreturn test\n```\n\n## Different Lua Versions\n\nBy default, Luambda uses [LuaJIT](https://luajit.org/), a JIT compiler for [Lua](https://www.lua.org/). To use a different version, drop in the binaries under `/runtime` and then change the `bootstrap` file to point to the different binary.\n\nFor instance, you might change `/opt/runtime/luajit` in the `bootstrap` file to `/opt/runtime/lua51`.\n\n## Third-Party\n\nThe following third-party dependencies are used:\n\n- [LuaJIT](https://luajit.org/) [MIT license]\n- [json.lua](https://github.com/rxi/json.lua) [MIT license]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsleitnick%2Fluambda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsleitnick%2Fluambda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsleitnick%2Fluambda/lists"}