Toxiproxy Server

Version: 2.12.0 darwin linux windows

Toxiproxy is a framework for simulating network conditions. It’s made specifically to work in testing, CI and development environments, supporting deterministic tampering with connections, but with support for randomized chaos and customization. Toxiproxy is the tool you need to prove with tests that your application doesn’t have single points of failure. We’ve been successfully using it in all development and test environments at Shopify since October, 2014. See our blog post on resiliency for more information.

Toxiproxy usage consists of two parts. A TCP proxy written in Go (what this repository contains) and a client communicating with the proxy over HTTP. You configure your application to make all test connections go through Toxiproxy and can then manipulate their health via HTTP.

Installation Instructions

Linux

Download ToxiproxyServer
{
  "url": "{{ .SVar `.tool.toxiproxy_server.download.url` }}",
  "destination_folder": "{{ .PDownloads }}",
  "output_filename": "{{ .SVar `.tool.toxiproxy_server.download.filename` }}",
  "overwrite": false
}
Copy download to tool space
{
  "source": "{{ .PDownloads }}/{{ .SVar `.tool.toxiproxy_server.download.filename` }}",
  "destination": "{{ .PTools }}/toxiproxy_server/{{ .SVar `.tool.toxiproxy_server.download.version` }}/toxiproxy-server"
}
Make sure artefact is executable
{
  "path": "{{ .PTools }}/toxiproxy_server/{{ .SVar `.tool.toxiproxy_server.download.version` }}/toxiproxy-server",
  "permission_bits": 504
}

MacOS

Download ToxiproxyServer
{
  "url": "{{ .SVar `.tool.toxiproxy_server.download.url` }}",
  "destination_folder": "{{ .PDownloads }}",
  "output_filename": "{{ .SVar `.tool.toxiproxy_server.download.filename` }}",
  "overwrite": false
}
Copy download to tool space
{
  "source": "{{ .PDownloads }}/{{ .SVar `.tool.toxiproxy_server.download.filename` }}",
  "destination": "{{ .PTools }}/toxiproxy_server/{{ .SVar `.tool.toxiproxy_server.download.version` }}/toxiproxy-server"
}
Make sure artefact is executable
{
  "path": "{{ .PTools }}/toxiproxy_server/{{ .SVar `.tool.toxiproxy_server.download.version` }}/toxiproxy-server",
  "permission_bits": 504
}

Binaries