MCPcopy
hub / github.com/powerfulseal/powerfulseal

github.com/powerfulseal/powerfulseal @3.3.0 sqlite

repository ↗ · DeepWiki ↗ · release 3.3.0 ↗
543 symbols 1,835 edges 80 files 161 documented · 30%
README

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.

Documentation

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

  • https://medium.com/faun/failures-are-inevitable-even-a-strongest-platform-with-concrete-operations-infrastructure-can-7d0c016430c6
  • https://www.techatbloomberg.com/blog/powerfulseal-testing-tool-kubernetes-clusters/
  • https://siliconangle.com/blog/2017/12/17/bloomberg-open-sources-powerfulseal-new-tool-testing-kubernetes-clusters/
  • https://github.com/ramitsurana/awesome-kubernetes#testing
  • https://github.com/ramitsurana/awesome-kubernetes#other-useful-videos
  • https://github.com/dastergon/awesome-chaos-engineering#notable-tools
  • https://www.linux.com/news/powerfulseal-testing-tool-kubernetes-clusters-0
  • https://www.infoq.com/news/2018/01/powerfulseal-chaos-kubernetes
  • PowerfulSeal presentation at KubeCon 2017 Austin

Tools consuming PowerfulSeal

  • Chaos and resiliency testing tool for Kubernetes and OpenShift: https://github.com/openshift-scale/kraken

Footnotes

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

Core symbols most depended-on inside this repo

get
called by 199
powerfulseal/cli/pscmd.py
make_dummy_object
called by 29
tests/fixtures.py
execute
called by 27
powerfulseal/cli/pscmd.py
makeLogger
called by 26
powerfulseal/__init__.py
act
called by 24
powerfulseal/policy/action_nodes_pods.py
parse_memory_string
called by 12
powerfulseal/k8s/metrics_server_client.py
match
called by 11
powerfulseal/policy/action_pods.py
parse_args
called by 10
powerfulseal/cli/__main__.py

Shape

Method 269
Function 202
Class 56
Route 16

Languages

Python99%
TypeScript1%

Modules by API surface

tests/clouddrivers/test_azure_driver.py34 symbols
powerfulseal/cli/pscmd.py34 symbols
powerfulseal/policy/action_nodes_pods.py16 symbols
powerfulseal/k8s/k8s_client.py16 symbols
tests/policy/test_action_nodes_pods.py15 symbols
powerfulseal/cli/__main__.py15 symbols
powerfulseal/clouddrivers/gcp_driver.py14 symbols
powerfulseal/policy/scenario.py13 symbols
powerfulseal/policy/action_pods.py13 symbols
powerfulseal/policy/action_clone.py13 symbols
tests/metriccollectors/test_prometheus_collector.py12 symbols
tests/clouddrivers/test_openstack.py12 symbols

For agents

$ claude mcp add powerfulseal \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact