{{ define "helm-digest-content" }} {{/* Helm-aware digest content WITH the install/pull command. Used on the digest detail page (/d///) where there's no other install switcher above. The repo page's chart tab uses helm-chart-info (without the install card) since repo-tag-section already renders an install switcher at the top. Expects dict: Manifest, HelmContent, RegistryURL, OwnerHandle, RepoName, OciClient, IsLoggedIn. */}}
{{ if .HelmContent.HoldUnreachable }}
{{ icon "wifi-off" "size-4 shrink-0" }}

We couldn't reach the hold

Chart metadata is stored on the hold. It may be offline right now.

{{ end }} {{/* Install / Pull command — reuses the existing switcher component (helm branch renders an install/pull toggle). */}} {{ $tag := "" }} {{ if .Manifest.Tags }}{{ $tag = index .Manifest.Tags 0 }}{{ end }} {{ if and (not $tag) .HelmContent.Meta }}{{ $tag = .HelmContent.Meta.Version }}{{ end }}
{{ template "pull-command-switcher" (dict "RegistryURL" .RegistryURL "OwnerHandle" .OwnerHandle "RepoName" .RepoName "Tag" $tag "ArtifactType" "helm-chart" "OciClient" .OciClient "IsLoggedIn" .IsLoggedIn ) }}
{{ template "helm-chart-info" . }}
{{ end }} {{ define "helm-chart-info" }} {{/* Chart metadata + artifact card + scanning note. No install switcher — callers are expected to render one elsewhere on the page if needed. Standard tab-content padding (space-y-4 min-w-0 pt-6) matches the layers/vulns/sbom partials so the chart tab lines up visually. Expects dict: HelmContent (and the rest is ignored). */}}
{{/* Metadata (left, ~2/3) */}}
{{ if .HelmContent.Meta }} {{ template "helm-metadata" .HelmContent.Meta }} {{ else if .HelmContent.MetaFetchFailed }}

Couldn't read chart metadata

The hold is reachable but didn't return a valid Chart.yaml for this digest. The chart tarball is still pullable below.

{{ end }}
{{/* Artifact + scanning note (right, ~1/3) */}}

Chart artifact

{{ if .HelmContent.Tarball }}

{{ .HelmContent.Tarball.MediaType }}

{{ humanizeBytes .HelmContent.Tarball.Size }}

{{ truncateDigest (trimPrefix "sha256:" .HelmContent.Tarball.Digest) 16 }}
{{ else }}

No chart tarball recorded for this digest.

{{ end }}

About scanning

ATCR doesn't scan helm charts for vulnerabilities. Run a chart linter such as kube-linter in your CI before publishing.

{{ end }}