Skip to main content

helm_schema/
lib.rs

1//! Library facade for chart analysis and Helm values schema generation.
2
3mod analysis;
4mod chart;
5mod error;
6mod fetch_policy;
7/// JSON Schema reference bundling and inlining.
8pub mod flatten;
9/// Schema-generation inputs and staged output artifacts.
10pub mod generation;
11mod load_budget;
12mod output_pipeline;
13mod provider_builder;
14/// Deterministic merge policy for caller-supplied override schemas.
15pub mod schema_override;
16mod session;
17mod values_roots;
18
19#[cfg(test)]
20#[path = "tests/mod.rs"]
21mod tests;
22
23/// Runtime diagnostics produced by Kubernetes and CRD schema lookup.
24pub mod diagnostics {
25    pub use helm_schema_k8s::{
26        Diagnostic, DiagnosticKey, DiagnosticSink, format_diagnostic_json, format_diagnostic_text,
27    };
28}
29
30/// Stable inspection types for the recovered Helm contract.
31pub mod contract {
32    pub use helm_schema_ir::{
33        ContractDocument, ContractProvenance, ContractUse, Guard, SourceSpan, ValueKind,
34    };
35}
36
37/// Final schema output policy and serialization APIs.
38pub mod output {
39    pub use crate::fetch_policy::FetchPolicy;
40    pub use crate::load_budget::LoadBudget;
41    pub use crate::output_pipeline::{
42        JsonOutputFormat, OutputPipelineOptions, PolicyInputOptions, PolicyInputs, ReferenceMode,
43        apply_schema_output_pipeline, load_policy_inputs, write_schema_json,
44    };
45}
46
47/// Kubernetes and CRD provider configuration types.
48pub mod provider {
49    pub use crate::provider_builder::ProviderOptions;
50    pub use helm_schema_k8s::{K8sVersionChain, LocalSchemaUniverse};
51}
52
53pub use session::{Analysis, AnalysisSession, ValuePathExplanation};
54
55pub use error::{CliError, EngineResult};
56pub use generation::{GenerateOptions, GeneratedSchema, ResolvedContract};