Safeguard
Developer Tools•

What is a Helm library chart, and who should own it?

A Helm library chart holds shared templates and cannot be installed on its own. Why a shared one needs strict ownership and how consumers should pin it.

Safeguard Security Team
4 min read

A Helm library chart is a chart with type: library that provides shared templates and functions to other charts. It cannot be installed itself and renders nothing on its own. Because every consumer inherits its output, it needs named owners and careful versioning.

Definition from the Helm docs

Helm's chart documentation says the default chart type is application. Setting type: library makes a chart non-installable, and its resource objects are not rendered. The purpose is to supply utilities and functions to other charts. The type field arrived with apiVersion: v2, which is for charts that require Helm 3 or later.

A consuming chart lists the library under dependencies in Chart.yaml, with a name, a version and a repository, and helm dependency update downloads it into charts/.

Why teams build them

Platform teams use library charts to give every service the same deployment shape: labels, resource limits, probes, security context and service accounts. The goal is that app teams write a few values and get a consistent, reviewed object.

That consistency is also the risk. A library template is code that is rendered into many teams' workloads. A change to a default security setting changes all of them on their next chart upgrade.

Ownership

ConcernSuggested approach
Who can change templatesNamed owners via CODEOWNERS, with a required review
Who decides breaking changesThe platform team, with notice to consumers
How consumers receive changesPinned chart dependency versions, bumped by pull request
How changes are testedRender tests against a few representative consumer charts

See CODEOWNERS and release files for protecting the directory.

Versioning and pinning

Treat the library's template helpers and expected values as its public interface. Renaming a helper breaks every chart that calls it. Use SemVer for the chart version, and publish release notes. See version vs appVersion.

Consumers should pin the dependency to a specific version in Chart.yaml, not float. After running helm dependency update, commit the resulting lock file so the exact dependency is recorded. Details are in bumping a chart dependency.

Review steps for a library change

  1. Read the diff to the named templates, not just the values.
  2. Render a sample consumer chart before and after and compare the output. Look for loosened security context, added privileges, new volumes or changed service types.
  3. Check that new behaviour is opt in, not on by default, unless the change is a deliberate tightening.
  4. Confirm the version bump matches the change.
  5. Announce the change to consumers with the action they must take, if any.

A note on security defaults

If the library sets a safe default, such as running as non root, consumers inherit that without effort. If an app needs an exception, make the exception explicit in its own values, visible in review, rather than editing the library. That keeps the strong default for everyone else. For exception handling patterns, see how to handle exceptions to IaC security rules.

Where Safeguard fits

Safeguard policies and gates can require checks and reviewers on pull requests to a shared chart repository, and compliance and evidence automation can keep the approval trail. It does not render or scan Helm templates for misconfigurations.

Quick check

Can I helm install a library chart?

No. Per the Helm documentation, a chart with type library is non-installable and its resource objects are not rendered.

Do consumers get library changes automatically?

Only if they float the dependency version. If they pin it, they receive changes when they bump the pin and update the lock file.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.