Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
hearth
command
Command hearth is the single binary that hosts every Hearth role: coordinator, worker, and CLI client.
|
Command hearth is the single binary that hosts every Hearth role: coordinator, worker, and CLI client. |
|
examples
|
|
|
img2pdf
Package img2pdf is a reference Hearth Handler that converts a set of input images (PNG/JPEG) into a single PDF, emitted as an output blob.
|
Package img2pdf is a reference Hearth Handler that converts a set of input images (PNG/JPEG) into a single PDF, emitted as an output blob. |
|
img2pdf/cmd/img2pdf-worker
command
Command img2pdf-worker is a runnable Hearth worker that registers the img2pdf handler.
|
Command img2pdf-worker is a runnable Hearth worker that registers the img2pdf handler. |
|
internal
|
|
|
adapter/blob/fs
Package fs is a filesystem-backed content-addressable BlobStore.
|
Package fs is a filesystem-backed content-addressable BlobStore. |
|
adapter/discovery/mdns
Package mdns provides Multicast-DNS service publication and discovery for Hearth.
|
Package mdns provides Multicast-DNS service publication and discovery for Hearth. |
|
adapter/registry/memregistry
Package memregistry is an in-memory app.WorkerRegistry.
|
Package memregistry is an in-memory app.WorkerRegistry. |
|
adapter/store/memstore
Package memstore is an in-memory implementation of app.Store.
|
Package memstore is an in-memory implementation of app.Store. |
|
adapter/store/sqlite
Package sqlite is the durable Store implementation backed by SQLite in WAL mode.
|
Package sqlite is the durable Store implementation backed by SQLite in WAL mode. |
|
adapter/store/storetest
Package storetest exposes a Store conformance suite that any implementation can run against itself.
|
Package storetest exposes a Store conformance suite that any implementation can run against itself. |
|
adapter/transport/grpc
Package grpcadapter implements the gRPC transport for Hearth.
|
Package grpcadapter implements the gRPC transport for Hearth. |
|
app
Package app holds the orchestration layer.
|
Package app holds the orchestration layer. |
|
app/coordinator
Package coordinator orchestrates job lifecycle on top of the Store and pure-domain helpers.
|
Package coordinator orchestrates job lifecycle on top of the Store and pure-domain helpers. |
|
app/workerrt
Package workerrt is the worker-side runtime that pulls jobs from the coordinator, dispatches them to user-supplied Handlers, keeps the lease alive with heartbeats, and reports the outcome.
|
Package workerrt is the worker-side runtime that pulls jobs from the coordinator, dispatches them to user-supplied Handlers, keeps the lease alive with heartbeats, and reports the outcome. |
|
domain/jobsm
Package jobsm holds the Job state machine as pure functions.
|
Package jobsm holds the Job state machine as pure functions. |
|
domain/retry
Package retry contains pure backoff math.
|
Package retry contains pure backoff math. |
|
security/bundle
Package bundle defines the single-file enrollment artifact a worker needs to join a coordinator: a tar.gz containing the CA cert, the worker's signed certificate + private key, and a manifest with the coordinator endpoint(s).
|
Package bundle defines the single-file enrollment artifact a worker needs to join a coordinator: a tar.gz containing the CA cert, the worker's signed certificate + private key, and a manifest with the coordinator endpoint(s). |
|
security/pki
Package pki manages the Hearth home-LAN certificate authority.
|
Package pki manages the Hearth home-LAN certificate authority. |
|
wire
Package wire converts between domain types (pkg/job, internal/app) and the generated protobuf types.
|
Package wire converts between domain types (pkg/job, internal/app) and the generated protobuf types. |
|
pkg
|
|
|
client
Package client is the public Go SDK for talking to a Hearth coordinator over mTLS gRPC.
|
Package client is the public Go SDK for talking to a Hearth coordinator over mTLS gRPC. |
|
job
Package job defines the public domain types that flow through Hearth.
|
Package job defines the public domain types that flow through Hearth. |
|
runner
Package runner is the simplest path to a working Hearth worker for external (OSS-consumer) projects.
|
Package runner is the simplest path to a working Hearth worker for external (OSS-consumer) projects. |
|
worker
Package worker is the only API surface a Hearth user must implement.
|
Package worker is the only API surface a Hearth user must implement. |
Click to show internal directories.
Click to hide internal directories.