# nerves_gate_sim v0.1.0 - API Reference

## Modules

- [NervesGate.AlarmChecks](NervesGate.AlarmChecks.md): Bounded probes of the real guest Alarmist handler, without hardware adapters or mocks.
- [NervesGate.DevSession](NervesGate.DevSession.md): Host-only identity, status and graceful shutdown of this checkout's mix dev session.
- [NervesGate.ManualFaults](NervesGate.ManualFaults.md): Reversible bench controls. One long-lived worker owns cleanup.
- [NervesGate.QemuTests](NervesGate.QemuTests.md): One admission owner for the multi-device simulator, shared by the site, CLI and CI.
- [NervesGate.RecoveryChecks](NervesGate.RecoveryChecks.md): Local management recovery checks, not proof of access through the tailnet.
- [NervesGate.Simulator](NervesGate.Simulator.md): Host-only lifecycle owner of disposable QEMU devices. No devices start with this server.
- [NervesGate.Simulator.BuildOutput](NervesGate.Simulator.BuildOutput.md): Runs `mix firmware` under MuonTrap, streams its output to the terminal and
forwards the latest complete line in each chunk to the simulator. Flushes the
final fragment on completion.

- [NervesGate.Simulator.Network](NervesGate.Simulator.Network.md): The owned bench's real Ethernet switch. QEMU supplies the network protocols.
- [NervesGate.Simulator.SSH](NervesGate.Simulator.SSH.md): Real SSH recovery, provisioning and firmware transport for owned simulator devices.
- [NervesGate.TailnetAuth](NervesGate.TailnetAuth.md): Test auth keys and enrollment for simulator-owned QEMU guests.
- [NervesGate.TestQemu](NervesGate.TestQemu.md): Scenario assertions and cleanup for simulator-owned device handles.
- [NervesGateSim](NervesGateSim.md): Development tools for disposable, supervised QEMU devices. No in-memory hardware backend.
- [NervesGateWeb.Simulator.Api](NervesGateWeb.Simulator.Api.md): JSON for the simulator CLI tasks. Never includes device credentials.
- [NervesGateWeb.Simulator.DeviceLive](NervesGateWeb.Simulator.DeviceLive.md): One simulated device: its live projection, faults, manual controls and scenarios.
- [NervesGateWeb.Simulator.Endpoint](NervesGateWeb.Simulator.Endpoint.md): The simulator site: a private Unix socket for the CLI and a loopback port.
- [NervesGateWeb.Simulator.OverviewLive](NervesGateWeb.Simulator.OverviewLive.md): Simulator lifecycle, configuration, devices, runs and the shared event log.
- [NervesGateWeb.Simulator.Router](NervesGateWeb.Simulator.Router.md)

## Mix Tasks

- [mix dev.ui](Mix.Tasks.Dev.Ui.md): Run the gateway UI on the workstation, with code reload, against one device.
Simulated and real gateways are selected the same way
- [mix nerves_gate.sim](Mix.Tasks.NervesGate.Sim.md): Start the QEMU simulator site. Devices remain stopped until explicitly started
in the site. Applications use the real firmware SDK backend inside the guest;
this task never starts the current application against fake host hardware.
- [mix nerves_gate.sim.install](Mix.Tasks.NervesGate.Sim.Install.md): Package the current application and run it on a simulator device.
- [mix qemu.status](Mix.Tasks.Qemu.Status.md): Inspect this checkout's simulator session without starting or stopping it.
- [mix qemu.stop](Mix.Tasks.Qemu.Stop.md): Stop this checkout's idle simulator session and wait for its lock to be released.
- [mix qemu.test](Mix.Tasks.Qemu.Test.md): Run scenarios, or change the lifecycle, of the running mix dev simulator.

