Skip to main content

validate_source

Function validate_source 

Source
pub fn validate_source(source: &Source) -> ValidationResult
Expand description

A single backup Source is well-formed: exactly one of pvc, pvcSelector, nfs, or stream is set (ADR §3.3 — modeled as sibling Options because the forms share sourcePath* keys, so it’s a webhook check, not an enum), and that form’s own content is valid.

The dispatch is an EXHAUSTIVE match over SourceShape rather than a chain of if lets: a fifth source form then cannot compile until it is given content validation here, instead of silently falling through with none.