mirror of
https://github.com/go-gitea/gitea.git
synced 2025-07-04 22:57:34 -04:00
120 lines
4.5 KiB
Handlebars
120 lines
4.5 KiB
Handlebars
{{if eq .PackageDescriptor.Package.Type "container"}}
|
|
<h4 class="ui top attached header">{{ctx.Locale.Tr "packages.installation"}}</h4>
|
|
<div class="ui attached segment">
|
|
<div class="ui form">
|
|
<div class="field">
|
|
<label>{{svg "octicon-terminal"}} {{ctx.Locale.Tr "packages.container.pull"}}</label>
|
|
{{if eq .PackageDescriptor.Metadata.Type "helm"}}
|
|
<div class="markup"><pre class="code-block"><code>helm pull oci://{{.PackageRegistryHost}}/{{.PackageDescriptor.Owner.LowerName}}/{{.PackageDescriptor.Package.LowerName}} --version {{.PackageDescriptor.Version.LowerVersion}}</code></pre></div>
|
|
{{else}}
|
|
{{$separator := ":"}}
|
|
{{if not .PackageDescriptor.Metadata.IsTagged}}
|
|
{{$separator = "@"}}
|
|
{{end}}
|
|
<div class="markup"><pre class="code-block"><code>docker pull {{.PackageRegistryHost}}/{{.PackageDescriptor.Owner.LowerName}}/{{.PackageDescriptor.Package.LowerName}}{{$separator}}{{.PackageDescriptor.Version.LowerVersion}}</code></pre></div>
|
|
{{end}}
|
|
</div>
|
|
<div class="field">
|
|
<label>{{svg "octicon-code"}} {{ctx.Locale.Tr "packages.container.digest"}}</label>
|
|
<div class="markup">
|
|
<div class="code-block-container code-overflow-scroll">
|
|
<pre class="code-block"><code>
|
|
{{- range .PackageDescriptor.Files -}}
|
|
{{- if eq .File.LowerName "manifest.json" -}}
|
|
{{- .Properties.GetByName "container.digest" -}}{{"\n"}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Container" "https://docs.gitea.com/usage/packages/container/"}}</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{if .PackageDescriptor.Metadata.Manifests}}
|
|
<h4 class="ui top attached header">{{ctx.Locale.Tr "packages.container.images"}}</h4>
|
|
<div class="ui attached segment">
|
|
<table class="ui very basic compact table">
|
|
<thead>
|
|
<tr>
|
|
<th>{{ctx.Locale.Tr "packages.container.digest"}}</th>
|
|
<th>{{ctx.Locale.Tr "packages.container.multi_arch"}}</th>
|
|
<th>{{ctx.Locale.Tr "admin.packages.size"}}</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{{range .PackageDescriptor.Metadata.Manifests}}
|
|
{{/* "unknown/unknown" is attestation-manifest, so we should skip it */}}
|
|
{{if ne .Platform "unknown/unknown"}}
|
|
<tr>
|
|
<td>
|
|
<a class="tw-font-mono" href="{{$.PackageDescriptor.PackageWebLink}}/{{$.PackageDescriptor.Version.LowerVersion}}/{{PathEscape .Digest}}">
|
|
{{StringUtils.TrimPrefix .Digest "sha256:" | ShortSha}}
|
|
</a>
|
|
</td>
|
|
<td>{{.Platform}}</td>
|
|
<td>{{FileSize .Size}}</td>
|
|
</tr>
|
|
{{end}}
|
|
{{end}}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
{{end}}
|
|
{{if .PackageDescriptor.Metadata.Description}}
|
|
<h4 class="ui top attached header">{{ctx.Locale.Tr "packages.about"}}</h4>
|
|
<div class="ui attached segment">
|
|
{{.PackageDescriptor.Metadata.Description}}
|
|
</div>
|
|
{{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}}
|
|
<h4 class="ui top attached header flex-text-block">
|
|
{{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}}
|
|
<span class="tw-text-sm flex-text-inline" title="{{ctx.Locale.Tr "packages.container.details.platform"}}">
|
|
({{svg "octicon-cpu" 12}} {{.ContainerImageMetadata.Platform}})
|
|
</span>
|
|
{{end}}
|
|
</h4>
|
|
<div class="ui attached segment tw-break-anywhere">
|
|
<table class="ui very basic compact table">
|
|
<tbody>
|
|
{{range $imageMetadata.ImageLayers}}
|
|
<tr>
|
|
<td>{{.}}</td>
|
|
</tr>
|
|
{{end}}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
{{end}}
|
|
{{if $imageMetadata.Labels}}
|
|
<h4 class="ui top attached header">{{ctx.Locale.Tr "packages.container.labels"}}</h4>
|
|
<div class="ui attached segment">
|
|
<table class="ui very basic compact table">
|
|
<thead>
|
|
<tr>
|
|
<th>{{ctx.Locale.Tr "packages.container.labels.key"}}</th>
|
|
<th>{{ctx.Locale.Tr "packages.container.labels.value"}}</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{{range $key, $value := $imageMetadata.Labels}}
|
|
<tr>
|
|
<td class="tw-align-top">{{$key}}</td>
|
|
<td class="tw-break-anywhere">{{$value}}</td>
|
|
</tr>
|
|
{{end}}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
{{end}}
|
|
{{end}}
|