internal/

directory
v1.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 19, 2026 License: Apache-2.0

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.
bus
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, HTTP wire formats, and CEL filters.
Package msg defines the canonical message envelope that flows through queues, HTTP 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 /ui/frag/dashboard handler templates/dashboard.html polls every 2s (hx-trigger="load, every 2s") — 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 /ui/frag/dashboard handler templates/dashboard.html polls every 2s (hx-trigger="load, every 2s") — 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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL