Skip to content

powerfulseal/powerfulseal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

83e138c · Oct 22, 2021
Sep 6, 2020
Jul 24, 2020
Sep 28, 2021
Jun 8, 2020
Aug 25, 2020
Oct 21, 2021
Jul 6, 2020
Jul 15, 2021
Jun 9, 2020
Jul 6, 2020
Apr 6, 2021
Jun 5, 2020
Dec 6, 2017
Dec 6, 2017
May 21, 2020
Aug 20, 2020
Sep 6, 2020
Oct 10, 2019
Sep 17, 2021
Oct 10, 2019
May 21, 2020

Repository files navigation

PowerfulSeal

Travis PyPI

PowerfulSeal injects failure into your Kubernetes clusters, so that you can detect problems as early as possible. It allows for writing scenarios describing complete chaos experiments.

Powerful Seal Logo
Embrace the inevitable failure. Embrace The Seal.

Please refer to the Powerfulseal documentation to learn how to use it.

Highlights

  • works with Kubernetes, OpenStack, AWS, Azure, GCP and local machines
  • yaml policies describing complete chaos experiments
  • Prometheus and Datadog metrics collection
  • multiple modes for differnt use cases

Hello world!

Just to give you a taste, here's an example policy. It will kill a single pod, and then check that the service continues responding to HTTP probes, to verify its resiliency to one of its pods going down.

scenarios:
- name: Kill one pod in my namespace, make sure the service responds
  steps:
  # kill a pod from `myapp` namespace
  - podAction:
      matches:
        - namespace: myapp
      filters:
        - randomSample:
            size: 1
      actions:
        - kill:
            probability: 0.75
  # check my service continues working
  - probeHTTP:
      target:
        service:
          name: my-service
          namespace: myapp
      endpoint: /healthz

Assuming that's in policy.yml, you can run it like this:

powerfulseal autonomous --policy-file ./policy.yaml

Learn more

Installing

  • docker hub: docker pull powerfulseal/powerfulseal:3.1.1
  • pip: pip install powerfulseal

Read about the PowerfulSeal

Tools consuming PowerfulSeal


Footnotes

PowerfulSeal logo Copyright 2018 The Linux Foundation, and distributed under the Creative Commons Attribution (CC-BY-4.0) license.