Skip to content
Diskit: A general-purpose testing kit for distributed systems.
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.


Welcome to Diskit, the general purpose distributed kit for testing distributed systems. With diskit you can define your test in diskit files, and run them using the diskit command line tool. You can use distkit to test your assumptions and speed of your distributed system.

How to use it?

With diskit you need to:

  • Dockerize your app - and include the iproute2 package.
  • Create a function to expose the state of your app.
    • TBD: It might be an endpoint, or a json in a determined path.
  • Define a .dk distest file with the test.
  • Optionally, define a .gdk with a topology definition.
  • Optionally, define some json files with the expected state of each node.


These tutorials will walk you through Diskit:

  1. Paxos: Basic overview of a "distest". Getting to know the how to use Diskit, and have an overview on what's achivable.
  2. State-base CRDTs: Understand how to disrupt the network: generate duplicate packages, add delays and much more.
  3. Ipfs: Handle more complex network topologies by defining graphs and using groups.
You can’t perform that action at this time.