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
//! Helmlint-RS: Native Rust Helm Chart Linter
//!
//! A Rust implementation of a comprehensive Helm chart linter, inspired by
//! and partially derived from the helmtest project.
//!
//! # Attribution
//!
//! This module is a derivative work inspired by [helmtest](https://github.com/stackrox/helmtest),
//! originally written in Go by StackRox (Red Hat).
//!
//! **Original Project:** <https://github.com/stackrox/helmtest>
//! **Original License:** Apache-2.0
//! **Original Copyright:** Copyright (c) StackRox, Inc.
//!
//! This Rust translation maintains compatibility with the Apache-2.0 license.
//! See THIRD_PARTY_NOTICES.md and LICENSE files for full details.
//!
//! # Features
//!
//! - Chart.yaml validation (structure, versions, dependencies)
//! - values.yaml validation (types, schema, unused values)
//! - Template syntax analysis (unclosed blocks, undefined variables)
//! - Security checks (privileged containers, host access)
//! - Best practice validation (resource limits, probes, deprecated APIs)
//! - Inline pragma support for ignoring rules
//!
//! # Example
//!
//! ```rust,ignore
//! use syncable_cli::analyzer::helmlint::{lint_chart, HelmlintConfig, LintResult};
//! use std::path::Path;
//!
//! let config = HelmlintConfig::default();
//! let result = lint_chart(Path::new("./my-chart"), &config);
//!
//! for failure in result.failures {
//! println!("{}: {} - {}", failure.file, failure.code, failure.message);
//! }
//! ```
//!
//! # Rules
//!
//! | Category | Code Range | Description |
//! |----------|------------|-------------|
//! | Structure | HL1xxx | Chart.yaml and file structure |
//! | Values | HL2xxx | values.yaml validation |
//! | Templates | HL3xxx | Go template syntax |
//! | Security | HL4xxx | Container security |
//! | Best Practices | HL5xxx | K8s best practices |
// Re-export main types and functions
pub use HelmlintConfig;
pub use ;
pub use ;
pub use ;