Lint Passed + Helm Collector
Enforce Lint Passed using data collected by Helm Collector. Automatically check deployment and infrastructure standards on every PR.
How Helm Collector Powers This Guardrail
The Helm Collector gathers metadata from your orchestration systems. This data flows into Lunar's Component JSON, where the Lint Passed guardrail evaluates it against your standards.
When enabled, this check runs automatically on every PR and in AI coding workflows, providing real-time enforcement with actionable feedback.
Quick Start Configuration
Add both the collector and policy to your lunar-config.yml to enable this guardrail.
# Step 1: Enable the Helm Collector
collectors:
- uses: github://earthly/lunar-lib/collectors/helm@v1.0.5
# with: ...
# Step 2: Enable the Helm Guardrails
policies:
- uses: github://earthly/lunar-lib/policies/helm@v1.0.5
include: [lint-passed]
# with: ...
What Helm Collector Collects
This collector gathers the following data that the Lint Passed guardrail evaluates.
charts
Finds all Helm charts in the repository (directories containing Chart.yaml) and collects:
- Chart metadata (name, version, appVersion)
- Helm lint validation results and errors
- Values schema presence (values.schema.json)
- Chart dependencies with version constraints
cicd
Tracks helm commands executed in CI pipelines (install, upgrade, template, package, etc.). Records every invocation for audit trails and captures the helm version used.
Example Data Flow
Here's an example of the data that Helm Collector writes to the Component JSON, which Lint Passed then evaluates.
{
"k8s": {
"helm": {
"source": {
"tool": "helm",
"version": "3.14.0"
},
"charts": [
{
"path": "charts/api",
"name": "api",
"version": "1.2.3",
"app_version": "2.0.0",
"version_is_semver": true,
"lint_passed": true,
"lint_errors": [],
"has_values_schema": true,
"schema_path": "charts/api/values.schema.json",
"dependencies": [
{
"name": "postgresql",
"version": "~11.9.0",
"repository": "https://charts.bitnami.com/bitnami",
"is_pinned": true
},
{
"name": "redis",
"version": "*",
"repository": "https://charts.bitnami.com/bitnami",
"is_pinned": false
}
]
}
],
"cicd": {
"cmds": [
{"cmd": "helm upgrade --install api ./charts/api -f values-prod.yaml", "version": "3.14.0"},
{"cmd": "helm template api ./charts/api", "version": "3.14.0"}
],
"source": {"tool": "helm", "integration": "ci"}
}
}
}
}
Configuration Options
Helm Collector Inputs
| Input | Required | Default | Description |
|---|---|---|---|
find_command |
Optional |
find . -type f \( -name 'Chart.yaml' -o -name 'Chart.yml' \)
|
Command to find Chart.yaml files (must output one file path per line) |
lint_strict |
Optional |
false
|
Enable strict mode for helm lint (true/false) |
Ready to Automate Your Standards?
See how Lunar can turn your AGENTS.md, engineering wiki, compliance docs, or postmortem action items into automated guardrails with our 200+ built-in guardrails.