Developer Tools

A catalog of tools and utilities for Synadia and NATS developers


Antithesis

Assist finding, reproducing and debugging very rare distributed bugs (e.g., stream replication, RAFT, …).

testing, debugging, fault-injection, invariant-testing

Source

Contact: Marco


BuildKite

CI/CD platform with hosted web interface and plug-in worker agents.

Useful to trigger nightly jobs, pull-request jobs, complex workflows, testing matrices, and more.

(To access, create a user with your Synadia email account, and ask to be added to the Synadia team)

CI/CD, testing, automation

Source

Contact: Wally, Sam


Faber

Deploy ephemeral NATS clusters in the cloud for testing, prototyping, demos, etc.

testing, testing-infra, cluster-management

Source

Contact: Reuben, Marco


Failground

A playground for failure.

Stands up a local JetStream cluster with a simple command. Allows injecting chaos/mayhem (network packet loss, random kills, rolling restarts, and more).

Also contains a library of workloads that generate load and check for invariants not being violated. These workloads can be used against any cluster.

Also used in CI mode: Nightly tests matrix, custom matrix on demand, single test on demand

testing, fault-injection, invariant-testing, stress-testing

Contact: Marco, Reuben


Gauge

Track performance of nats-server development branches and releases. Allows submitting benchmarks for (unmerged) development branches, using different go runtime versions, and more.

benchmark, performance-regression

Source

Contact: Reuben, Marco


nats-binaries

HTTP endpoint that remotely builds nats-server (any version/architecture) and allows downloading the corresponding binary.

build, automation, testing

Source

Contact: Wally


nats CLI

The NATS developer swiss knife. Wide range of features useful for cluster management, benchmarking, debugging and more.

cluster-management, benchmark, testing, investigation

Contact: R.I.