Skip to content

Conversation

@skunxicat
Copy link
Contributor

@skunxicat skunxicat commented Jul 29, 2025

feat: Initial Lambda Shell Runtime Release

This PR introduces lambda-shell-runtime - a custom AWS Lambda runtime that enables deploying Bash scripts directly as serverless functions.

✨ Features

  • Three optimized variants: tiny (132MB), micro (221MB), full (417MB)
  • Built-in tools: jq, curl, http-cli in all variants
  • AWS integration: awscurl in micro, full AWS CLI in full variant
  • Multi-platform: ARM64 and x86_64 support
  • Production ready: Proper error handling and Lambda Runtime API compliance

📊 Performance

Highly competitive with official AWS runtimes:

  • 22% smaller than Python (417MB vs 534MB)
  • Similar size to Node.js (417MB vs 410MB)
  • 75% smaller tiny variant vs official runtimes

🏗️ Architecture

  • Base image: Amazon Linux 2023 Lambda base
  • Runtime API: Full compliance with AWS Lambda Runtime API
  • Error handling: Proper init and invocation error reporting
  • Multi-registry: Published to both GHCR and AWS Public ECR

🧪 Usage

FROM public.ecr.aws/j5r7n1v7/lambda-shell-runtime:tiny
COPY handler.sh .

handler.sh

hello() {
    echo '{"message": "Hello from Bash Lambda!"}'
}

@skunxicat skunxicat requested a review from gonzaru July 29, 2025 03:35
@skunxicat skunxicat marked this pull request as ready for review July 29, 2025 03:35
@skunxicat skunxicat merged commit 77cc9ea into main Jul 29, 2025
2 of 8 checks passed
skunxicat added a commit that referenced this pull request Jul 29, 2025
skunxicat added a commit that referenced this pull request Jul 29, 2025
@skunxicat skunxicat deleted the develop branch July 29, 2025 04:52
skunxicat pushed a commit that referenced this pull request Aug 7, 2025
# 1.0.0 (2025-08-07)

### Bug Fixes

* draft are non tought ([f2dfe31](f2dfe31))
* fix broken commit analyzer ([af5f2c0](af5f2c0))
* who knows? ([2527b66](2527b66))

### Features

* fix and trigger releases ([df4f65b](df4f65b))
* initial version ([#11](#11)) ([7fb17cb](7fb17cb))
* make sure stderr get logged ([4a4885e](4a4885e))
* release http-cli update and better output handling ([9599cf2](9599cf2))
skunxicat pushed a commit that referenced this pull request Aug 7, 2025
# 1.0.0 (2025-08-07)

### Bug Fixes

* draft are non tought ([f2dfe31](f2dfe31))
* fix broken commit analyzer ([af5f2c0](af5f2c0))
* who knows? ([2527b66](2527b66))

### Features

* fix and trigger releases ([df4f65b](df4f65b))
* initial version ([#11](#11)) ([7fb17cb](7fb17cb))
* make sure stderr get logged ([4a4885e](4a4885e))
* release http-cli update and better output handling ([9599cf2](9599cf2))
skunxicat pushed a commit that referenced this pull request Aug 7, 2025
# 1.0.0 (2025-08-07)

### Bug Fixes

* draft are non tought ([f2dfe31](f2dfe31))
* fix broken commit analyzer ([af5f2c0](af5f2c0))
* who knows? ([2527b66](2527b66))

### Features

* fix and trigger releases ([df4f65b](df4f65b))
* initial version ([#11](#11)) ([7fb17cb](7fb17cb))
* make sure stderr get logged ([4a4885e](4a4885e))
* release http-cli update and better output handling ([9599cf2](9599cf2))
skunxicat pushed a commit that referenced this pull request Aug 7, 2025
# 1.0.0 (2025-08-07)

### Bug Fixes

* draft are non tought ([f2dfe31](f2dfe31))
* fix broken commit analyzer ([af5f2c0](af5f2c0))
* who knows? ([2527b66](2527b66))

### Features

* fix and trigger releases ([df4f65b](df4f65b))
* initial version ([#11](#11)) ([7fb17cb](7fb17cb))
* make sure stderr get logged ([4a4885e](4a4885e))
* release http-cli update and better output handling ([9599cf2](9599cf2))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants