{"id":18732504,"url":"https://github.com/gsscoder/chaos-appservices","last_synced_at":"2026-04-17T10:31:19.669Z","repository":{"id":150998145,"uuid":"341821063","full_name":"gsscoder/chaos-appservices","owner":"gsscoder","description":"This repository is meant to share my chaos engineering experiments to achieve knowledge in designing resilient systems.","archived":false,"fork":false,"pushed_at":"2021-03-13T08:26:12.000Z","size":805,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-19T23:08:44.198Z","etag":null,"topics":["azure","chaos-engineering","csharp","demo","dotnet"],"latest_commit_sha":null,"homepage":"","language":"C#","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/gsscoder.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,"zenodo":null}},"created_at":"2021-02-24T07:51:22.000Z","updated_at":"2021-03-13T08:26:14.000Z","dependencies_parsed_at":"2023-04-14T09:45:45.272Z","dependency_job_id":null,"html_url":"https://github.com/gsscoder/chaos-appservices","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gsscoder/chaos-appservices","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gsscoder%2Fchaos-appservices","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gsscoder%2Fchaos-appservices/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gsscoder%2Fchaos-appservices/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gsscoder%2Fchaos-appservices/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gsscoder","download_url":"https://codeload.github.com/gsscoder/chaos-appservices/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gsscoder%2Fchaos-appservices/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31925289,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T10:19:20.377Z","status":"ssl_error","status_checked_at":"2026-04-17T10:19:18.682Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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","csharp","demo","dotnet"],"created_at":"2024-11-07T15:06:27.767Z","updated_at":"2026-04-17T10:31:19.634Z","avatar_url":"https://github.com/gsscoder.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Choas App Services\n\nThis repository is meant to share my [chaos engineering](https://en.wikipedia.org/wiki/Chaos_engineering) experiments to achieve knowledge in designing [resilient systems](https://insights.sei.cmu.edu/sei_blog/2019/11/system-resilience-what-exactly-is-it.html).\n\nFor now it's available just a Function App in which latency and fault chaos policy are injected. This App Service is based on [Simmy](https://github.com/Polly-Contrib/Simmy) in turn based on [Polly](https://github.com/App-vNext/Polly).\n\n## Dependencies\n\n- .NET Core 3.1 or higher\n\n## Configure\n\nJust edit `local.settings.json` for local execution:\n\n```yaml\n{\n  \"IsEncrypted\": false,\n  \"Values\": {\n    \"AzureWebJobsStorage\": \"UseDevelopmentStorage=true\",\n    \"FUNCTIONS_WORKER_RUNTIME\": \"dotnet\",\n    \"APPINSIGHTS_INSTRUMENTATIONKEY\": \"test_debug\",\n    // Latency\n    \"ChaosLatencySeconds\": 5,\n    \"ChaosLatencyInjectionRate\": 0.1,\n    \"ChaosLatencyEnabled\": true,\n    // Fault\n    \"ChaosFaultInjectionRate\": 0.05,\n    \"ChaosFaultEnabled\": true\n  }\n}\n```\n\nOn Azure add all configuration settings present in `local.settings.json` prefixed with `Chaos`.\n\n## Execute\n\n### Function App\n\nOpen Visual Studio and point your web browser to [http://localhost:7071/api/ProductsFunction](http://localhost:7071/api/ProductsFunction).\n\nThe project is configured to use [Application Insights](https://docs.microsoft.com/en-us/azure/azure-monitor/app/app-insights-overview) locally:\n\n![Chaos Trigger AI Screenshot](./assets/chaostriggeraishot.png \"Chaos Trigger AI Screenshot\")\n\n### Console App\n\nA sample console app is provided to demonstrate access to Application Insights using the REST API. It reads only trace events.\nThe submitted [KQL](https://docs.microsoft.com/en-us/azure/data-explorer/kusto/concepts/) query is:\n\n```sql\ntraces | where timestamp \u003c= ago(1h) | limit 50\n```\n\nYou need to configure `appsettings.json` with your AI **Application ID** and **API key**.\n\n```yaml\n{\n    \"httpTimeout\": 10000,\n    \"aiApplicationId\": \"{your_app_insights_app_id}\",\n    \"aiApiKey\": \"{your_api_key}\",\n    \"timesAgo\": \"1h\"\n}\n```\n\n![AI API Access](./assets/aiapisettings.png \"AI API Access\")\n\nJust create an **API key** and set it along with **Application ID** in the configuration file.\nThe application will write to standard output the returned JSON.\n\n## Libraries\n\n- [Polly](https://github.com/App-vNext/Polly)\n- [Simmy](https://github.com/Polly-Contrib/Simmy)\n- [CSharpx](https://github.com/gsscoder/csharpx)\n- [Bogus](https://github.com/bchavez/Bogus)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgsscoder%2Fchaos-appservices","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgsscoder%2Fchaos-appservices","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgsscoder%2Fchaos-appservices/lists"}