Documentation
¶
Overview ¶
Package fabric is a Matter v1.1 bridge stack. Subpackages:
- bootid/ process-lifetime UniqueID salt (rotation off by default)
- bridge/ the composition unit: topology assembly, IM dispatcher wiring, UDP listener, mDNS advertisement — what a host starts
- cluster/ cluster protocol impls (wire format only)
- commissioning/ on-network discovery, attestation, fabric join
- conformance/ golden-vector regression + load + chip-tool smoke tests
- contract/ the port contracts a host implements to expose a device
- diagevent/ bounded in-memory trace of events explaining a failed pairing
- eligibility/ candidate list for a host's bridging allowlist UI
- endpoint/ endpoint topology assembler
- im/ Interaction Model
- mdns/ DNS-SD operational + commissionable advertisement
- parity/ embedded matter.js HEAD schema snapshot for parity tests
- schema/ typed Go lookups over the parity/ snapshot (generated)
- secure/ Spake2+ (PASE), Sigma (CASE), session keys, AES-CCM, DAC/PAI/PAA chain validation (secure/attestation/)
- store/ fabric / NOC / shared-secrets persistence
- tlv/ TLV codec (Matter Core Spec §A.7)
- transport/ UDP/IPv6, MRP, message framing
Architecture: rich model, dumb bridge — this module owns the Matter wire format only. Per-device cluster projection lives on the host's own types, which reach the bridge through the source-surface interfaces in github.com/SukramJ/go-fabric/contract.
Directories
¶
| Path | Synopsis |
|---|---|
|
ble
|
|
|
bluez
module
|
|
|
Package bootid exposes a process-lifetime 16-byte random value that can optionally be mixed into Matter UniqueID derivations.
|
Package bootid exposes a process-lifetime 16-byte random value that can optionally be mixed into Matter UniqueID derivations. |
|
Package bridge orchestrates the Matter bridge runtime: endpoint topology assembly, IM dispatcher wiring, UDP listener, and mDNS advertisement.
|
Package bridge orchestrates the Matter bridge runtime: endpoint topology assembly, IM dispatcher wiring, UDP listener, and mDNS advertisement. |
|
bridgetest
Package bridgetest provides the affordances a test outside package bridge needs to put a bridge.Bridge into a chosen state without sending anything over the wire.
|
Package bridgetest provides the affordances a test outside package bridge needs to put a bridge.Bridge into a chosen state without sending anything over the wire. |
|
Package cluster contains Matter cluster server implementations that the bridge attaches to assembled endpoints.
|
Package cluster contains Matter cluster server implementations that the bridge attaches to assembled endpoints. |
|
closure
Package closure contains the Matter ClosureControl cluster server (0x0104) for the Positioning + Ventilation feature profile.
|
Package closure contains the Matter ClosureControl cluster server (0x0104) for the Positioning + Ventilation feature profile. |
|
core
Package core hosts the Matter cluster servers that every bridge endpoint (or the root endpoint specifically) mandates per Matter Core Specification 1.5.1.
|
Package core hosts the Matter cluster servers that every bridge endpoint (or the root endpoint specifically) mandates per Matter Core Specification 1.5.1. |
|
cover
Package cover contains the Matter WindowCovering cluster server (0x0102) for the position-aware lift feature profile.
|
Package cover contains the Matter WindowCovering cluster server (0x0102) for the position-aware lift feature profile. |
|
levelcontrol
Package levelcontrol contains the Matter LevelControl cluster server (0x0008) — the cluster Matter offers for a characteristic that moves along a continuous scale, as against the labelled choices of ModeSelect.
|
Package levelcontrol contains the Matter LevelControl cluster server (0x0008) — the cluster Matter offers for a characteristic that moves along a continuous scale, as against the labelled choices of ModeSelect. |
|
light
Package light provides standalone Matter cluster-server implementations for light device types (OnOffLight, DimmableLight, ColorTemperatureLight, ExtendedColorLight).
|
Package light provides standalone Matter cluster-server implementations for light device types (OnOffLight, DimmableLight, ColorTemperatureLight, ExtendedColorLight). |
|
lock
Package lock contains the standalone DoorLock cluster server for the Matter bridge.
|
Package lock contains the standalone DoorLock cluster server for the Matter bridge. |
|
measurement
Package measurement contains generic, Source-driven cluster server implementations for the read-only Matter measurement clusters (Temperature, Humidity, Illuminance, Pressure, BooleanState, OccupancySensing, AirQuality).
|
Package measurement contains generic, Source-driven cluster server implementations for the read-only Matter measurement clusters (Temperature, Humidity, Illuminance, Pressure, BooleanState, OccupancySensing, AirQuality). |
|
modeselect
Package modeselect contains the Matter ModeSelect cluster server (0x0050) — the cluster Matter offers for a characteristic that is set to one of several predefined, labelled values rather than to a number on a continuous scale.
|
Package modeselect contains the Matter ModeSelect cluster server (0x0050) — the cluster Matter offers for a characteristic that is set to one of several predefined, labelled values rather than to a number on a continuous scale. |
|
onoff
Package onoff carries the OnOff cluster's Matter identity for every projection that exposes it.
|
Package onoff carries the OnOff cluster's Matter identity for every projection that exposes it. |
|
thermo
Package thermo provides the Matter Thermostat cluster server (0x0201).
|
Package thermo provides the Matter Thermostat cluster server (0x0201). |
|
valve
Package valve contains the Matter ValveConfigurationAndControl cluster server (0x0081) for a valve that opens and closes without a level axis.
|
Package valve contains the Matter ValveConfigurationAndControl cluster server (0x0081) for a valve that opens and closes without a level axis. |
|
wire
Package wire holds the TLV codecs for Matter application-cluster command payloads.
|
Package wire holds the TLV codecs for Matter application-cluster command payloads. |
|
Package commissioning orchestrates Matter on-network commissioning from the PASE handshake through NOC installation.
|
Package commissioning orchestrates Matter on-network commissioning from the PASE handshake through NOC installation. |
|
Package conformance houses the Matter conformance suite for go-fabric — golden-vector regression tests, load tests, and the chip-tool subprocess smoke harness.
|
Package conformance houses the Matter conformance suite for go-fabric — golden-vector regression tests, load tests, and the chip-tool subprocess smoke harness. |
|
Package contract holds the port contracts between a host's domain model and the Matter bridge: the interfaces a data point implements to materialise as a bridged endpoint, the cluster-server surface the bridge dispatches through, and the measurement / eligibility classifications the host computes once and the bridge consumes.
|
Package contract holds the port contracts between a host's domain model and the Matter bridge: the interfaces a data point implements to materialise as a bridged endpoint, the cluster-server surface the bridge dispatches through, and the measurement / eligibility classifications the host computes once and the bridge consumes. |
|
Package diagevent keeps a bounded, in-memory trace of the Matter events that explain a failed pairing.
|
Package diagevent keeps a bounded, in-memory trace of the Matter events that explain a failed pairing. |
|
Package eligibility answers two Matter-side questions that every host bridging to Matter has to answer the same way: what will Matter make of this source, and what will the ecosystem on the other end of the fabric make of the result.
|
Package eligibility answers two Matter-side questions that every host bridging to Matter has to answer the same way: what will Matter make of this source, and what will the ecosystem on the other end of the fabric make of the result. |
|
Package endpoint turns flat endpoint descriptions into the Matter endpoint topology the bridge advertises to commissioners.
|
Package endpoint turns flat endpoint descriptions into the Matter endpoint topology the bridge advertises to commissioners. |
|
endpointtest
Package endpointtest provides the endpoint-level scaffolding a test needs to stand a bridge up: an in-memory endpoint.Store and a snapshotter over an empty fleet.
|
Package endpointtest provides the endpoint-level scaffolding a test needs to stand a bridge up: an in-memory endpoint.Store and a snapshotter over an empty fleet. |
|
sqlitestore
Package sqlitestore is a persistent endpoint.Store over SQLite.
|
Package sqlitestore is a persistent endpoint.Store over SQLite. |
|
examples
|
|
|
reference-bridge
command
Command reference-bridge is a runnable Matter bridge assembled only from go-fabric's public API.
|
Command reference-bridge is a runnable Matter bridge assembled only from go-fabric's public API. |
|
Package im implements the Matter Interaction Model per Matter Core Specification §10.6.
|
Package im implements the Matter Interaction Model per Matter Core Specification §10.6. |
|
subscription
Package subscription implements the Matter subscription state machine layered on top of the im message codecs.
|
Package subscription implements the Matter subscription state machine layered on top of the im message codecs. |
|
internal
|
|
|
bridgeseam
Package bridgeseam carries the one-way seam through which the bridge/bridgetest support package reaches bridge internals.
|
Package bridgeseam carries the one-way seam through which the bridge/bridgetest support package reaches bridge internals. |
|
channelseam
Package channelseam carries the one-way seam through which the bridge reaches the one piece of secure-session state that is written by the wire and by nothing else: the anchor of the session's inbound MRP duplicate-detection window.
|
Package channelseam carries the one-way seam through which the bridge reaches the one piece of secure-session state that is written by the wire and by nothing else: the anchor of the session's inbound MRP duplicate-detection window. |
|
Package mdns advertises the Matter bridge over mDNS / DNS-SD per Matter Core Spec §4.3.
|
Package mdns advertises the Matter bridge over mDNS / DNS-SD per Matter Core Spec §4.3. |
|
Package parity provides the matter.js HEAD schema snapshot to all matter-side parity tests in one embed location.
|
Package parity provides the matter.js HEAD schema snapshot to all matter-side parity tests in one embed location. |
|
Package schema exposes typed Go lookups for Matter cluster and device-type metadata extracted from matter.js HEAD.
|
Package schema exposes typed Go lookups for Matter cluster and device-type metadata extracted from matter.js HEAD. |
|
script
|
|
|
coverfloor
command
Package main implements the per-package statement-coverage floor for go-fabric.
|
Package main implements the per-package statement-coverage floor for go-fabric. |
|
reachability
command
Package main implements the exported-API reachability analyzer for go-fabric.
|
Package main implements the exported-API reachability analyzer for go-fabric. |
|
secure
|
|
|
aesccm
Package aesccm implements AES-CCM-128 with a 13-byte nonce and a 16-byte tag — the AEAD primitive Matter uses for Secure Channel frame encryption per Matter Core Specification §4.4.3.
|
Package aesccm implements AES-CCM-128 with a 13-byte nonce and a 16-byte tag — the AEAD primitive Matter uses for Secure Channel frame encryption per Matter Core Specification §4.4.3. |
|
attestation
Package attestation builds the Device Attestation chain (PAA → PAI → DAC) and the Certification Declaration (CD) the bridge presents to commissioners.
|
Package attestation builds the Device Attestation chain (PAA → PAI → DAC) and the Certification Declaration (CD) the bridge presents to commissioners. |
|
channel
Package channel implements the Matter Secure Channel session wrapper per Matter Core Specification §4.4.3.
|
Package channel implements the Matter Secure Channel session wrapper per Matter Core Specification §4.4.3. |
|
mattercert
Package mattercert decodes and verifies Matter Operational Certificates (NOC, ICAC, RCAC) per Matter Core Specification §6.5.
|
Package mattercert decodes and verifies Matter Operational Certificates (NOC, ICAC, RCAC) per Matter Core Specification §6.5. |
|
operational
Package operational wires the CASE handshake (Sigma) into the secure-channel session layer.
|
Package operational wires the CASE handshake (Sigma) into the secure-channel session layer. |
|
setup
Package setup encodes Matter Onboarding Payloads per Matter Core Specification 1.5.1 §5.1 (Manual Pairing Code) and §5.7 (QR Code Onboarding Payload).
|
Package setup encodes Matter Onboarding Payloads per Matter Core Specification 1.5.1 §5.1 (Manual Pairing Code) and §5.7 (QR Code Onboarding Payload). |
|
sigma
Package sigma implements Matter CASE (Certificate-Authenticated Session Establishment) per Matter Core Specification §4.13.
|
Package sigma implements Matter CASE (Certificate-Authenticated Session Establishment) per Matter Core Specification §4.13. |
|
spake2
Package spake2 implements SPAKE2+ over P-256 per Matter Core Specification §3.10 (which itself profiles RFC 9383).
|
Package spake2 implements SPAKE2+ over P-256 per Matter Core Specification §3.10 (which itself profiles RFC 9383). |
|
Package store persists the Matter bridge's operational state: fabrics, node identities (NOC chain + private key + IPK), group keys, and access-control lists.
|
Package store persists the Matter bridge's operational state: fabrics, node identities (NOC chain + private key + IPK), group keys, and access-control lists. |
|
Package tlv implements the Matter TLV (Type-Length-Value) codec per Matter Core Specification §A.7.
|
Package tlv implements the Matter TLV (Type-Length-Value) codec per Matter Core Specification §A.7. |
|
transport
|
|
|
message
Package message implements the Matter Message Header and Protocol Header framing per Matter Core Specification §4.4.
|
Package message implements the Matter Message Header and Protocol Header framing per Matter Core Specification §4.4. |
|
mrp
Package mrp implements the Matter Message Reliability Protocol per Matter Core Specification §4.12.
|
Package mrp implements the Matter Message Reliability Protocol per Matter Core Specification §4.12. |
|
udp
Package udp implements the Matter UDP transport per Matter Core Specification §4.3.
|
Package udp implements the Matter UDP transport per Matter Core Specification §4.3. |
Click to show internal directories.
Click to hide internal directories.