The shared device microkernel for the Kyanite stack.
Status: experimental — expect breaking changes.
core provides the common runtime that Kyanite device firmware (such as
cairn and
vein) is assembled from: an
actor-style supervision tree, an embedded NATS message bus with capability-based
auth, telemetry, a compiled state-machine engine, configuration storage, and the
management/web surfaces. It is designed to run bare-metal under TamaGo as well as
on a host.
go get src.kyanite.computer/core| Package | Purpose |
|---|---|
supervise |
Actor-model supervision tree (OneForOne/OneForAll/RestForOne, live add/stop) |
service |
Supervised-service contract |
operator |
Assembles the device microkernel on top of supervise |
bus |
Auth-aware managed NATS connection, micro-service helpers, JetStream streams |
natscore |
Embedded NATS core configuration |
auth |
Capability-to-permission policy, per-boot NKey registry, JWT issuance, callout |
mgmt |
Management-plane bootstrap |
telemetry |
slog console, in-process ring buffer, trace-correlated logging |
fsm |
Generic compiled hierarchical state machine with snapshot/restore and DOT/Mermaid export |
cfgstore |
Scree-backed typed configuration store |
ramnor |
RAM-backed block device for Scree |
console |
Shared interactive console |
sshd |
Shared SSH management server |
webui |
ConnectRPC management UI mux, HTTPS serving, SPA hosting |
See the design notes in this repository:
supervise-architecture.mdnats-auth-architecture.mdotel-embedded-go-architecture.mdfsm-embedded-architecture.mdROADMAP.md
See the org-wide CONTRIBUTING guide. Contributions are dual-licensed.
See the org-wide SECURITY policy.
Dual-licensed under either of Apache-2.0 (LICENSE-APACHE) or MIT (LICENSE-MIT) at your option.