{"id":20806322,"url":"https://github.com/nodesource/aws-eco-runner","last_synced_at":"2025-04-09T21:44:01.901Z","repository":{"id":241123470,"uuid":"802148460","full_name":"nodesource/aws-eco-runner","owner":"nodesource","description":"Automate the management of your GitHub Actions runner on AWS to minimize costs","archived":false,"fork":false,"pushed_at":"2024-05-29T21:05:08.000Z","size":639,"stargazers_count":9,"open_issues_count":2,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-03T04:02:04.430Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/nodesource.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-17T15:59:52.000Z","updated_at":"2025-01-28T17:53:07.000Z","dependencies_parsed_at":"2024-05-22T15:04:15.492Z","dependency_job_id":"60ce3d2d-31ac-4442-a834-d904f01c7403","html_url":"https://github.com/nodesource/aws-eco-runner","commit_stats":null,"previous_names":["nodesource/aws-eco-runner"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodesource%2Faws-eco-runner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodesource%2Faws-eco-runner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodesource%2Faws-eco-runner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodesource%2Faws-eco-runner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nodesource","download_url":"https://codeload.github.com/nodesource/aws-eco-runner/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248119378,"owners_count":21050754,"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-17T19:19:17.652Z","updated_at":"2025-04-09T21:44:01.877Z","avatar_url":"https://github.com/nodesource.png","language":"JavaScript","readme":"# AWS Eco Runner\n\nAutomate the management of your GitHub Actions runner on AWS to minimize costs\n\n## Overview\n\n**AWS Eco Runner** is a solution designed to optimize the cost of using GitHub Actions runners on AWS. By automating the activation and deactivation of the instance, it ensures that you only incur costs when necessary.\nThe runner is kept active every 2 days (to not be removed as a Github Runner) and turned off when not in use, providing a cost-effective approach to managing GitHub Actions workflows.\n\n## Usage\n\n```yaml\n    steps:\n      # Configure AWS Credentials\n      - name: Configure AWS Credentials\n        uses: aws-actions/configure-aws-credentials@v4\n        with:\n          aws-region: us-west-2\n          role-to-assume: $ARN_IAM_ROLE\n\n      - name: Start Runner\n        uses: nodesource/aws-eco-runner@v1\n        with:\n          instance_id: '[\"i-01\", \"i-02\"]'\n          action: 'start'\n          aws_default_region: 'us-west-2'\n\n        ...\n\n      - name: Stop Runner\n        uses: nodesource/aws-eco-runner@v1\n        with:\n          instance_id: '[\"i-01\"]'\n          action: 'stop'\n          aws_default_region: 'us-west-2'\n```\n\nThis action requires a minimal permission to start and stop the instance:\nThis is an example IAM policy, you must adapt it to your needs.\n\n```json\n{\n  \"Version\": \"2012-10-17\",\n  \"Statement\": [\n    {\n      \"Sid\": \"VisualEditor0\",\n      \"Effect\": \"Allow\",\n      \"Action\": [\"ec2:StartInstances\", \"ec2:StopInstances\"],\n      \"Resource\": [\"arn:aws:ec2:${REGION}:${ACCOUNT_ID}:instance/${INSTANCE_ID}\"]\n    }\n  ]\n}\n```\n","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnodesource%2Faws-eco-runner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnodesource%2Faws-eco-runner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnodesource%2Faws-eco-runner/lists"}