{"id":21313960,"url":"https://github.com/octopusdeploy/teamcitycloudagentupdater","last_synced_at":"2026-02-28T07:03:23.931Z","repository":{"id":43894293,"uuid":"68751221","full_name":"OctopusDeploy/TeamCityCloudAgentUpdater","owner":"OctopusDeploy","description":"| Public |  Simple NodeJS app to update AMI's for TeamCity Cloud Agents ","archived":false,"fork":false,"pushed_at":"2026-02-02T17:08:08.000Z","size":304,"stargazers_count":0,"open_issues_count":0,"forks_count":4,"subscribers_count":12,"default_branch":"main","last_synced_at":"2026-02-03T07:33:41.089Z","etag":null,"topics":["public"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OctopusDeploy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-09-20T20:36:17.000Z","updated_at":"2026-02-02T17:05:33.000Z","dependencies_parsed_at":"2024-02-05T15:51:38.971Z","dependency_job_id":"4a131d1f-1d66-454f-bfe6-02a2421064cc","html_url":"https://github.com/OctopusDeploy/TeamCityCloudAgentUpdater","commit_stats":null,"previous_names":[],"tags_count":106,"template":false,"template_full_name":null,"purl":"pkg:github/OctopusDeploy/TeamCityCloudAgentUpdater","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OctopusDeploy%2FTeamCityCloudAgentUpdater","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OctopusDeploy%2FTeamCityCloudAgentUpdater/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OctopusDeploy%2FTeamCityCloudAgentUpdater/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OctopusDeploy%2FTeamCityCloudAgentUpdater/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OctopusDeploy","download_url":"https://codeload.github.com/OctopusDeploy/TeamCityCloudAgentUpdater/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OctopusDeploy%2FTeamCityCloudAgentUpdater/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29927188,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T19:37:42.220Z","status":"online","status_checked_at":"2026-02-28T02:00:07.010Z","response_time":90,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["public"],"created_at":"2024-11-21T18:09:28.395Z","updated_at":"2026-02-28T07:03:23.893Z","avatar_url":"https://github.com/OctopusDeploy.png","language":"JavaScript","readme":"# TeamCityCloudAgentUpdater\n\nWhen a new TeamCity agent image is built (e.g., via [packer](packer.io)), you need to tell TeamCity to start using it.\n\nThis is a simple NodeJS app that can:\n1. Update TeamCity Cloud Agents images and disable any agents that are running that are based on the old image\n2. Remove any agents that were disabled during update that are no longer running a build\n\n## Usage\n\nWhen you have a new agent, update the cloud profile:\n```bash\nnode index.js update-cloud-profile --token XXXXX --server https://teamcity.example.com --image ami-XXXXXXX --cloudprofile \"AWS Agents\" --agentprefix \"Ubuntu\" [--dryrun]\n```\n\nTo remove any agents that were disabled as part of the update, and are no longer running a build (run on a schedule):\n```bash\nnode index.js remove-disabled-agents --token XXXXX --server https://teamcity.example.com [--dryrun]\n```\n\nThe `--dryrun` flag allows you to check what actions the script would have taken without any real modifications.\n\n## Requirements\n\n- Node.js \u003e= 22.0.0\n- npm \u003e= 11.0.0\n- TeamCity `2019.1` or newer (for user access tokens)\n\n## Development\n\n### Installation\n```bash\nnpm install\n```\n\n### Testing\n```bash\n# Run all tests\nnpm test\n\n# Run tests in watch mode\nnpm run test:watch\n\n# Run tests with coverage\nnpm run test:coverage\n```\n\n### Project Structure\n```\n.\n├── index.js                 # Entry point\n├── cli.js                   # CLI command definitions\n├── lib/\n│   ├── agents.js           # Agent management operations\n│   ├── cloud-profiles.js   # Cloud profile management\n│   └── utils.js            # Utility functions\n└── *.test.js               # Test files co-located with source\n```\n\n## License\n\nThis project is licensed under the Apache 2.0 license.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foctopusdeploy%2Fteamcitycloudagentupdater","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foctopusdeploy%2Fteamcitycloudagentupdater","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foctopusdeploy%2Fteamcitycloudagentupdater/lists"}