v0.2.8-beta
Getting Started
Welcome to Tarn! This guide will help you get up and running in minutes.
Active Development
Tarn is under active development. Expect breaking changes as we finalize the MVP.
Known limitations:
- EventBridge: Scheduled rules only; event patterns are not supported yet
- S3: Path-style only; virtual-hosted style is not supported
- SNS and SQS cross-account resources are not supported
Learn more about what we want to build with Tarn in the project roadmap.
Quick Start
Prerequisites
- Go 1.26+ (for building from source)
- Docker (required for Lambda execution)
Installation
bash
# Build from source
make build && make startThe server will start on http://127.0.0.1:4566
Point Your Tools
Configure the AWS CLI, SDK, or Terraform to use Tarn:
bash
export AWS_ENDPOINT_URL=http://127.0.0.1:4566
export AWS_ACCESS_KEY_ID=test
export AWS_SECRET_ACCESS_KEY=test
export AWS_DEFAULT_REGION=us-east-1Deploy a Function
Use Tarn commands directly by default. If you prefer AWS-compatible workflows, the AWS CLI tab uses awslocal.
bash
tarn lambda create \
--name hello-tarn \
--runtime nodejs20.x \
--handler index.handler \
--zip ./function.zip
tarn lambda invoke \
--name hello-tarn \
--payload '{"hello":"tarn"}'bash
awslocal lambda create-function \
--function-name hello-tarn \
--runtime nodejs20.x \
--handler index.handler \
--role arn:aws:iam::000000000000:role/lambda-role \
--zip-file fileb://function.zip
awslocal lambda invoke \
--function-name hello-tarn \
response.jsonFirst Commands
bash
# List Lambda functions
tarn lambda listbash
awslocal lambda list-functionsWhat's Next?
- Services Overview — See what AWS services are supported
- Lambda Guide — Deploy and invoke functions
- Configuration — Customize ports, regions, storage
- Contributing — Help build Tarn