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:
- Deploy the actual service, just as you would in production.
- 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.