Directories
ยถ
| Path | Synopsis |
|---|---|
|
clients
|
|
|
go
module
|
|
|
cmd
|
|
|
wavehouse
command
|
|
|
internal
|
|
|
app
Package app wires the WaveHouse process.
|
Package app wires the WaveHouse process. |
|
auth
Package auth handles authentication: it validates JWT Bearer tokens and records the caller's role, claims, and any token-validation error in the request context.
|
Package auth handles authentication: it validates JWT Bearer tokens and records the caller's role, claims, and any token-validation error in the request context. |
|
chconn
Package chconn owns the process's ClickHouse connections: one pool per distinct address, database, user, password and tls tuple (ClickHouse authenticates per connection, so different credentials never share one), shared by the tenants whose settings name it and reconciled after every settings reload under the boot config's connection ceiling.
|
Package chconn owns the process's ClickHouse connections: one pool per distinct address, database, user, password and tls tuple (ClickHouse authenticates per connection, so different credentials never share one), shared by the tenants whose settings name it and reconciled after every settings reload under the boot config's connection ceiling. |
|
chsql
Package chsql holds ClickHouse SQL helpers shared across packages that build SQL โ primarily safe identifier quoting.
|
Package chsql holds ClickHouse SQL helpers shared across packages that build SQL โ primarily safe identifier quoting. |
|
coord
Package coord holds leases for work that must run in one process at a time โ the sweeper, and the ingest processes' shard claim membership.
|
Package coord holds leases for work that must run in one process at a time โ the sweeper, and the ingest processes' shard claim membership. |
|
coord/coordtest
Package coordtest is the behavior every coord.Coordinator must share, as one suite each implementation runs against its own backend.
|
Package coordtest is the behavior every coord.Coordinator must share, as one suite each implementation runs against its own backend. |
|
dedupe/dedupetest
Package dedupetest is the conformance suite every dedupe backend runs: the Deduplicator contract (dedupe.go) as tests, driven through the production path โ a backend's Factory and the Managed switch it returns โ so a backend that passes here behaves the same under ingest as every other.
|
Package dedupetest is the conformance suite every dedupe backend runs: the Deduplicator contract (dedupe.go) as tests, driven through the production path โ a backend's Factory and the Managed switch it returns โ so a backend that passes here behaves the same under ingest as every other. |
|
keyenc
Package keyenc is the one escaping composite WaveHouse keys are built from: NATS subject tokens, cache keys and dedupe keys.
|
Package keyenc is the one escaping composite WaveHouse keys are built from: NATS subject tokens, cache keys and dedupe keys. |
|
mq
Package mq is the message-queue boundary: the only package that imports NATS/JetStream (enforced by the depguard rule in .golangci.yml, Key Design Decision #20), and the only one that knows how the broker works.
|
Package mq is the message-queue boundary: the only package that imports NATS/JetStream (enforced by the depguard rule in .golangci.yml, Key Design Decision #20), and the only one that knows how the broker works. |
|
mq/mqtest
Package mqtest is the conformance suite for mq.Broker: the behavior the rest of the process relies on, stated once and run by every implementation from its own tests.
|
Package mqtest is the conformance suite for mq.Broker: the behavior the rest of the process relies on, stated once and run by every implementation from its own tests. |
|
mq/natstest
Package natstest stands up NATS the way an operator deploys it for mq.backend: nats: the shipped Helm values' accounts, users and permissions (deployments/nats/values.yaml) and the shipped nack manifests (deployments/nats/jetstream.yaml).
|
Package natstest stands up NATS the way an operator deploys it for mq.backend: nats: the shipped Helm values' accounts, users and permissions (deployments/nats/values.yaml) and the shipped nack manifests (deployments/nats/jetstream.yaml). |
|
settings
Package settings defines the on-disk settings directory โ the JSON documents that hold WaveHouse's hot-reloadable configuration โ and Validate, the single gate every consumer of that directory runs before adopting its contents.
|
Package settings defines the on-disk settings directory โ the JSON documents that hold WaveHouse's hot-reloadable configuration โ and Validate, the single gate every consumer of that directory runs before adopting its contents. |
|
stream
Package stream holds the SSE fan-out primitives shared by the streaming API: the Subscriber connection handle (subscriber.go), the Bucket fan-out primitive (bucket.go), the Heartbeater keepalive wheel (heartbeat.go) that nudges idle GET /v1/stream connections, and the event Hub (hub.go).
|
Package stream holds the SSE fan-out primitives shared by the streaming API: the Subscriber connection handle (subscriber.go), the Bucket fan-out primitive (bucket.go), the Heartbeater keepalive wheel (heartbeat.go) that nudges idle GET /v1/stream connections, and the event Hub (hub.go). |
|
tenant
Package tenant defines the tenant identifier: the token that selects a settings folder, and with it the tables, policies, and pipes a request or an event belongs to (#583).
|
Package tenant defines the tenant identifier: the token that selects a settings folder, and with it the tables, policies, and pipes a request or an event belongs to (#583). |
|
testutil
Package testutil โ OTLP gRPC test receiver.
|
Package testutil โ OTLP gRPC test receiver. |
|
testutil/cachetest
Package cachetest is the conformance suite every cache.Cache backend runs: what a hit, a miss and an invalidation mean, independent of where the entries and versions live.
|
Package cachetest is the conformance suite every cache.Cache backend runs: what a hit, a miss and an invalidation mean, independent of where the entries and versions live. |
|
testutil/logtest
Package logtest points slog's default logger somewhere a test can use.
|
Package logtest points slog's default logger somewhere a test can use. |
|
testutil/mutationtest
Package mutationtest holds the statements api.IsMutation is tested on, shared by its unit test and by the integration test that checks each one against ClickHouse's own parser.
|
Package mutationtest holds the statements api.IsMutation is tested on, shared by its unit test and by the integration test that checks each one against ClickHouse's own parser. |
|
testutil/storedir
Package storedir gives a test a directory for the embedded message broker's store.
|
Package storedir gives a test a directory for the embedded message broker's store. |
|
scripts
|
|
|
cov
command
Coverage rendering + threshold gating for WaveHouse.
|
Coverage rendering + threshold gating for WaveHouse. |
|
orchestrator
command
E2E orchestrator โ drives a clean, isolated E2E test session against one ClickHouse + one Redis + one WaveHouse, then runs the vitest suite once.
|
E2E orchestrator โ drives a clean, isolated E2E test session against one ClickHouse + one Redis + one WaveHouse, then runs the vitest suite once. |
|
tests
|
|
|
integration
Package tests holds WaveHouse's Go integration tests.
|
Package tests holds WaveHouse's Go integration tests. |
Click to show internal directories.
Click to hide internal directories.