Lift is a plugin that leverages the AWS CDK to expand the Serverless Framework beyond functions.
Deploy production-ready websites, queues, storage buckets and more with a few lines in serverless.yml.
- ⚡️ For developers - No AWS knowledge required
- ⚡️ Production-ready - Built by AWS experts, optimized for production
- ⚡️ Not invasive - Integrates with existing projects
- ⚡️ No lock-in - Eject to CloudFormation at any time
Lift is a Serverless Framework plugin, install it in your project:
serverless plugin install -n serverless-lift
If you prefer, you can install via npm
directly: npm install --save-dev serverless-lift
.
Once installed, start using Lift constructs in serverless.yml
:
service: my-app
provider:
name: aws
plugins:
- serverless-lift
functions:
# ...
constructs:
# Include Lift constructs here
landing-page:
type: static-website
path: 'landing/dist'
avatars:
type: storage
Deploy static websites and single-page applications, for example React, VueJS or Angular apps.
constructs:
landing:
type: static-website
path: dist
Deploy preconfigured S3 buckets to store files.
constructs:
avatars:
type: storage
Deploy SQS queues and workers for asynchronous processing.
constructs:
my-queue:
type: queue
worker:
handler: src/report-generator.handler
Deploy webhooks to receive notification from 3rd party applications.
constructs:
stripe-webhook:
path: /my-webhook-endpoint
authorizer:
handler: myAuthorizer.main
Got ideas for new constructs? Open and upvote drafts.
You can eject from Lift at any time: Lift is based on CloudFormation. That allows anyone to kickstart a project with Lift, and fallback to CloudFormation if you ever grow out of it.
To eject:
- export the CloudFormation template via
serverless lift eject
- copy the parts you want to turn into CloudFormation and paste them in the
resources
section of serverless.yml - don't forget to remove from
serverless.yml
the Lift constructs you have turned into CloudFormation
Lift is built and maintained with love ❤️ by