internal/

directory
v1.3.3 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 broker is the orchestrator facade.
Package broker is the orchestrator facade.
ingress
Package ingress owns the WAL-first produce path: a produce request is durably accepted into this node's ingress WAL before a background dispatcher moves it to the partition owner and commits it to the partition log.
Package ingress owns the WAL-first produce path: a produce request is durably accepted into this node's ingress WAL before a background dispatcher moves it to the partition owner and commits it to the partition log.
messaging
Package messaging owns the broker's data-plane: produce, consume, and ack.
Package messaging owns the broker's data-plane: produce, consume, and ack.
runtime
Package runtime owns the broker's mutable per-process state: the lazy partition-log map, snapshot reader, and lifecycle hooks.
Package runtime owns the broker's mutable per-process state: the lazy partition-log map, snapshot reader, and lifecycle hooks.
topics
Package topics owns the topic-CRUD surface of the broker.
Package topics owns the topic-CRUD surface of the broker.
Package cluster provides the routing layer that proxies requests to the pod that owns the target partition.
Package cluster provides the routing layer that proxies requests to the pod that owns the target partition.
controller
Package controller runs partition assignment and member health monitoring on the Raft leader.
Package controller runs partition assignment and member health monitoring on the Raft leader.
Package consumer implements broker-side consumer state: receipt handles and the per-partition in-flight reservation table that backs visibility timeouts, acks, and redelivery.
Package consumer implements broker-side consumer state: receipt handles and the per-partition in-flight reservation table that backs visibility timeouts, acks, and redelivery.
domain
topic
Package topic defines the value types used across the broker, metastore, and partition layers.
Package topic defines the value types used across the broker, metastore, and partition layers.
user
Package user defines Narad's identity and permission value types: users, grants, and the pattern matching that decides whether a grant covers a topic.
Package user defines Narad's identity and permission value types: users, grants, and the pattern matching that decides whether a grant covers a topic.
Package errs defines the named error sentinels shared across narad.
Package errs defines the named error sentinels shared across narad.
persistence
metastore
Package metastore is the Raft-backed metadata store for multi-node narad.
Package metastore is the Raft-backed metadata store for multi-node narad.
storage
Package storage implements the per-partition append-only record log.
Package storage implements the per-partition append-only record log.
storage/codec
Package codec defines the Codec interface and provides the zstd and no-op implementations used by the storage layer.
Package codec defines the Codec interface and provides the zstd and no-op implementations used by the storage layer.
wal
Package wal provides a small segmented write-ahead log with grouped fsync.
Package wal provides a small segmented write-ahead log with grouped fsync.
platform
clusterrpc
Package clusterrpc is Narad's node-to-node RPC transport: length-framed request/reply frames (internal/protocol/clusterwire) multiplexed over pooled QUIC streams.
Package clusterrpc is Narad's node-to-node RPC transport: length-framed request/reply frames (internal/protocol/clusterwire) multiplexed over pooled QUIC streams.
config
Package config defines Narad's runtime configuration and the rules for loading it.
Package config defines Narad's runtime configuration and the rules for loading it.
httpclient
Package httpclient builds HTTP clients tuned for Narad's node-to-node data plane, where a handful of peers carry heavy concurrent traffic.
Package httpclient builds HTTP clients tuned for Narad's node-to-node data plane, where a handful of peers carry heavy concurrent traffic.
netaddr
Package netaddr compares listen addresses with peer addresses that may or may not carry a host part.
Package netaddr compares listen addresses with peer addresses that may or may not carry a host part.
observability/logger
Package logger constructs the project's structured logger.
Package logger constructs the project's structured logger.
observability/metrics
Package metrics owns Narad's Prometheus metrics surface.
Package metrics owns Narad's Prometheus metrics surface.
partition
Package partition selects the partition a produce request lands on.
Package partition selects the partition a produce request lands on.
schema
Package schema validates message payloads against per-topic JSON Schemas.
Package schema validates message payloads against per-topic JSON Schemas.
protocol
clusterwire
Package clusterwire defines the cluster stream-framing protocol used for node-to-node RPC over QUIC.
Package clusterwire defines the cluster stream-framing protocol used for node-to-node RPC over QUIC.
node
Package node defines the node-to-node RPC wire format carried as opaque payloads inside clusterwire frames.
Package node defines the node-to-node RPC wire format carried as opaque payloads inside clusterwire frames.
Package security implements authentication and authorization for Narad's HTTP API: Basic-auth verification against bcrypt-hashed users replicated in the metastore, with a per-node cache so the hot path never pays bcrypt's deliberate cost.
Package security implements authentication and authorization for Narad's HTTP API: Basic-auth verification against bcrypt-hashed users replicated in the metastore, with a per-node cache so the hot path never pays bcrypt's deliberate cost.
transport
httpserver
Package httpserver hosts the HTTP transport: server lifecycle, routing, and middleware.
Package httpserver hosts the HTTP transport: server lifecycle, routing, and middleware.
httpserver/handlers
Package handlers carries the shared *Set and helper methods used by every HTTP handler in the per-domain subpackages (handlers/topics, handlers/messaging, handlers/health).
Package handlers carries the shared *Set and helper methods used by every HTTP handler in the per-domain subpackages (handlers/topics, handlers/messaging, handlers/health).
httpserver/handlers/health
Package health holds the liveness and readiness HTTP handlers.
Package health holds the liveness and readiness HTTP handlers.
httpserver/handlers/messaging
Package messaging holds the data-plane HTTP handlers — produce, consume, and ack under /v1/topics/{topic}.
Package messaging holds the data-plane HTTP handlers — produce, consume, and ack under /v1/topics/{topic}.
httpserver/handlers/topics
Package topics holds the HTTP handlers for the /v1/topics surface (create/list/get/delete/alter).
Package topics holds the HTTP handlers for the /v1/topics surface (create/list/get/delete/alter).
httpserver/handlers/users
Package users holds the HTTP handlers for the /v1/users surface: create, list, get, delete, and password/grant updates.
Package users holds the HTTP handlers for the /v1/users surface: create, list, get, delete, and password/grant updates.

Jump to

Keyboard shortcuts

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