Antithesis logomark
DOCS

Prerequisites

This page lists technical prerequisites for testing your system in Antithesis. Ensuring that you have all these prerequisites ready before you start a Quickstart or Standard POC will help you get the most out of your trial.

Suitable system types

Antithesis is primarily used for fault-tolerance testing of stateful distributed systems.

For testing program logic at the application level, we offer Hegel, a universal property-based testing engine and family of libraries. Hegel is open source and available in many different languages.

For testing web or terminal UIs, we offer Bombadil, an open-source property-based testing tool.

Architecture & compilation

CPU Architecture: Your code must be compiled for x86-64. Antithesis simulates an Intel CPU (Skylake architecture extension set) and does not natively support ARM or alternative CPU architectures at this time.

No Nested Virtualization: Nested hardware virtualization is not supported.

Software packaging & orchestration

Linux Container Images: All components of your system must be packaged as standard Linux container images.

Supported Orchestrators: Your system topology must be defined with either Docker Compose or Kubernetes manifests.

We recommend containerizing your system before embarking on a Quickstart or Standard POC. Many of our customers have had AIs one-shot containerization, and AI skills are available for this.

Complete network isolation

There’s no internet access inside the Antithesis environment: Any third-party service your application connects to (e.g., databases, message queues, public APIs) need to be deployed alongside it.

There are two ways to do this:

  1. Deploy the actual service, just as you would in production.
  2. Upload a mock of the service.

Having these on hand before starting a Quickstart or Standard POC will help you make the most of the trial.

Handling external dependencies has more details on how to do this.

Client or test harness

A driver or client to exercise your system: This can be a simple client script or an existing integration test, and is referred to as a workload or test template in these docs. Creating test templates provides instructions on how to package your existing client / integration test for use in Antithesis.

Having a client or integration test prepared before starting a Quickstart or Standard POC will help you make the most of the trial.