-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcatalog.json
More file actions
5 lines (5 loc) · 2.18 KB
/
catalog.json
File metadata and controls
5 lines (5 loc) · 2.18 KB
1
2
3
4
5
{
"description": "Custom AWS Lambda runtime to run Bash functions as serverless applications",
"aboutText": "**lambda-shell-runtime** is a custom AWS Lambda runtime that lets you deploy\n**shell scripts and Bash functions** as serverless applications.\n\nIt is designed for engineers who want the **simplicity and composability of Bash**\nwith the scalability of AWS Lambda — without introducing heavyweight runtimes.\n\nThe runtime is built on top of official AWS Lambda base images and provides\ndirect access to common CLI tools such as `jq`, `curl`, and optional AWS utilities.\n\n### Why Bash on Lambda?\n\n- Minimal dependencies\n- Fast iteration and debugging\n- Ideal for glue code, automation, APIs, and data pipelines\n- Familiar Unix tooling instead of large language runtimes\n\n### Runtime variants\n\nThe image is published in three optimized variants:\n\n- **tiny** – essential tools (`jq`, `curl`, `http-cli`)\n- **micro** – tiny + lightweight AWS API access (`awscurl`)\n- **full** – tiny + full AWS CLI\n\nAll variants support **ARM64 and x86_64** architectures and work with\nthe Lambda Runtime Interface Emulator for local testing.",
"usageText": "### Basic usage\n\nCreate a Bash handler:\n\n```bash\n# handler.sh\nmain() {\n local event=\"$1\"\n echo '{\"message\":\"Hello from Bash Lambda\",\"input\":'\"$event\"'}'\n}\n```\n\nCreate a Dockerfile:\n\n```dockerfile\nFROM public.ecr.aws/l9f6r9f5/lambda-shell-runtime:tiny\nCOPY handler.sh .\n```\n\nDeploy the image as an AWS Lambda function using **container images**.\n\nSet the Lambda handler to:\n\n```\nhandler.main\n```\n\n---\n\n### Available images\n\n```bash\npublic.ecr.aws/l9f6r9f5/lambda-shell-runtime:tiny\npublic.ecr.aws/l9f6r9f5/lambda-shell-runtime:micro\npublic.ecr.aws/l9f6r9f5/lambda-shell-runtime:full\n```\n\n---\n\n### Local testing\n\nThe image includes the Lambda Runtime Interface Emulator.\n\n```bash\ndocker run --rm -p 9000:8080 \\\n --env _HANDLER=\"handler.main\" \\\n --entrypoint /aws-lambda/aws-lambda-rie \\\n my-lambda-image /var/runtime/bootstrap\n```\n\nInvoke locally:\n\n```bash\ncurl -X POST \\\n http://localhost:9000/2015-03-31/functions/function/invocations \\\n -d '{\"hello\":\"world\"}'\n```"
}