headwaters_proto/lib.rs
1//! Generated protobuf types and ConnectRPC stubs for Headwaters.
2//!
3//! Two proto packages, produced by `just proto-gen` and committed under
4//! `src/proto/` + `src/connect_gen/` (regenerate; do not hand-edit):
5//!
6//! - [`lineage`]`::v1` — the OpenLineage-aligned event/facet model and the
7//! ingest request/response shapes.
8//! - [`headwaters`]`::read::v1` — the read API DTOs and the `ReadService`
9//! request/response messages.
10//!
11//! The ConnectRPC facade for the read API lives in [`connect_gen`]: it carries
12//! both the server-side `ReadService` trait (used by the `headwaters` service,
13//! behind the `server` feature) and a `ReadServiceClient` (used by
14//! `headwaters-client`, behind the `client` feature). The generated message
15//! types are referenced from there via the `crate::proto` path, so this crate's
16//! root must keep a `proto` module — see `buf.gen.yaml`'s `buffa_module=crate::proto`.
17
18// The generated message/view types. Kept as `crate::proto` (not re-exported as the
19// crate root) because the connect_gen code references it by that absolute path.
20mod proto;
21pub use proto::{headwaters, lineage};
22
23// The generated ConnectRPC facade (read + ingest services). Public so
24// `headwaters-client` can name `ReadServiceClient` and the `headwaters` server
25// can name the `ReadService` trait. Carries its own `#![allow(...)]` lints.
26#[path = "connect_gen/mod.rs"]
27pub mod connect_gen;