mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-27 22:23:50 +03:00
5c1983644e
Related: #24973 Before: ![image](https://github.com/user-attachments/assets/bca17900-5075-4d15-af7a-c71bf8979c04) After: ![image](https://github.com/user-attachments/assets/c5a24e3b-763b-4463-80db-d4dbd89f7dc4) Index: ```json { "schemaVersion": 2, "mediaType": "application/vnd.oci.image.index.v1+json", "manifests": [ { "mediaType": "application/vnd.oci.image.manifest.v1+json", "digest": "sha256:5967afffdfde104ca1459286a72346baaef8b70ac153325d7a6cd85c7734ac6e", "size": 672, "platform": { "architecture": "amd64", "os": "linux" } }, { "mediaType": "application/vnd.oci.image.manifest.v1+json", "digest": "sha256:f9abfcc55320f9ff1f38eeb7dbb4bea10b29c7febfa49ccd7aab9fa02403b9f0", "size": 672, "platform": { "architecture": "arm64", "os": "linux" } }, { "mediaType": "application/vnd.oci.image.manifest.v1+json", "digest": "sha256:d70ad19d00c19e40691045cbddc3e8a5a4454c31cc454d1132b13bcaf35b6d46", "size": 566, "annotations": { "vnd.docker.reference.digest": "sha256:5967afffdfde104ca1459286a72346baaef8b70ac153325d7a6cd85c7734ac6e", "vnd.docker.reference.type": "attestation-manifest" }, "platform": { "architecture": "unknown", "os": "unknown" } }, { "mediaType": "application/vnd.oci.image.manifest.v1+json", "digest": "sha256:73bc233bf4eac96a404ce3e0430b698831a4ea7050c878d5f76d1d1f133751dd", "size": 566, "annotations": { "vnd.docker.reference.digest": "sha256:f9abfcc55320f9ff1f38eeb7dbb4bea10b29c7febfa49ccd7aab9fa02403b9f0", "vnd.docker.reference.type": "attestation-manifest" }, "platform": { "architecture": "unknown", "os": "unknown" } } ] } ``` --------- Co-authored-by: silverwind <me@silverwind.io> (cherry picked from commit 276f43330cb86e2ce6bc5a902a43f02727e009e9) Conflicts: templates/package/content/container.tmpl simplify to only skip unknown/unknown and not change the display
92 lines
3.6 KiB
Go HTML Template
92 lines
3.6 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://{{.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"><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.images.title"}}</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}}
|
|
{{if ne .Platform "unknown/unknown"}}
|
|
<tr>
|
|
<td><a href="{{$.PackageDescriptor.PackageWebLink}}/{{PathEscape .Digest}}">{{.Digest}}</a></td>
|
|
<td>{{.Platform}}</td>
|
|
<td>{{ctx.Locale.TrSize .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}}
|
|
{{if .PackageDescriptor.Metadata.ImageLayers}}
|
|
<h4 class="ui top attached header">{{ctx.Locale.Tr "packages.container.layers"}}</h4>
|
|
<div class="ui attached segment tw-break-anywhere">
|
|
<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="tw-break-anywhere">{{$value}}</td>
|
|
</tr>
|
|
{{end}}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
{{end}}
|
|
{{end}}
|