2022-03-30 10:42:47 +02:00
|
|
|
{{if eq .PackageDescriptor.Package.Type "container"}}
|
2023-09-25 10:56:50 +02:00
|
|
|
<h4 class="ui top attached header">{{ctx.Locale.Tr "packages.installation"}}</h4>
|
2022-03-30 10:42:47 +02:00
|
|
|
<div class="ui attached segment">
|
|
|
|
<div class="ui form">
|
|
|
|
<div class="field">
|
2023-09-25 10:56:50 +02:00
|
|
|
<label>{{svg "octicon-terminal"}} {{ctx.Locale.Tr "packages.container.pull"}}</label>
|
2022-03-30 10:42:47 +02:00
|
|
|
{{if eq .PackageDescriptor.Metadata.Type "helm"}}
|
2024-12-05 00:09:07 +01:00
|
|
|
<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>
|
2022-03-30 10:42:47 +02:00
|
|
|
{{else}}
|
|
|
|
{{$separator := ":"}}
|
|
|
|
{{if not .PackageDescriptor.Metadata.IsTagged}}
|
|
|
|
{{$separator = "@"}}
|
|
|
|
{{end}}
|
2024-12-05 00:09:07 +01:00
|
|
|
<div class="markup"><pre class="code-block"><code>docker pull {{.PackageRegistryHost}}/{{.PackageDescriptor.Owner.LowerName}}/{{.PackageDescriptor.Package.LowerName}}{{$separator}}{{.PackageDescriptor.Version.LowerVersion}}</code></pre></div>
|
2022-03-30 10:42:47 +02:00
|
|
|
{{end}}
|
|
|
|
</div>
|
2022-09-14 22:45:13 +02:00
|
|
|
<div class="field">
|
2023-09-25 10:56:50 +02:00
|
|
|
<label>{{svg "octicon-code"}} {{ctx.Locale.Tr "packages.container.digest"}}</label>
|
2022-09-14 22:45:13 +02:00
|
|
|
<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>
|
2022-03-30 10:42:47 +02:00
|
|
|
<div class="field">
|
2024-02-22 18:02:33 +01:00
|
|
|
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Container" "https://docs.gitea.com/usage/packages/container/"}}</label>
|
2022-03-30 10:42:47 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2023-04-02 11:53:37 +02:00
|
|
|
{{if .PackageDescriptor.Metadata.Manifests}}
|
2023-09-25 10:56:50 +02:00
|
|
|
<h4 class="ui top attached header">{{ctx.Locale.Tr "packages.container.multi_arch"}}</h4>
|
2022-03-30 10:42:47 +02:00
|
|
|
<div class="ui attached segment">
|
2023-04-02 11:53:37 +02:00
|
|
|
<table class="ui very basic compact table">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
2023-09-25 10:56:50 +02:00
|
|
|
<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>
|
2023-04-02 11:53:37 +02:00
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
{{range .PackageDescriptor.Metadata.Manifests}}
|
2024-12-17 04:58:27 +01:00
|
|
|
{{/* "unknown/unknown" is attestation-manifest, so we should skip it */}}
|
Do not display `attestation-manifest` and use short sha256 instead of full sha256 (#32851)
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>
2024-12-16 03:22:49 +01:00
|
|
|
{{if ne .Platform "unknown/unknown"}}
|
|
|
|
<tr>
|
2024-12-17 04:58:27 +01:00
|
|
|
<td><a class="tw-font-mono" href="{{$.PackageDescriptor.PackageWebLink}}/{{PathEscape .Digest}}">{{StringUtils.TrimPrefix .Digest "sha256:" | ShortSha}}</a></td>
|
Do not display `attestation-manifest` and use short sha256 instead of full sha256 (#32851)
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>
2024-12-16 03:22:49 +01:00
|
|
|
<td>{{.Platform}}</td>
|
|
|
|
<td>{{FileSize .Size}}</td>
|
|
|
|
</tr>
|
|
|
|
{{end}}
|
2022-03-30 10:42:47 +02:00
|
|
|
{{end}}
|
2023-04-02 11:53:37 +02:00
|
|
|
</tbody>
|
|
|
|
</table>
|
2022-03-30 10:42:47 +02:00
|
|
|
</div>
|
|
|
|
{{end}}
|
|
|
|
{{if .PackageDescriptor.Metadata.Description}}
|
2023-09-25 10:56:50 +02:00
|
|
|
<h4 class="ui top attached header">{{ctx.Locale.Tr "packages.about"}}</h4>
|
2022-03-30 10:42:47 +02:00
|
|
|
<div class="ui attached segment">
|
|
|
|
{{.PackageDescriptor.Metadata.Description}}
|
|
|
|
</div>
|
|
|
|
{{end}}
|
|
|
|
{{if .PackageDescriptor.Metadata.ImageLayers}}
|
2023-09-25 10:56:50 +02:00
|
|
|
<h4 class="ui top attached header">{{ctx.Locale.Tr "packages.container.layers"}}</h4>
|
2024-06-04 15:57:11 +02:00
|
|
|
<div class="ui attached segment tw-break-anywhere">
|
2022-09-27 15:03:24 +02:00
|
|
|
<table class="ui very basic compact table">
|
2022-03-30 10:42:47 +02:00
|
|
|
<tbody>
|
|
|
|
{{range .PackageDescriptor.Metadata.ImageLayers}}
|
|
|
|
<tr>
|
|
|
|
<td>{{.}}</td>
|
|
|
|
</tr>
|
|
|
|
{{end}}
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
{{end}}
|
|
|
|
{{if .PackageDescriptor.Metadata.Labels}}
|
2023-09-25 10:56:50 +02:00
|
|
|
<h4 class="ui top attached header">{{ctx.Locale.Tr "packages.container.labels"}}</h4>
|
2022-03-30 10:42:47 +02:00
|
|
|
<div class="ui attached segment">
|
2023-05-03 20:32:10 +02:00
|
|
|
<table class="ui very basic compact table">
|
2022-03-30 10:42:47 +02:00
|
|
|
<thead>
|
|
|
|
<tr>
|
2023-09-25 10:56:50 +02:00
|
|
|
<th>{{ctx.Locale.Tr "packages.container.labels.key"}}</th>
|
|
|
|
<th>{{ctx.Locale.Tr "packages.container.labels.value"}}</th>
|
2022-03-30 10:42:47 +02:00
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
{{range $key, $value := .PackageDescriptor.Metadata.Labels}}
|
|
|
|
<tr>
|
2023-05-03 20:32:10 +02:00
|
|
|
<td class="top aligned">{{$key}}</td>
|
2024-06-04 15:57:11 +02:00
|
|
|
<td class="tw-break-anywhere">{{$value}}</td>
|
2022-03-30 10:42:47 +02:00
|
|
|
</tr>
|
|
|
|
{{end}}
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
{{end}}
|
|
|
|
{{end}}
|