summaryrefslogtreecommitdiffstats
path: root/templates/package/content/container.tmpl
blob: b5fdcfeb1b91825b4a0a8fdc8d22b910596b80e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
{{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 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}}