Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/topics/charts.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ dependencies: # A list of the chart requirements (optional)
- name: The name of the chart (nginx)
version: The version of the chart ("1.2.3")
repository: (optional) The repository URL ("https://example.com/charts") or alias ("@repo-name")
digest: (optional) The SHA256 digest for OCI dependencies, used instead of version tag for immutable references

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added digest field to the Chart.yaml dependency documentation based on PR #32142 which adds the Digest field to the v3 chart schema in internal/chart/v3/dependency.go.

Source: helm/helm#32142

condition: (optional) A yaml path that resolves to a boolean, used for enabling/disabling charts (e.g. subchart1.enabled )
tags: # (optional)
- Tags can be used to group charts for enabling/disabling together
Expand Down
22 changes: 21 additions & 1 deletion docs/topics/registries.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -185,14 +185,34 @@ Dependencies of a chart can be pulled from a registry using the `dependency upda

The `repository` for a given entry in `Chart.yaml` is specified as the registry reference without the basename:

```
```yaml
dependencies:
- name: mychart
version: "2.7.0"
repository: "oci://localhost:5000/myrepo"
```
This will fetch `oci://localhost:5000/myrepo/mychart:2.7.0` when `dependency update` is executed.

### Specifying dependencies with digest

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added the digest field documentation based on PR #32142 which adds OCI digest tracking support for Helm v4 dependencies. The PR adds a Digest field to internal/chart/v3/dependency.go and modifies pkg/downloader/manager.go to construct URLs with @sha256: when a digest is specified.

Source: helm/helm#32142


You can specify a SHA256 digest instead of relying on version tags. Digests are immutable, so they provide stronger guarantees that you get the exact chart artifact you expect. When a `digest` is specified, Helm fetches the dependency using the digest rather than the version tag:

```yaml
dependencies:
- name: mychart
version: "2.7.0"
repository: "oci://localhost:5000/myrepo"
digest: "sha256:ec5f08ee7be8b557cd1fc5ae1a0ac985e8538da7c93f51a51eff4b277509a723"
```

This will fetch `oci://localhost:5000/myrepo/mychart@sha256:ec5f08ee7be8b557cd1fc5ae1a0ac985e8538da7c93f51a51eff4b277509a723` when `dependency update` is executed.

Because digests are immutable, they are useful for:

- **Reproducible builds**: The same dependency content is used across different environments
- **Supply chain security**: Version tags cannot be overwritten to point to different content
- **Audit compliance**: An exact record of which artifacts were deployed

## Helm chart manifest

Example Helm chart manifest as represented in a registry
Expand Down
Loading