awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
jepsen-io avatar

jepsen-io/jepsen

0
View on GitHub↗
7,424 stars·751 forks·Clojure·20 views

Jepsen

Jepsen is a distributed systems testing framework designed to verify the correctness of distributed software. It functions as a fault injection engine and a distributed consistency analyzer that validates whether a system's behavior matches its promised consistency guarantees by analyzing operation histories against formal models.

The project distinguishes itself through its ability to simulate complex failure scenarios, including network partitions, node crashes, and clock drifts. It employs packet-level traffic shaping to drop or delay communication and manipulates system time across clusters to identify bugs related to clock skew and synchronization errors.

The framework provides a full orchestration surface for deploying nodes across virtual machines, containers, or physical hardware. Its capability set covers the entire verification workflow, from managing remote command execution and node roles to performing linearizable history analysis and rendering operation timelines via web-based interfaces.

The system persists complete execution histories and performance metrics to disk, allowing for offline auditing, anomaly hunting, and the calculation of latency and throughput under stress.

Features

  • Distributed System Verification - Introduces faults and analyzes operation histories to ensure a distributed system behaves exactly as specified.
  • Linearizability Analyzers - Analyzes the total order of operations to ensure the system adheres to strong consistency guarantees.
  • Fault Injection Testing - Coordinates controlled system failures like network partitions and node crashes to test resilience.
  • Network Faults - Introduces network faults by dropping, delaying, or shaping packets to test communication resilience.
  • History Correctness Verification - Validates recorded operation histories against a formal model to detect consistency violations and correctness errors.
  • Clock Drift Simulations - Simulates clock skew and time jumps across clusters to identify synchronization bugs in distributed systems.
  • Consistency Model Verifiers - Checks if a system's behavior matches promised consistency guarantees by analyzing operation histories.
  • Distributed Consistency Analyzers - Validates recorded operation histories to detect linearizability violations and data loss in distributed clusters.
  • Time Manipulation - Stubs or offsets the system clock to simulate time jumps and drifts across a distributed cluster.
  • Operation History Analysis - Analyzes recorded logs of system operations to detect anomalies and generate correctness reports for distributed systems.
  • Distributed Systems Testing - Verifies that distributed software remains correct and consistent when subjected to network partitions and node failures.
  • Model-Based Consistency Verifiers - Validates recorded operation sequences against a formal specification to detect consistency violations.
  • Interactive Debugging and Testing - Loads serialized test data and operation histories into an interactive environment for debugging and anomaly hunting.
  • Storage IO Fault Injection - Induces filesystem faults by flipping bits or truncating files to simulate data loss and hardware failure.
  • Test Cluster Deployers - Deploys and manages distributed nodes across virtual machines, containers, or physical hardware for testing.
  • Traffic Shaping - Controls network communication by dropping or delaying packets to simulate unstable connections.
  • Event Logging - Persists complete execution histories of operations and faults to disk for offline auditing and anomaly hunting.
  • Resilience Benchmarks - Measures latency and throughput while a system is under stress or experiencing partial failures.
  • Clock Drift Visualizers - Tracks and plots clock drift over time to identify timing anomalies across distributed nodes.
  • Operation Timeline Visualization - Generates a visual timeline of the execution history to audit the exact sequence of system events.
  • Clock Skew Analyzers - Measures and simulates clock skew and drift across multiple nodes to find synchronization errors.
  • Performance Analysis - Calculates latencies and throughput rates to evaluate system behavior under stress via rendered graphs.
  • Test Orchestration - Coordinates server setup, failure injection, and operation execution to interpret the final results of a test run.
  • Infrastructure and Systems - Framework for verifying distributed systems.
  • Distributed Systems Frameworks - Framework for verifying distributed systems through fault injection.

Star history

Star history chart for jepsen-io/jepsenStar history chart for jepsen-io/jepsen

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does jepsen-io/jepsen do?

Jepsen is a distributed systems testing framework designed to verify the correctness of distributed software. It functions as a fault injection engine and a distributed consistency analyzer that validates whether a system's behavior matches its promised consistency guarantees by analyzing operation histories against formal models.

What are the main features of jepsen-io/jepsen?

The main features of jepsen-io/jepsen are: Distributed System Verification, Linearizability Analyzers, Fault Injection Testing, Network Faults, History Correctness Verification, Clock Drift Simulations, Consistency Model Verifiers, Distributed Consistency Analyzers.

Which projects share features with jepsen-io/jepsen?

Projects with overlapping indexed features include: chaos-mesh/chaos-mesh — Chaos Mesh is a cloud-native fault injection tool and Kubernetes chaos engineering platform designed to verify system… paramiko/paramiko — Paramiko is a pure-Python implementation of the SSH2 protocol, providing a library for making secure network… fizzadar/pyinfra — pyinfra is an agentless infrastructure automation framework that turns declarative Python code into idempotent shell… lollipopkit/flutter_server_box — Flutter Server Management App is a mobile application designed for monitoring and controlling remote servers through a… gruntwork-io/terratest — Terratest is a Go library and testing framework designed for automating the deployment, validation, and destruction of… pry0cc/axiom — Axiom is a cloud infrastructure orchestrator and distributed security scanning framework. It serves as a manager for…

Projects sharing features with Jepsen

These projects share indexed features with Jepsen. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • chaos-mesh/chaos-meshchaos-mesh avatar

    chaos-mesh/chaos-mesh

    7,761View on GitHub↗

    Chaos Mesh is a cloud-native fault injection tool and Kubernetes chaos engineering platform designed to verify system resilience. It functions as a testing framework for designing and executing automated failure scenarios to evaluate how containerized workloads recover from disruptions. The project acts as a multi-cluster chaos orchestrator, providing a centralized control plane to manage and monitor experiments across multiple remote Kubernetes clusters from a single interface. It includes a dashboard for the visual scheduling of experiments and the coordination of complex failure scenarios.

    Go
    View on GitHub↗7,761
  • gruntwork-io/terratestgruntwork-io avatar

    gruntwork-io/terratest

    7,879View on GitHub↗

    Terratest is a Go library and testing framework designed for automating the deployment, validation, and destruction of infrastructure stacks. It serves as a cloud resource verification tool that interacts with provider APIs and executes remote shell commands to ensure infrastructure definitions are correctly configured. The framework provides specialized support for validating Terraform modules and Kubernetes deployments, including the verification of container orchestration manifests and Helm charts. It distinguishes itself through the use of Docker container utilities for script execution a

    Goawsdevopsdocker
    View on GitHub↗7,879
  • fizzadar/pyinfraFizzadar avatar

    Fizzadar/pyinfra

    5,793View on GitHub↗

    pyinfra is an agentless infrastructure automation framework that turns declarative Python code into idempotent shell commands to manage servers, containers, and local machines over SSH without requiring any pre-installed software on target hosts. It operates by comparing the desired state of a system against its current state, using a dry-run simulation mode to preview changes and a fact-based conditional execution engine to gather host attributes at runtime and control which operations run. The tool compiles Python operations into optimized shell commands and executes them in parallel across

    Python
    View on GitHub↗5,793
  • lollipopkit/flutter_server_boxlollipopkit avatar

    lollipopkit/flutter_server_box

    7,539View on GitHub↗

    Flutter Server Management App is a mobile application designed for monitoring and controlling remote servers through a graphical interface. It serves as a central hub for remote server administration, providing a visual way to manage Linux, Unix, and Windows systems. The application distinguishes itself by integrating mobile hardware features, such as biometric authentication and native push notifications, to secure and alert users about system contexts. It features a dedicated Docker container manager for controlling the lifecycle and status of containers and a server health monitor for trac

    Dartandroiddartflutter
    View on GitHub↗7,539
Compare all 30 related projects→