{"id":23532633,"url":"https://github.com/outbrain-inc/gomjabbar","last_synced_at":"2025-04-22T22:41:12.402Z","repository":{"id":50051874,"uuid":"64206550","full_name":"outbrain-inc/GomJabbar","owner":"outbrain-inc","description":"Chaos Monkey for your private cloud","archived":false,"fork":false,"pushed_at":"2024-09-10T11:20:47.000Z","size":97,"stargazers_count":31,"open_issues_count":8,"forks_count":10,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-03-29T19:34:31.352Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/outbrain-inc.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":"2016-07-26T09:02:26.000Z","updated_at":"2025-02-27T04:34:48.000Z","dependencies_parsed_at":"2024-09-10T12:10:16.879Z","dependency_job_id":null,"html_url":"https://github.com/outbrain-inc/GomJabbar","commit_stats":null,"previous_names":["outbrain-inc/gomjabbar","outbrain/gomjabbar"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outbrain-inc%2FGomJabbar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outbrain-inc%2FGomJabbar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outbrain-inc%2FGomJabbar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outbrain-inc%2FGomJabbar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/outbrain-inc","download_url":"https://codeload.github.com/outbrain-inc/GomJabbar/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250337257,"owners_count":21414092,"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-12-25T23:12:08.966Z","updated_at":"2025-04-22T22:41:12.384Z","avatar_url":"https://github.com/outbrain-inc.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GomJabbar - Chaos Monkey for your private cloud\n[![Build Status](https://travis-ci.org/outbrain/GomJabbar.svg?branch=master)](https://travis-ci.org/outbrain/GomJabbar)\n\n## What is GomJabbar?\nGomJabbar is a service inspired by [Netflix's ChaosMonkey](https://github.com/Netflix/chaosmonkey), \nbut unlike ChaosMonkey, it was designed to work with your private cloud infrastructure (i.e. your own data centers).\n\nThe service exposes endpoints that allow you to randomly select targets, trigger a selected fault, and revert when needed. \n\n## Why should I run GomJabbar?\nYou can find the Netflix explanation [here](https://github.com/Netflix/SimianArmy/wiki/Chaos-Monkey#why-run-chaos-monkey).\nNo point in copying that over ;)\n\nThe main idea is to reduce our fear from production (fear is the mind killer remember?). \nIf you want to learn how to improve your code, monitoring, and alerting system, \nlearn how to deal with production issues when you're awake and ready, this is the tool for you.\n\nAfter running several chaos drills at Outbrain, I can assure you that doing this on a regular basis is extremely valueable.\nDuring a midnight page most people will not fix anything, nor investigate too far, and the incident will usually end with a service restart.\nDuring a chaos drill we look deeper into the root causes, and try to learn what we need to fix, and where we need to improve.\nAfter every drill we conduct a quick take-in and implement the fixes as soon as possible.\n\nRunning GomJabbar helps us validate our assumptions, our infrastructure, our resilience, and our fixes.\n\n## Supported faults\nGomJabbar supports an extensible fault injection mechanism, along with a configuration based fault triggering commands and scripts.\nThe [example config file](config-template.yaml) contains examples ranging from harmless failures to graceful / graceless shutdowns and traffic control (network issues emulation).\n\n\n## Integration\n### Service Discovery\nWe currently integrate with [consul](https://www.consul.io/) out of the box, and provide a configuration based filtering for the targets. \nFuture versions will integrate with other service discovery methods, and the tool was designed to easily support this. \n\n### Fault Automation\nGom Jabbar now integrates with [RunDeck](http://rundeck.org/), and [Ansible](http://docs.ansible.com/ansible/). \nFuture versions may provide other automation tools, or a built-in ssh capabilities / agents.\n\n## User Guide\n[User Guide](docs/user-guide.md) ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foutbrain-inc%2Fgomjabbar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foutbrain-inc%2Fgomjabbar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foutbrain-inc%2Fgomjabbar/lists"}