{{if eq .PackageDescriptor.Package.Type "container"}}

{{ctx.Locale.Tr "packages.installation"}}

{{if eq .PackageDescriptor.Metadata.Type "helm"}}
helm pull oci://{{.PackageRegistryHost}}/{{.PackageDescriptor.Owner.LowerName}}/{{.PackageDescriptor.Package.LowerName}} --version {{.PackageDescriptor.Version.LowerVersion}}
{{else}} {{$separator := ":"}} {{if not .PackageDescriptor.Metadata.IsTagged}} {{$separator = "@"}} {{end}}
docker pull {{.PackageRegistryHost}}/{{.PackageDescriptor.Owner.LowerName}}/{{.PackageDescriptor.Package.LowerName}}{{$separator}}{{.PackageDescriptor.Version.LowerVersion}}
{{end}}

							{{- range .PackageDescriptor.Files -}}
								{{- if eq .File.LowerName "manifest.json" -}}
									{{- .Properties.GetByName "container.digest" -}}{{"\n"}}
								{{- end -}}
							{{- end -}}
						
{{if .PackageDescriptor.Metadata.Manifests}}

{{ctx.Locale.Tr "packages.container.images"}}

{{range .PackageDescriptor.Metadata.Manifests}} {{/* "unknown/unknown" is attestation-manifest, so we should skip it */}} {{if ne .Platform "unknown/unknown"}} {{end}} {{end}}
{{ctx.Locale.Tr "packages.container.digest"}} {{ctx.Locale.Tr "packages.container.multi_arch"}} {{ctx.Locale.Tr "admin.packages.size"}}
{{StringUtils.TrimPrefix .Digest "sha256:" | ShortSha}} {{.Platform}} {{FileSize .Size}}
{{end}} {{if .PackageDescriptor.Metadata.Description}}

{{ctx.Locale.Tr "packages.about"}}

{{.PackageDescriptor.Metadata.Description}}
{{end}} {{/* a container manifest may contain sub manifests, so here we try to display some information of the sub manifest, not perfect, just better than before */}} {{$imageMetadata := .ContainerImageMetadata}} {{if $imageMetadata.ImageLayers}}

{{ctx.Locale.Tr "packages.container.layers"}} {{/* only show the platform if the image metadata is not the package's, which means that it is a sub manifest */}} {{if ne .ContainerImageMetadata .PackageDescriptor.Metadata}} ({{svg "octicon-cpu" 12}} {{.ContainerImageMetadata.Platform}}) {{end}}

{{range $imageMetadata.ImageLayers}} {{end}}
{{.}}
{{end}} {{if $imageMetadata.Labels}}

{{ctx.Locale.Tr "packages.container.labels"}}

{{range $key, $value := $imageMetadata.Labels}} {{end}}
{{ctx.Locale.Tr "packages.container.labels.key"}} {{ctx.Locale.Tr "packages.container.labels.value"}}
{{$key}} {{$value}}
{{end}} {{end}}