NervesGate.RecoveryChecks (nerves_gate_sim v0.1.0)

Copy Markdown

Local management recovery checks, not proof of access through the tailnet.

Summary

Functions

The UI read model must follow changes through NervesGate's and VintageNet's property tables, not only direct status reads.

Await stable health. A target nil requires every gateway child unchanged; :reboot requires a new kernel boot with the same children and saved state.

Fail a target times times in a row, each after its restart, then await recovery.

Crash a worker until its supervisor stops restarting it; returns the crash count.

Kill a gateway worker and return its restarted PID.

Functions

assert_projection_follows(vm)

The UI read model must follow changes through NervesGate's and VintageNet's property tables, not only direct status reads.

await_recovery(vm, before, target, options \\ [])

Await stable health. A target nil requires every gateway child unchanged; :reboot requires a new kernel boot with the same children and saved state.

baseline(vm)

capture_failure(vm)

crash(vm, target, times \\ 1)

Fail a target times times in a row, each after its restart, then await recovery.

crash_loop(vm, target)

Crash a worker until its supervisor stops restarting it; returns the crash count.

dependencies()

event(vm, name, data)

http_ready?(vm)

restart_worker(vm, target)

Kill a gateway worker and return its restarted PID.

snapshot(vm)

targets()