Skip to main content

helm_schema_cli/cli/
chart_args.rs

1use std::path::PathBuf;
2
3use clap::Args;
4
5/// Chart discovery, values composition, and requiredness options.
6#[derive(Args, Debug, Clone)]
7pub struct ChartArgs {
8    /// Excludes chart test templates from analysis.
9    #[arg(long)]
10    pub exclude_tests: bool,
11
12    /// Omits dependency values beneath their subchart keys.
13    #[arg(long)]
14    pub no_subchart_values: bool,
15
16    /// Additional values files whose comments should be layered into
17    /// schema descriptions. These files are documentation metadata only
18    /// and do not contribute type hints or accepted value paths.
19    #[arg(short = 'f', long = "values", value_name = "VALUES_FILE")]
20    pub values_files: Vec<PathBuf>,
21
22    /// Mark paths used in unconditional template guards
23    /// (`if .Values.X`/`eq .Values.X "..."` with no enclosing guard) as
24    /// `required` on their parent object. Paths reachable via any
25    /// `default <expr> .Values.X` fallback are excluded — the fallback
26    /// expression can be a literal (`default "x" .Values.X`), an
27    /// identifier (`default .Chart.Name .Values.X`), or a parenthesized
28    /// expression (`default (printf "%s" .Y) .Values.X`).
29    #[arg(long)]
30    pub infer_required: bool,
31}