TestPulse Pro · public beta
Runs on your machine. Points at your server.
Evidence-first AAA diagnostics for your own lab. Point it at your RADIUS or TACACS+ server and get a named cause with the evidence behind it. If you have nothing to point it at, the lab we develop against is here too.
The API, the viewer, the diagnosis engine and 31 CLI commands, in one pure-Python wheel. No cluster, no container, no second service. Python 3.10 or newer.
python3 -m venv .venv && source .venv/bin/activate pip install testpulse-0.1.1-py3-none-any.whl export TESTPULSE_API_TOKEN="$(python3 -c 'import secrets;print(secrets.token_urlsafe(32))')" testpulse-api
Open http://127.0.0.1:8000. The viewer is served by the same process — there is no second container to run. First start takes up to a minute while the modules load.
Optional
No server to point it at?
Pro diagnoses a real server; it does not simulate one. If you have nothing to point it at, this is the lab we develop against — the AAA devices, packaged so you can stand them up yourself. We do not host it and we do not run it for you.
Real 802.1X, RADIUS, TACACS+, DHCP and directory traffic on a single Kubernetes host — real EAPOL frames on the wire, not simulated ones.
It needs a machine of its own
a minimum, not a recommendation
both planes contend below this
eviction is total, not partial
An undersized lab does not fail visibly
Below the floor the lab's planes contend for CPU, and the inflated latency reads as a transport fault in a diagnosis. It gives you confident wrong answers rather than an error you would notice.
What's inside
FreeRADIUS — auth, accounting, CoAtac_plusOpenLDAP
DNSDHCP802.1X authenticatorsupplicants
RouterOS switch VMLinux endpoint VMs
Plus the build stages, three health checks, an operating guide, and an AI administrator that runs the lab so you should not need kubectl. It carries 14 real failure modes with the tell that separates each from the fault it is usually mistaken for.
The VM plane needs hardware virtualization
Without it the switch and endpoint VMs stay down and the AAA path still works — every device that authenticates is a container.
Documentation
Both guides ship with the download.
A download that works offline should not send you online to learn how to use it. Each guide is in the archive it belongs to — and readable here first, so you can see what you are getting before you get it.
PDF · SHIPS WITH THE WHEEL
TestPulse Pro — User Guide
Install, first run, diagnosing a log you already have, pointing it at your testbed, reading a diagnosis, packet capture, AI narration, MCP and the CLI. Everything in it was run against the shipped package — where a command's output is shown, that is its real output.
PDF · SHIPS WITH THE LAB
Virtual Lab — Administration and Troubleshooting
What to ask the AI administrator, how to read what it tells you, and — most importantly — how to tell a broken lab apart from a real diagnostic finding. Includes the three health checks, the hypervisor settings, sizing, and the lab credentials.
Before you install
Verify what you downloaded.
Two steps, in this order. The first says the checksum manifest really came from us; the second says the files match it. The second alone is not enough — anyone who could replace the wheel could replace the manifest beside it, and the pair would still agree.
gpg --verify SHA256SUMS.asc SHA256SUMS # is the manifest ours? sha256sum -c SHA256SUMS # do the files match it?
If this release shipped without SHA256SUMS.asc, it is unsigned
Run the second command alone and treat the result as "these files are self-consistent", not "these files are ours". Those are different claims and only one of them is about us.
Be straight with yourself first
What this beta is.
- Runs entirely on your machine. Parsing, correlation, the deterministic diagnosis and the evidence bundle make no network call.
- AI narration is optional and uses your key —
pip install 'testpulse[ai]'. There is no hosted model in the beta, and that key is a cost you carry. - Ships sample evidence and a runnable test suite, so the panels have something to show before you have connected anything.
- The Trainer and vendor plugins are separate products and are absent — not disabled. A greyed-out panel advertising something it can never run is worse than no panel.
- No billing, no SLA. Support is one person reading email.
Feedback goes through the product — testpulse-diagnose feedback — or the Feedback tab in the viewer. It never includes your raw logs or captures. If you need a person, support@bmi2.com.