{"id":16978607,"url":"https://github.com/willdady/cdk-aws-app-runner-scheduler","last_synced_at":"2025-04-12T01:41:41.860Z","repository":{"id":166274226,"uuid":"641749956","full_name":"willdady/cdk-aws-app-runner-scheduler","owner":"willdady","description":"A CDK app for scheduled pausing of AWS App Runner services","archived":false,"fork":false,"pushed_at":"2023-06-18T23:41:18.000Z","size":356,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-25T21:22:10.192Z","etag":null,"topics":["app-runner","aws","cdk","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/willdady.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-17T05:06:53.000Z","updated_at":"2023-11-19T14:27:23.000Z","dependencies_parsed_at":"2025-02-20T14:33:16.887Z","dependency_job_id":"20b868a9-e1c4-4edb-b18c-293b48e2a3c9","html_url":"https://github.com/willdady/cdk-aws-app-runner-scheduler","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/willdady%2Fcdk-aws-app-runner-scheduler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willdady%2Fcdk-aws-app-runner-scheduler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willdady%2Fcdk-aws-app-runner-scheduler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willdady%2Fcdk-aws-app-runner-scheduler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/willdady","download_url":"https://codeload.github.com/willdady/cdk-aws-app-runner-scheduler/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248505757,"owners_count":21115352,"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":["app-runner","aws","cdk","typescript"],"created_at":"2024-10-14T01:43:48.508Z","updated_at":"2025-04-12T01:41:41.855Z","avatar_url":"https://github.com/willdady.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CDK AWS App Runner Scheduler\n\nA reference AWS CDK application for scheduling the pausing and resuming of AWS App Runner services.\nUseful for dev environments where you want to pause AWS App Runner services out-of-hours to save money.\n\n![](images/app-runner-scheduler.drawio.png)\n\n## Setup\n\nInstall dependencies.\nRequires Node.js \u003e= v16\n\n```\nnpm install\n```\n\n## Deployment\n\n```\nnpm run cdk -- deploy AwsAppRunnerScheduler\n```\n\n## Usage\n\nThis project defines `AwsAppRunnerScheduler`, a custom CDK construct which pauses/resumes any AWS App Runner services matching the provided tag on the provided schedule.\n\nFor example, the following will pause ALL AWS App Runner services tagged with key `environment` and value `development` at 02:00 UTC and resume the service at 21:00 UTC daily. \n\n```typescript\n  new AwsAppRunnerScheduler(this, 'ExampleScheduler', {\n    serviceTag: {\n      key: 'environment',\n      value: 'development',\n    },\n    pauseCronOptions: {\n      hour: '2',\n      minute: '0',\n    },\n    resumeCronOptions: {\n      hour: '21',\n      minute: '0',\n    },\n  });\n```\n\nNote, cron options are in **UTC time** *not* your local time.\nAlso, `serviceTag.key` and `serviceTag.value` are **case-sensitive**.\n\n### SNS\n\nYou may also optionally provide `snsTopic` to the `AwsAppRunnerScheduler` constructor to be notified when a service is paused and resumed.\n\n```typescript\n  const mySnsTopic = new sns.Topic(this, 'MySnsTopic');\n\n  new AwsAppRunnerScheduler(this, 'ExampleScheduler', {\n    ...,\n    snsTopic: mySnsTopic,\n  });\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilldady%2Fcdk-aws-app-runner-scheduler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwilldady%2Fcdk-aws-app-runner-scheduler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilldady%2Fcdk-aws-app-runner-scheduler/lists"}