Shopify / Shopify/toxiproxy

Upstream aware toxics

Open
#244 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Go
Stars
12.4k
Forks
510
PR merge metrics
No merged PRs in 30d

Description

I'd like to be able to write toxics that are upstream aware e.g. drop if client's IP = x.

This will be useful for testing peer 2 peer systems rather than client server.

The usecase I have in mind is for a service that forms a cluster e.g. a Cassandra Cluster or an Akka Cluster I'd like to have toxi proxy between each P2P connection and be able to simulate a node misbehaving. As these are P2P systems each node will connect to a subset of other nodes so I only wan to disrupt incoming traffic from a given source.

To support this I think we'd need to add more information to ToxicStub or create a new toxic type.

WDYT? Is this something you'd accept if I worked on it?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing ToxicStub and the existing toxic type model to determine where upstream client information is available. Define how an upstream-aware toxic would filter incoming traffic by client IP, and consider the Cassandra or Akka cluster use case as the completion criterion; no specific files or tests are named in the issue.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
distributed-systems, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.