{"id":16476287,"url":"https://github.com/softprops/serverless-aws-rust","last_synced_at":"2025-03-16T18:31:35.133Z","repository":{"id":39821888,"uuid":"160712963","full_name":"softprops/serverless-aws-rust","owner":"softprops","description":"⚡🏗️ template for new aws lambda serverless rust apps","archived":false,"fork":false,"pushed_at":"2022-10-16T18:28:07.000Z","size":193,"stargazers_count":94,"open_issues_count":2,"forks_count":12,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-06T16:50:14.637Z","etag":null,"topics":["aws-lambda","lambda","serverless","serverless-framework"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/softprops.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-12-06T18:06:21.000Z","updated_at":"2024-10-23T23:39:52.000Z","dependencies_parsed_at":"2022-08-30T20:10:07.313Z","dependency_job_id":null,"html_url":"https://github.com/softprops/serverless-aws-rust","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softprops%2Fserverless-aws-rust","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softprops%2Fserverless-aws-rust/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softprops%2Fserverless-aws-rust/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softprops%2Fserverless-aws-rust/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/softprops","download_url":"https://codeload.github.com/softprops/serverless-aws-rust/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243826788,"owners_count":20354220,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws-lambda","lambda","serverless","serverless-framework"],"created_at":"2024-10-11T12:41:58.580Z","updated_at":"2025-03-16T18:31:34.268Z","avatar_url":"https://github.com/softprops.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# serverless AWS Rust template\n\nA sample template for bootstrapping [Rustlang AWS Lambda](https://github.com/awslabs/aws-lambda-rust-runtime/) applications with ⚡ serverless framework ⚡.\n\n## ✨ features\n\n* 🦀 Build Rustlang applications targeting AWS Lambda with ease\n* 🛵 Continuous integration testing with GitHub Actions\n* 🚀 Continuous deployment with GitHub Actions\n* 🧪 Getting started unit tests\n\n## 📦 install\n\nInstall the [serverless framework](https://www.serverless.com/framework/docs/getting-started/) cli.\n\nThen then run the following in your terminal\n\n```bash\n$ npx serverless install \\\n  --url https://github.com/softprops/serverless-aws-rust \\\n  --name my-new-app\n```\n\nThis will download the source of a sample Rustlang application and unpack it as a new service named\n\"my-new-app\" in a directory called \"my-new-app\"\n\n\n## 🧙 how to be a wizard\n\nAssuming you have [aws credentials with appropriate deployment permissions configured](https://serverless.com/framework/docs/providers/aws/guide/credentials/) (if you already use any existing AWS tooling installed you likely already have this configured), you can impress your friends by creating a project that is _born_ in a production environment.\n\n```bash\n$ npx serverless install \\\n  --url https://github.com/softprops/serverless-aws-rust \\\n  --name my-new-app \\\n  \u0026\u0026 cd my-new-app \\\n  \u0026\u0026 npm ci \\\n  \u0026\u0026 npx serverless deploy\n```\n\n`npm ci` will make sure npm dependencies are installed based directly on your package-lock.json file. This only needs run once.\nThe first time you run `npx serverless deploy` this project will pull down and compile the base set\nof dependencies and your application. Unless the dependencies change afterwards,\nthis should only happen once, resulting in an out of the box rapid deployment\ncycle.\n\n## 🛵 continuous integration and deployment\n\nThis template includes an example [GitHub actions](https://travis-ci.org/) [configuration file](.github/workflows/main.yml) which can unlock a virtuous cycle of continuous integration and deployment\n( i.e all tests are run on prs and every push to master results in a deployment ).\n\nGitHub 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\n\nFirstly, version control your source. [Github](https://github.com/) is free for opensource.\n\n```bash\n$ git init\n$ git remote add origin git@github.com:{username}/{my-new-service}.git\n```\n\nStore 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\n\nAdd your changes to git and push them to GitHub.\n\nFinally, open https://github.com/{username}/{my-new-service}/actions in your browser and grab a bucket of popcorn 🍿\n\n## 🔫 function triggering\n\nWith your function deployed you can now start triggering it using `serverless` framework directly or\nthe AWS integration you've configured to trigger it on your behalf\n\n```bash\n$ npx serverless invoke -f hello -d '{\"foo\":\"bar\"}'\n```\n\n## 🔬 logs\n\nWith your function deployed you can now tail\nit's logs right from your project\n\n```bash\n$ npx serverless logs -f hello\n```\n\n## 👴 retiring\n\nGood code should be easily replaceable. Good code 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.\n\n```bash\n$ npx serverless remove\n```\n\n## ℹ️  additional information\n\n* See the [serverless-rust plugin's documentation](https://github.com/softprops/serverless-rust) for more information on plugin usage.\n\n* See the [aws rust runtime's documentation](https://github.com/awslabs/aws-lambda-rust-runtime) for more information on writing Rustlang lambda functions\n\n## 👯 contributing\n\nThis 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](https://github.com/softprops/serverless-aws-rust/issues/new). Pull requests are also welcome.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftprops%2Fserverless-aws-rust","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoftprops%2Fserverless-aws-rust","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftprops%2Fserverless-aws-rust/lists"}