Skip to content

solo-io/glooshot

Repository files navigation

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.