internal/

directory
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 30, 2026 License: Apache-2.0

Directories

Path Synopsis
Package builtin blank-imports the built-in source and sink drivers so their init() functions register with the driver registry.
Package builtin blank-imports the built-in source and sink drivers so their init() functions register with the driver registry.
Package coordinator drives the source side of the split pipeline: it owns the replication reader and the DBLog snapshot, serves the control plane (Session/Assignment) and the Arrow Flight data plane, and streams change batches to the connected workers.
Package coordinator drives the source side of the split pipeline: it owns the replication reader and the DBLog snapshot, serves the control plane (Session/Assignment) and the Arrow Flight data plane, and streams change batches to the connected workers.
Package dashboard serves the coordinator's embedded monitoring UI and its JSON API.
Package dashboard serves the coordinator's embedded monitoring UI and its JSON API.
Package enrich is the table-level enrichment stage: a columnar broadcast hash join against small reference tables (CR-069).
Package enrich is the table-level enrichment stage: a columnar broadcast hash join against small reference tables (CR-069).
Package errors decides whether a source failure is worth retrying.
Package errors decides whether a source failure is worth retrying.
Package eventlog implements the per-run-id JSONL event log in S3 — one event per lifecycle cycle or commit, never per row.
Package eventlog implements the per-run-id JSONL event log in S3 — one event per lifecycle cycle or commit, never per row.
Package faultinject is test instrumentation for the commit-boundary crash matrix (issue #354): named points in the commit path where a test can make the process die at exactly that step, so each crash window is reproducible instead of a matter of timing.
Package faultinject is test instrumentation for the commit-boundary crash matrix (issue #354): named points in the commit path where a test can make the process die at exactly that step, so each crash window is reproducible instead of a matter of timing.
Package grpctls builds mutual-TLS gRPC credentials for the coordinator (server) and worker (client) control plane.
Package grpctls builds mutual-TLS gRPC credentials for the coordinator (server) and worker (client) control plane.
Package historyserver serves a read-only, request/response API over terminated pipeline runs, backed by the durable eventlog trail in S3.
Package historyserver serves a read-only, request/response API over terminated pipeline runs, backed by the durable eventlog trail in S3.
Package logging builds the process-wide slog logger from CLI flags, so every binary in the tree configures its handler and level the same way.
Package logging builds the process-wide slog logger from CLI flags, so every binary in the tree configures its handler and level the same way.
Package maintenance schedules the engine's table-maintenance operations.
Package maintenance schedules the engine's table-maintenance operations.
Package memlimit gives the Go runtime the container's memory limit.
Package memlimit gives the Go runtime the container's memory limit.
Package observability exposes the lean Prometheus metrics (§13.1) and the live status endpoint (§13.4): a small set of series, no per-event logging.
Package observability exposes the lean Prometheus metrics (§13.1) and the live status endpoint (§13.4): a small set of series, no per-event logging.
Package operator reconciles CDCPipeline CRs into a coordinator StatefulSet: one coordinator per pipeline, owning the workers it creates.
Package operator reconciles CDCPipeline CRs into a coordinator StatefulSet: one coordinator per pipeline, owning the workers it creates.
Package pipeline defines the stage abstraction that bridges external plugin processes to the runner's source/sink interfaces.
Package pipeline defines the stage abstraction that bridges external plugin processes to the runner's source/sink interfaces.
Package plugin implements adapters that wrap the Flight client into the standard source.Source and sink.Sink interfaces.
Package plugin implements adapters that wrap the Flight client into the standard source.Source and sink.Sink interfaces.
flightserver
Package flightserver serves the plugin Arrow Flight contract (internal/ plugin/contract) in-process, backed by a real source.Source or sink.Sink.
Package flightserver serves the plugin Arrow Flight contract (internal/ plugin/contract) in-process, backed by a real source.Source or sink.Sink.
flightwrap
Package flightwrap implements driver.PluginWrap: it turns a .so's raw registered source/sink factories into factories that serve the real driver over an in-process Arrow Flight server (internal/plugin/ flightserver) and hand back a Flight client adapter (internal/plugin) — the SAME contract a subprocess plugin speaks.
Package flightwrap implements driver.PluginWrap: it turns a .so's raw registered source/sink factories into factories that serve the real driver over an in-process Arrow Flight server (internal/plugin/ flightserver) and hand back a Flight client adapter (internal/plugin) — the SAME contract a subprocess plugin speaks.
proc
Package proc manages external plugin processes: spawn, readiness, log pumping, and lifecycle.
Package proc manages external plugin processes: spawn, readiness, log pumping, and lifecycle.
Package change defines the change event that flows from source decoding to sink writing: one row-level operation with its before/after images, primary key, and source position.
Package change defines the change event that flows from source decoding to sink writing: one row-level operation with its before/after images, primary key, and source position.
Package runner wires the collapsed process: one binary runs the source reader, the DBLog snapshot, and the worker in a single process (local mode).
Package runner wires the collapsed process: one binary runs the source reader, the DBLog snapshot, and the worker in a single process (local mode).
sink
clickhouse
Package clickhouse implements the sink contract on ClickHouse.
Package clickhouse implements the sink contract on ClickHouse.
couchbase
Package couchbase implements the sink contract on Couchbase: key-value document writes where upsert-by-key IS the native operation — no equality deletes, no eventual merges.
Package couchbase implements the sink contract on Couchbase: key-value document writes where upsert-by-key IS the native operation — no equality deletes, no eventual merges.
iceberg
Package iceberg wraps the Apache Iceberg REST catalog and the write paths exercised by the spike: create/load, append, and the data+equality-delete transaction that mirrors upsert.
Package iceberg wraps the Apache Iceberg REST catalog and the write paths exercised by the spike: create/load, append, and the data+equality-delete transaction that mirrors upsert.
rowmeta
Package rowmeta resolves a row's metadata columns (op, commit_ts, position, …) for the row-based sinks, ClickHouse and Couchbase, so both write the same value for the same key (issue #403).
Package rowmeta resolves a row's metadata columns (op, commit_ts, position, …) for the row-based sinks, ClickHouse and Couchbase, so both write the same value for the same key (issue #403).
Package dblog holds the source-agnostic DBLog snapshot orchestrator: chunking by primary key, low/high watermarks, and the caught-up proof that closes each window — never a timer.
Package dblog holds the source-agnostic DBLog snapshot orchestrator: chunking by primary key, low/high watermarks, and the caught-up proof that closes each window — never a timer.
source
kafka
Package kafka implements the Kafka source adapter.
Package kafka implements the Kafka source adapter.
kafka/decoder
Package decoder implements the debezium-json decoder for Kafka CDC messages.
Package decoder implements the debezium-json decoder for Kafka CDC messages.
mysql
Package source.mysql implements the MySQL replication source on top of go-mysql/canal: a single binlog reader that decodes row events into rowchange.Change, positions them at their transaction GTID, and exposes the synced and master positions for the DBLog watermark logic.
Package source.mysql implements the MySQL replication source on top of go-mysql/canal: a single binlog reader that decodes row events into rowchange.Change, positions them at their transaction GTID, and exposes the synced and master positions for the DBLog watermark logic.
mysql/charsetgen command
Command charsetgen turns the .tsv tables in this directory into charset_tables.go, the single-byte decoding tables for the 7 character sets that have no decoder in golang.org/x/text (see issue #113).
Command charsetgen turns the .tsv tables in this directory into charset_tables.go, the single-byte decoding tables for the 7 character sets that have no decoder in golang.org/x/text (see issue #113).
postgres
Package source.postgres implements the PostgreSQL replication source: a single logical-decoding reader (pgoutput) that decodes row changes into rowchange.Change, positions them at their commit LSN, and exposes the synced and confirmed positions for the DBLog watermark logic.
Package source.postgres implements the PostgreSQL replication source: a single logical-decoding reader (pgoutput) that decodes row changes into rowchange.Change, positions them at their commit LSN, and exposes the synced and confirmed positions for the DBLog watermark logic.
Package sourcepull adapts a push-based change channel into the pull-based source.Reader.Next surface, encoding buffered changes into wire batches.
Package sourcepull adapts a push-based change channel into the pull-based source.Reader.Next surface, encoding buffered changes into wire batches.
Package supervisor manages external plugin subprocesses with restart backoff, circuit breaker protection, and graceful shutdown.
Package supervisor manages external plugin subprocesses with restart backoff, circuit breaker protection, and graceful shutdown.
Flight data-plane codec: change batches travel as Arrow IPC records with a BatchMeta proto in the FlightData app_metadata.
Flight data-plane codec: change batches travel as Arrow IPC records with a BatchMeta proto in the FlightData app_metadata.
Package version exposes build metadata injected via ldflags (see Makefile).
Package version exposes build metadata injected via ldflags (see Makefile).
Package worker implements the worker plane: per-table batchers that accumulate changes and flush them collapsed to a committer, with commits strictly serialized per table.
Package worker implements the worker plane: per-table batchers that accumulate changes and flush them collapsed to a committer, with commits strictly serialized per table.

Jump to

Keyboard shortcuts

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