forgejo-federation/templates/package/content/container.tmpl

90 lines
3.5 KiB
Go HTML Template

{{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://{{.RegistryHost}}/{{.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 {{.RegistryHost}}/{{.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"><pre class="code-block"><code>{{range .PackageDescriptor.Files}}{{if eq .File.LowerName "manifest.json"}}{{.Properties.GetByName "container.digest"}}{{end}}{{end}}</code></pre></div>
</div>
<div class="field">
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Container" "https://forgejo.org/docs/latest/user/packages/container/"}}</label>
</div>
</div>
</div>
{{if .PackageDescriptor.Metadata.Manifests}}
<h4 class="ui top attached header">{{ctx.Locale.Tr "packages.container.multi_arch"}}</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}}
<tr>
<td><a href="{{$.PackageDescriptor.PackageWebLink}}/{{PathEscape .Digest}}">{{.Digest}}</a></td>
<td>{{.Platform}}</td>
<td>{{ctx.Locale.TrSize .Size}}</td>
</tr>
{{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}}
{{if .PackageDescriptor.Metadata.ImageLayers}}
<h4 class="ui top attached header">{{ctx.Locale.Tr "packages.container.layers"}}</h4>
<div class="ui attached segment gt-word-break">
<table class="ui very basic compact table">
<tbody>
{{range .PackageDescriptor.Metadata.ImageLayers}}
<tr>
<td>{{.}}</td>
</tr>
{{end}}
</tbody>
</table>
</div>
{{end}}
{{if .PackageDescriptor.Metadata.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 := .PackageDescriptor.Metadata.Labels}}
<tr>
<td class="top aligned">{{$key}}</td>
<td class="gt-word-break">{{$value}}</td>
</tr>
{{end}}
</tbody>
</table>
</div>
{{end}}
{{end}}