Skip to content
Chaos engineering framework to help you Immunize your service mesh
Go Makefile Shell Dockerfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.githooks basic ci Apr 8, 2019
api/v1 Reporting api (#46) Jun 6, 2019
changelog use correct build artifact identifier (#49) Jun 10, 2019
ci E2e bookinfo (#32) May 13, 2019
cmd
docs/docs/v1 Reporting api (#46) Jun 6, 2019
examples
img
install/helm
pkg
test use correct build artifact identifier (#49) Jun 10, 2019
.firebaserc firebase (#39) May 13, 2019
.gitignore firebase (#39) May 13, 2019
DEVELOPMENT.md E2e bookinfo (#32) May 13, 2019
Gopkg.lock
Gopkg.toml Reporting api (#46) Jun 6, 2019
Makefile
README.md
cloudbuild-cache.yaml Reporting api (#46) Jun 6, 2019
cloudbuild.yaml Reporting api (#46) Jun 6, 2019
firebase.json firebase (#39) May 13, 2019
generate.go bump solo kit version, generate apis (#26) May 9, 2019
solo-project.yaml tutorial with bookinfo (#38) May 15, 2019

README.md

Gloo Shot
Service Mesh Chaos Engineering

Gloo Shot is a chaos engineering framework for service meshes.

Installation   |   Documentation   |   Blog   |   Slack   |   Twitter

Using Gloo Shot

  • Harden your applications: Gloo Shot allows you to test failure modes before they occur in production.
  • Preview architectural changes: Real deployments have different performance characteristics than your production environment. Gloo Shot allows you to simulate your production environment (latency, faults, etc.) prior to deployment.

Getting started

  • Gloo Shot is easy to install from the glooshot command line tool.
    • Once Gloo Shot is installed, you can trigger experiments with familiar kubectl commands.
    • Please see our getting started tutorial for a quick start usage overview.

Experiment specification

  • Gloo Shot has an expressive API for designing targeted experiments in your service mesh.
  • You can specify fault injections in the form of:
  • These faults can be applied to any upstream for all requests or for a specified precentage of the requests.
  • Experiments automatically terminate according to your specification.
    • Failure condition - Prometheus metric value threshold or a custom webhook
    • Timeout - if none of the metric thresholds are exceeded, Gloo Shot will terminate the experiment after a set duration.

What makes Gloo Shot unique

  • Integration with service meshes: Gloo Shot was designed for service mesh environments. It leverages Supergloo for a consistent interface to multiple different service meshes.
  • Kubernetes-native experiment specifications: Gloo Shot's configuration resources are specified in Custom Resource Definitions (CRDs) which means that you can manage experiments with familiar kubectl commands.

Next Steps

Thanks

Gloo Shot would not be possible without the valuable open-source work of projects in the community. We would like to extend a special thank-you to Envoy.

You can’t perform that action at this time.