All Projects → softprops → serverless-aws-rust-multi

softprops / serverless-aws-rust-multi

Licence: other
⚡🏗️ template for new aws lambda serverless rust http apps

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to serverless-aws-rust-multi

serverless-nestjs-typeorm
Example how to nestjs using the serverless framework with TypeORM
Stars: ✭ 99 (+94.12%)
Mutual labels:  serverless-framework
serverless-multicloud-example
An example Node Express app that can be deployed in any major cloud by the Serverless framework
Stars: ✭ 20 (-60.78%)
Mutual labels:  serverless-framework
lambda-mailer
Simple module for receiving an email from a contact form on your website.
Stars: ✭ 83 (+62.75%)
Mutual labels:  serverless-framework
sls-photos-upload-service
Example web app and serverless API for uploading photos and saving to S3 and DynamoDB
Stars: ✭ 50 (-1.96%)
Mutual labels:  serverless-framework
aws-secure-websockets
Secure web socket implementation using AWS products and serverless framework
Stars: ✭ 49 (-3.92%)
Mutual labels:  serverless-framework
lambdog-server
Write Netlify functions without pulling your hair out.
Stars: ✭ 15 (-70.59%)
Mutual labels:  serverless-framework
namevault
Account creator & name generator for users on EOS and EOSIO compatible blockchains.
Stars: ✭ 17 (-66.67%)
Mutual labels:  serverless-framework
serverless-modular
⚡️ serverless plugin for microservice code management and deployment.
Stars: ✭ 19 (-62.75%)
Mutual labels:  serverless-framework
serverlesscloud.cn
Serverless 中文网
Stars: ✭ 15 (-70.59%)
Mutual labels:  serverless-framework
serverless-plugin-offline-kinesis-events
⚡ Serverless plugin that works with serverless-offline to allow offline testing of Serverless functions that are triggered by Kinesis events.
Stars: ✭ 15 (-70.59%)
Mutual labels:  serverless-framework
pexels-demo
A Node JS Express/Serverless demo application that creates a personalised video using a form. Uses the Pexels Video library and Shotstack video editing API.
Stars: ✭ 22 (-56.86%)
Mutual labels:  serverless-framework
noiiice
a serverless blog built on NuxtJS, AWS, serverless framework, and irrational exuberance.
Stars: ✭ 42 (-17.65%)
Mutual labels:  serverless-framework
lockbot
🔒 Coordinate use of your team's shared resources, in Slack 🤝
Stars: ✭ 47 (-7.84%)
Mutual labels:  serverless-framework
corejam
A scaffolding for building progressive GraphQL powered jamstack applications.
Stars: ✭ 24 (-52.94%)
Mutual labels:  serverless-framework
serverless-authorizers
Examples to use aws API Gateway authorizer feature to authorize your endpoints with different ways
Stars: ✭ 31 (-39.22%)
Mutual labels:  serverless-framework
action-serverless
GitHub Action for interacting with the Serverless CLI
Stars: ✭ 36 (-29.41%)
Mutual labels:  serverless-framework
serverless-aws-rust
⚡🏗️ template for new aws lambda serverless rust apps
Stars: ✭ 89 (+74.51%)
Mutual labels:  serverless-framework
a-crash-course-on-serverless-with-nodejs
A quick and easy guide of how to hook up a single Serverless service.
Stars: ✭ 28 (-45.1%)
Mutual labels:  serverless-framework
fastapi-mangum-example
Deploy FastAPI as Lambda using serverless and mangum
Stars: ✭ 21 (-58.82%)
Mutual labels:  serverless-framework
aws-serverless-prototype
Serverless Frameworkを使ったAWS Lambdaプロジェクトの試作品
Stars: ✭ 16 (-68.63%)
Mutual labels:  serverless-framework

serverless AWS Rust multi-function template

A sample template for bootstraping a multi function Rustlang AWS Lambda applications with serverless framework using Cargo workspaces

features

  • 🦀 Build Rustlang applications with ease
  • 🛵 Continuous integration testing with GitHub Actions
  • 🚀 Continuous deployment with GitHub Actions
  • 🧪 Getting started unit tests

📦 install

Install the serverless framework cli.

Then then run the following in your terminal

$ npx serverless install \
  --url https://github.com/softprops/serverless-aws-rust-multi \
  --name my-new-multi-func-app

This will download the source of a sample Rustlang application and unpack it as a new service named "my-new-multi-func-app" in a directory called "my-new-multi-func-app"

🧙 how to be a wizard

Assuming you have aws credentials with appropriate deployment permissions configured (if you already use any existing AWS tooling installed you likely already have this configured), you could impress your friends by creating a project that is born in production.

$ npx serverless install \
  --url https://github.com/softprops/serverless-aws-rust-multi \
  --name my-new-multi-func-app \
  && cd my-new-multi-func-app \
  && npm ci \
  && npx serverless deploy

npm ci will make sure npm dependencies are installed based directly on your package-lock.json file. This only needs run once. The first time you run npx serverless deploy it will pull down and compile the base set of dependencies and your application. Unless the dependencies change afterwards, this should only happen once, resulting in an out of the box rapid deployment cycle.

🛵 continuous integration and deployment

This template includes an example GitHub actions configuration file which can unlock a virtuous cycle of continuous integration and deployment ( i.e all tests are run on prs and every push to master results in a deployment ).

GitHub actions is managed simply by the presence of a file checked into your repository. To set up GitHub Actions to deploy to AWS you'll need to do a few things

Firstly, version control your source. Github is free for opensource.

$ git init
$ git remote add origin [email protected]:{username}/{my-new-service}.git

Store a AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY used for aws deployment in your repositories secrets https://github.com/{username}/{my-new-service}/settings/secrets

Add your changes to git and push them to GitHub.

Finally, open https://github.com/{username}/{my-new-service}/actions in your browser and grab a bucket of popcorn 🍿

🔫 function triggering

With your function deployed you can now start triggering it using serverless framework directly or the AWS integration you've configured to trigger it on your behalf

$ npx serverless invoke -f hello -d '{"foo":"bar"}'

🔬 logs

With your function deployed you can now tail it's logs right from your project

$ npx serverless logs -f hello
$ npx serverless logs -f world

👴 retiring

Good code should be easily replaceable. Good code is should also be easily disposable. Retiring applications should be as easy as creating and deploying them them. The dual of serverless deploy is serverless remove. Use this for retiring services and cleaning up resources.

$ npx serverless remove

ℹ️ additional information

👯 Contributing

This template's intent is to set a minimal baseline for getting engineers up an running with a set of repeatable best practices. See something you'd like in this template that would help others? Feel free to open a new GitHub issue. Pull requests are also welcome.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].