Chaos Monkey Symfony Bundle Save

Chaos Monkey for Symfony applications. Try to attack your running Symfony App.

Project README

ChaosMonkeySymfonyBundle

Minimum PHP Version Latest Stable Version buddy branch GitHub

Chaos Monkey for Symfony applications. Try to attack your running Symfony App.

Assaults

  • Latency Assault - adds a delay randomly from the range (min and max)
  • Exception Assault - throws given exception class
  • Memory Assault - fill memory until target fraction (95% for example)
  • Kill Assault - no mercy, plain exit()

Watchers

  • Request - attack http request
  • Repository (not implemented)
  • Service (not implemented)

How to use

  1. Install with composer:
    composer require chaos-php/chaos-monkey-symfony-bundle
    
  2. Add Symfony bundle (e.g. config/bundles.php):
    return [
        //... other bundles
        Chaos\Monkey\Symfony\ChaosMonkeyBundle::class => ['all' => true],
    ];
    
  3. Add chaos_monkey.yaml configuration (copy from below) and enable assaults
  4. Watch your app plunge into chaos 🙈🙊🙉 😈

Configuration reference

chaos_monkey:
    enabled: false
    probability: 20 # percentage probability of attack (100 - everyone, 0 - none)
    assaults:
        latency:
            active: false
            minimum: 1000 # in miliseconds
            maximum: 3000 # in miliseconds
        memory:
            active: false
            fill_fraction: 0.95 # percentage of memory filling
        exception:
            active: false
            class: 'RuntimeException'
        kill_app:
            active: false
    watchers: # currently watchers can be enabled/disabled only in container compile time
        request:
            enabled: true
            priority: 0

Roadmap

  • Query param activator
  • Flex recipe
  • Metrics (for example chaos_monkey_request_count_assaulted)
  • Assault profiles - each profile can contain different assaults
  • CustomWatcher (based on container tag)
  • CustomAssault (not implemented)

License

ChaosMonkeySymfonyBundle is released under the MIT Licence. See the bundled LICENSE file for details.

Author

Arkadiusz Kondas (@ArkadiuszKondas)

Open Source Agenda is not affiliated with "Chaos Monkey Symfony Bundle" Project. README Source: chaos-php/chaos-monkey-symfony-bundle
Stars
83
Open Issues
1
Last Commit
3 years ago
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating