Directories
¶
| Path | Synopsis |
|---|---|
|
Package api implements beacon's REST configuration API: a huma-on-chi HTTP interface for CRUD over sources, sinks, and connectors.
|
Package api implements beacon's REST configuration API: a huma-on-chi HTTP interface for CRUD over sources, sinks, and connectors. |
|
Package app is beacon's composition root: it owns the store, bus manager, data server, supervisor, and admin HTTP server.
|
Package app is beacon's composition root: it owns the store, bus manager, data server, supervisor, and admin HTTP server. |
|
Package bus owns one n2k.Client per physical CAN endpoint.
|
Package bus owns one n2k.Client per physical CAN endpoint. |
|
busfake
Package busfake provides an in-memory fake implementing n2k.Bus for tests: frames written by the client are recorded, and test-injected frames are delivered to the client's registered handler.
|
Package busfake provides an in-memory fake implementing n2k.Bus for tests: frames written by the client are recorded, and test-injected frames are delivered to the client's registered handler. |
|
Package config is the single validation+persist+reconcile choke point for beacon's configuration entities (sources, sinks, connectors).
|
Package config is the single validation+persist+reconcile choke point for beacon's configuration entities (sources, sinks, connectors). |
|
Package connector runs the per-connector pipeline: source subscription → CEL filter → durable queue → sink delivery with checkpointing.
|
Package connector runs the per-connector pipeline: source subscription → CEL filter → durable queue → sink delivery with checkpointing. |
|
Package filter compiles and evaluates CEL expressions against message envelopes.
|
Package filter compiles and evaluates CEL expressions against message envelopes. |
|
Package identity owns Beacon's stable ISO 11783/NMEA 2000 appliance identity and the product/configuration information derived from it.
|
Package identity owns Beacon's stable ISO 11783/NMEA 2000 appliance identity and the product/configuration information derived from it. |
|
Package inventory persists commissioning observations and operator-approved device baselines keyed by bus endpoint and stable ISO Device NAME.
|
Package inventory persists commissioning observations and operator-approved device baselines keyed by bus endpoint and stable ISO Device NAME. |
|
Package mcpserver exposes Beacon's local configuration and operational state through the Model Context Protocol.
|
Package mcpserver exposes Beacon's local configuration and operational state through the Model Context Protocol. |
|
Package metrics owns the OTel instrument set.
|
Package metrics owns the OTel instrument set. |
|
Package model defines beacon's configuration entities: sources, sinks, and connectors.
|
Package model defines beacon's configuration entities: sources, sinks, and connectors. |
|
Package msg defines the canonical message envelope that flows through queues, software-facing wire formats, and CEL filters.
|
Package msg defines the canonical message envelope that flows through queues, software-facing wire formats, and CEL filters. |
|
Package n2kcatalog owns Beacon's runtime view of the NMEA 2000 PGN and field catalog, including unit-scaled values for decoded messages.
|
Package n2kcatalog owns Beacon's runtime view of the NMEA 2000 PGN and field catalog, including unit-scaled values for decoded messages. |
|
Package n2kwire reconstructs NMEA 2000 CAN frames from canonical message envelopes without changing their source address or payload.
|
Package n2kwire reconstructs NMEA 2000 CAN frames from canonical message envelopes without changing their source address or payload. |
|
Package queue provides the durable per-connector buffer.
|
Package queue provides the durable per-connector buffer. |
|
Package sink runs configured sinks.
|
Package sink runs configured sinks. |
|
Package source runs configured sources and fans their envelopes out to subscribing connectors.
|
Package source runs configured sources and fans their envelopes out to subscribing connectors. |
|
Package stats tracks live per-connector counters and rolling boundary-acceptance rates for the config API and the future UI dashboard.
|
Package stats tracks live per-connector counters and rolling boundary-acceptance rates for the config API and the future UI dashboard. |
|
Package store owns the SQLite database: schema migrations, config entity CRUD, and the connection shared with the queue implementation.
|
Package store owns the SQLite database: schema migrations, config entity CRUD, and the connection shared with the queue implementation. |
|
Package supervisor reconciles desired configuration (the store) against running source/sink/connector components.
|
Package supervisor reconciles desired configuration (the store) against running source/sink/connector components. |
|
Package sysinfo provides best-effort discovery of CAN and USB-serial hardware present on the host, so beacon's UI "add source/sink" forms and its GET /api/v1/system endpoint can offer detected interfaces/ports instead of a blank text field.
|
Package sysinfo provides best-effort discovery of CAN and USB-serial hardware present on the host, so beacon's UI "add source/sink" forms and its GET /api/v1/system endpoint can offer detected interfaces/ports instead of a blank text field. |
|
dashboard.go implements beacon's live home view: the source -> connector -> sink DAG templates/frag_dashboard.html renders, and the GET /frag/dashboard handler templates/dashboard.html polls every 5s (hx-trigger="load, every 5s") — see dashboard.html's comment for why it ships an empty container rather than rendering this fragment inline, the same "ships empty, fetches client-side" shape the overview pages use.
|
dashboard.go implements beacon's live home view: the source -> connector -> sink DAG templates/frag_dashboard.html renders, and the GET /frag/dashboard handler templates/dashboard.html polls every 5s (hx-trigger="load, every 5s") — see dashboard.html's comment for why it ships an empty container rather than rendering this fragment inline, the same "ships empty, fetches client-side" shape the overview pages use. |
Click to show internal directories.
Click to hide internal directories.