{"id":19437955,"url":"https://github.com/architect/plugin-budget-watch","last_synced_at":"2025-04-24T21:32:37.375Z","repository":{"id":43831467,"uuid":"410919046","full_name":"architect/plugin-budget-watch","owner":"architect","description":"Monitor app spend and stop lambdas when the limit is reached","archived":false,"fork":false,"pushed_at":"2022-02-16T21:44:35.000Z","size":189,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-19T09:59:26.402Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":false,"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/architect.png","metadata":{"files":{"readme":"readme.md","changelog":"changelog.md","contributing":".github/contributing.md","funding":null,"license":null,"code_of_conduct":".github/code_of_conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-09-27T14:30:35.000Z","updated_at":"2024-09-30T00:11:50.000Z","dependencies_parsed_at":"2022-09-17T07:50:35.215Z","dependency_job_id":null,"html_url":"https://github.com/architect/plugin-budget-watch","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/architect%2Fplugin-budget-watch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/architect%2Fplugin-budget-watch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/architect%2Fplugin-budget-watch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/architect%2Fplugin-budget-watch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/architect","download_url":"https://codeload.github.com/architect/plugin-budget-watch/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250713158,"owners_count":21475138,"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":[],"created_at":"2024-11-10T15:16:21.148Z","updated_at":"2025-04-24T21:32:37.106Z","avatar_url":"https://github.com/architect.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[\u003cimg src=\"https://s3-us-west-2.amazonaws.com/arc.codes/architect-logo-500b@2x.png\" width=500\u003e](https://www.npmjs.com/package/@architect/plugin-budget-watch)\n\n## [`@architect/plugin-budget-watch`](https://www.npmjs.com/package/@architect/plugin-budget-watch)\n\n[![GitHub CI status](https://github.com/architect/plugin-budget-watch/workflows/Node%20CI/badge.svg)](https://github.com/architect/plugin-budget-watch/actions?query=workflow%3A%22Node+CI%22)\n\nThere are many ways a serverless app could run up your bill. Maybe you hit the top of hacker news, or you might have an infinite loop. The simplest way to stop a runaway app is to shut down the compute resources. By setting reserved concurrency (how many simultaneous executions can run) on all lambdas to zero, you can effectively stop the app. The budget-watch plugin can be added to an Architect app to accomplish this. \n\n### Install\n\n`npm i @architect/plugin-budget-watch`\n\nAdd these lines to your Architect project manifest:\n\n```arc\n# app.arc\n@plugins\narchitect/plugin-budget-watch\n    \n@budget\nlimit $40\nemail \"notify@example.com\"\n```\n\nOnce deployed, there is a budget alert scoped to just the resources of the app. If the cost of those resources exceeds the limit set, a shutdown is triggered. To restart the app, the budget limit can be increased or removed and the app redeployed. This resets the lambda concurrencies, and the app will resume operation. \n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farchitect%2Fplugin-budget-watch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farchitect%2Fplugin-budget-watch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farchitect%2Fplugin-budget-watch/lists"}