1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
//! Declarative **build variants** (task #19) + the **build-thing** UI surface,
//! **build-provenance** attestation, and warehouse sink (task #36).
//!
//! EXTRACTED (task #36) into the reusable, dependency-light
//! [`nornir_build_thing`] leaf crate — mirroring how the test-matrix engine lives
//! in `nornir-testmatrix`. This module is now a thin **re-export** so every
//! existing path keeps working:
//!
//! * `nornir::build::variant::{BuildVariant, BuildVariantSet, Profile, …}`
//! * `nornir::build::surface::BuildSurface` — the data-driven build-thing UI model
//! * `nornir::build::provenance::{BuildProvenance, Attestation, build_variant, …}`
//! * `nornir::build::sink::BuildProvenanceSink` — the warehouse seam
//! * `nornir::build::elm::BuildThing` — the facett-Elm UI component (pure core)
//!
//! A repo like holger ships **three split executables from one tree**
//! (`embedded`, `minimal`, `full`); it declares them as data and nornir drives
//! `cargo` from the descriptor. Building one (with `--attest`) captures a
//! content-addressed provenance record → writes it to the warehouse
//! ([`crate::warehouse::build_provenance`]) → then dumps a znippy archive beside
//! the artifact ([`seal`], feature `build-provenance`).
// Re-export the leaf crate's modules verbatim so `nornir::build::variant::*`,
// `::surface::*`, `::provenance::*`, `::sink::*`, `::elm::*`, `::container::*`
// all resolve.
pub use ;
// Flat re-exports of the headline API (mirrors the crate's own prelude).
pub use ;
// Flat re-exports of the IMAGE/VM build-target API — the peer of `build_variant`
// for `ContainerBuild` images and `VmBuild` appliances. The heavy real container
// builder (`BollardImageBuilder`) is forwarded behind the `build-image` feature.
pub use ;
/// The real bollard-backed container image builder — only linked when the main
/// crate is built with `--features build-image` (which forwards
/// `nornir-build-thing/image-build`).
pub use BollardImageBuilder;
/// The real **znippy-sealed** attestation path (feature `build-provenance`): a
/// detached CMS signature over the attestation digest, and the znippy-archive
/// dump placed beside the released artifact.
/// **f5 — a build/pipeline as a root jera job that OWNS a `PlanDag` of sub-jobs.**
/// Every pipeline step is a tracked sub-job (its own `job_id` + `queued → running →
/// done|failed` lifecycle on the nornir-jobs ledger); edges are `needs`
/// dependencies. Reuses funnel-core's [`crate::funnel::PlanDag`] for the DAG
/// vocabulary and the ledger for the sub-job hierarchy — the existing single-job
/// path is unchanged (a one-step "DAG").
/// **Slice 5 — the Flight-backed [`BuildInfoSink`](nornir_build_thing::build_info::BuildInfoSink).**
/// Serializes build-info rows to the §f3 Arrow `RecordBatch` and ships them over
/// `edda/nornir-flight`'s `do_put` to a remote endpoint (with a `do_get`/`subscribe`
/// consumer), so the same build-info stream is in-process (default) OR Flight
/// (remote) behind the one sink trait. Gated behind `build-info-flight` — the
/// in-process default pays nothing (no second arrow, no Flight deps).