Skip to main content
Deployment

Deploy to AWS. Lambda + SQS + EventBridge.

Pikku generates a complete Serverless Framework config from your functions — Lambda for HTTP, SQS for queues, EventBridge for cron. You just run the deploy.

# Step 1: Generate config
$ pikku deploy apply --provider serverless
  writing .deploy/serverless/serverless.yml
  bundling 12 functions...
  done.

# Step 2: Deploy
$ cd .deploy/serverless
$ npx serverless deploy
  Deploying my-app to stage dev (us-east-1)
  Service deployed to stack my-app-dev
How It Works

Two steps. That's it.

Pikku generates the Serverless Framework config. You deploy it. No hand-written YAML, no mapping routes to Lambda handlers manually.

1
Generate the config

Pikku scans your functions and generates a complete serverless.yml plus individually bundled entry points in .deploy/serverless/.

pikku deploy apply --provider serverless
2
Deploy to AWS

Standard Serverless Framework deploy. Lambda functions, SQS queues, EventBridge rules — all created from the generated config.

cd .deploy/serverless && npx serverless deploy
3
Local dev

Run the full stack locally with serverless-offline. Hot reload your functions without touching AWS.

cd .deploy/serverless && npx serverless offline start
Two-step flow by design. Unlike single-command deploys, Pikku intentionally separates generation from deployment. You get full visibility into the generated serverless.yml before anything hits AWS. Inspect it, tweak it, commit it — then deploy when you're ready.
What Gets Generated

A full serverless.yml from your code.

Pikku reads your function signatures — HTTP routes, queue consumers, cron schedules — and generates everything Serverless Framework needs.

serverless.yml

Complete Serverless Framework config — functions, events, resources, environment.

Per-function bundles

Each function gets its own entry point and minimal bundle for fast cold starts.

Lambda + HTTP API events

HTTP routes become API Gateway events wired to individual Lambda handlers.

SQS queue definitions

Queue consumers get SQS resources auto-created with proper ARN references.

EventBridge schedules

Cron functions become EventBridge rules with the schedule expression from your code.

Auto-injected env vars

Lambda ARNs, SQS URLs, and resource references wired into environment variables.

serverless.ymlgenerated
service: my-app

provider:
name: aws
runtime: nodejs20.x
stage: ${opt:stage, 'dev'}
region: us-east-1
environment:
ORDERS_QUEUE_URL: !Ref OrdersQueue

functions:
getUser:
handler: functions/getUser.handler
events:
- httpApi:
path: /users/{id}
method: get

processOrder:
handler: functions/processOrder.handler
events:
- sqs:
arn: !GetAtt OrdersQueue.Arn

dailyReport:
handler: functions/dailyReport.handler
events:
- schedule:
rate: cron(0 9 * * ? *)

resources:
Resources:
OrdersQueue:
Type: AWS::SQS::Queue
pikku deploy info --provider serverlessinspect
Provider:     serverless
Output: .deploy/serverless/
Status: generated

Functions:
HTTP 8 functions (Lambda + API Gateway)
Queue 3 consumers (Lambda + SQS)
Cron 2 schedules (Lambda + EventBridge)

Resources:
OrdersQueue SQS Queue
NotificationQueue SQS Queue

Environment:
ORDERS_QUEUE_URL → !Ref OrdersQueue
NOTIFICATION_QUEUE_URL → !Ref NotificationQueue
Prerequisites

Three things. Five minutes.

If you've deployed to AWS before, you probably already have two of these.

1
Install the deploy package

Adds the Serverless Framework provider to your Pikku project.

npm install @pikku/deploy-serverless
2
AWS credentials configured

Standard AWS SDK credentials — env vars, ~/.aws/credentials, or IAM role. Same setup you'd use for any AWS deployment.

aws configure
3
Serverless Framework installed

The actual deployment runs through the Serverless Framework CLI. Pikku just generates the config it reads.

npm install -g serverless

Ship to Lambda in minutes

No more hand-writing serverless.yml. Let Pikku generate it from your actual code.

$ npm install @pikku/deploy-serverless