{"id":15291569,"url":"https://github.com/azure/platform-chaos-api","last_synced_at":"2025-10-07T04:31:14.353Z","repository":{"id":55025329,"uuid":"124145809","full_name":"Azure/platform-chaos-api","owner":"Azure","description":"An API for introducing chaos into Azure PaaS offerings using configurable extensions 🌩","archived":true,"fork":false,"pushed_at":"2023-01-24T16:42:18.000Z","size":124,"stargazers_count":7,"open_issues_count":3,"forks_count":5,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-10-06T00:36:13.628Z","etag":null,"topics":["azure","chaos-engineering","nodejs"],"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/Azure.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}},"created_at":"2018-03-06T22:19:47.000Z","updated_at":"2023-10-12T04:46:06.000Z","dependencies_parsed_at":"2023-02-13T23:30:56.427Z","dependency_job_id":null,"html_url":"https://github.com/Azure/platform-chaos-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Azure/platform-chaos-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azure%2Fplatform-chaos-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azure%2Fplatform-chaos-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azure%2Fplatform-chaos-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azure%2Fplatform-chaos-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Azure","download_url":"https://codeload.github.com/Azure/platform-chaos-api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azure%2Fplatform-chaos-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278722438,"owners_count":26034458,"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","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"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":["azure","chaos-engineering","nodejs"],"created_at":"2024-09-30T16:13:16.099Z","updated_at":"2025-10-07T04:31:14.042Z","avatar_url":"https://github.com/Azure.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# platform-chaos-api\r\n[![Build Status](https://travis-ci.org/Azure/platform-chaos-api.svg?branch=master)](https://travis-ci.org/Azure/platform-chaos-api)\r\n[![Deploy to Azure](https://azuredeploy.net/deploybutton.png)](https://azuredeploy.net/)\r\n\r\nAn API that surfaces the functionality of the [CLI](https://github.com/Azure/platform-chaos-cli) for [Platform Chaos](https://github.com/Azure/platform-chaos). :cloud:\r\n\r\n![hero image](.github/hero.png)\r\n\r\nThis simply surfaces the `chaos` functionality via authenticated API.\r\nBy default, this runs on port `3000` - but that can be configured with the `PORT` environment variable.\r\n\r\nTo configure this authentication layer, use the following environment variables:\r\n\r\n+ `AUTH_CLIENT_ID` - an AzureAD application client id\r\n+ `AUTH_ISSUER` - the AzureAD issuer\r\n+ `AUTH_AUDIENCE` - the AzureAD audience\r\n\r\nSee [passport-azure-ad](https://github.com/AzureAD/passport-azure-ad#5212-options) for more details.\r\n\r\nTo configure a deployment of this repo, refer to the [wiki page](https://github.com/Azure/platform-chaos-api/wiki/Walkthrough:-Deploy-and-Authenticate) which contains detailed instructions.\r\n\r\n## API\r\n\r\n\u003e All endpoints require `Authentication: Bearer \u003ctoken\u003e` header authentication values for the configured AzureAD application.\r\n\r\n### GET /extensions\r\n\r\nReturns all registered extensions, as an array:\r\n\r\n```\r\n[\r\n    {\r\n        \"name\": \"test\",\r\n        \"desc\": \"test desc\",\r\n        \"uri\": \"https://test.com\"\r\n    }\r\n]\r\n```\r\n\r\n### POST /extensions\r\n\r\nCreates a new extension. Takes `name, uri, desc` as parts of a json payload.\r\n\r\n### GET /extensions/:extId\r\n\r\nGets a particular extension. Takes `extId` (the name of the extension) as part of the path.\r\n\r\n```\r\n{\r\n    \"name\": \"test\",\r\n    \"desc\": \"test desc\",\r\n    \"uri\": \"https://test.com\"\r\n}\r\n```\r\n\r\n### POST /extensions/:extId/start\r\n\r\nStarts an extension. Takes `extId` (the name of the extension) as part of the path.\r\nOptionally takes `?code=\u003cvalue\u003e` as a query parameter, where `code` is passed along\r\nto the extension. Takes `accessToken` and `resources` as parts of a json payload.\r\n\r\n### POST /extensions/:extId/stop\r\n\r\nStops an extension. Takes `extId` (the name of the extension) as part of the path.\r\nOptionally takes `?code=\u003cvalue\u003e` as a query parameter, where `code` is passed along\r\nto the extension. Takes `accessToken` and `resources` as parts of a json payload.\r\n\r\n### DELETE /extensions/:extId\r\n\r\nDeletes an extension. Takes `extId` (the name of the extension) as part of the path.\r\n\r\n## Related Projects\r\n\r\n* [platform-chaos](https://github.com/Azure/platform-chaos) - A Node.js SDK for building services capable of injecting chaos into PaaS offerings.\r\n* [platform-chaos-cli](https://github.com/Azure/platform-chaos-cli) - A tool for introducing chaos into Azure PaaS offerings using configurable extensions.\r\n\r\n# Contributing\r\n\r\nThis project welcomes contributions and suggestions! Here's what you need to know to get started.\r\n\r\n### Feedback and Feature Requests\r\n\r\n\u003e When you're ready, you can open issues [here](https://github.com/Azure/platform-chaos-api/issues)!\r\n\r\nTo submit feedback or request features please do a quick search for similar issues,\r\nthen open a new issue. If you're requesting a new feature, please briefly explain in the issue what scenario you're planning to use the feature for.\r\n\r\n### Development Requirements\r\n\r\nTo get started developing, you'll need to first ensure you have these tools installed:\r\n\r\n* [Git](https://git-scm.com)\r\n* [NodeJS](https://nodejs.org)\r\n\r\nOnce you've installed those, clone this repository and install dependencies:\r\n\r\n```\r\ngit clone https://github.com/Azure/platform-chaos.git\r\ncd platform-chaos\r\nnpm install\r\n```\r\n\r\nNow you're ready to begin contributing!\r\n\r\n### Testing and Linting\r\n\r\nTo run the tests for this project, use npm to run the linter and the tests locally.\r\n```\r\nnpm test\r\n```\r\nNote this command is meant to be run from the project directory (the folder you cloned the project into). It will run the linter and then if the linter pass is successful, then the tests will run. To run the linter separately from the tests, run:\r\n```\r\nnpm run lint\r\n```\r\n\r\n### Legal\r\n\r\nMost contributions require you to agree to a\r\nContributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us\r\nthe rights to use your contribution. For details, visit https://cla.microsoft.com.\r\n\r\nWhen you submit a pull request, a CLA-bot will automatically determine whether you need to provide\r\na CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions\r\nprovided by the bot. You will only need to do this once across all repos using our CLA.\r\n\r\n### Code of Conduct\r\n\r\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).\r\nFor more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\r\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazure%2Fplatform-chaos-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fazure%2Fplatform-chaos-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazure%2Fplatform-chaos-api/lists"}