Skip to content

Commit c8fb563

Browse files
committed
Add Sigstore verification materials
1 parent fe78dcf commit c8fb563

File tree

5 files changed

+47
-1
lines changed

5 files changed

+47
-1
lines changed

downloads/api.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,8 @@ class Meta(GenericResource.Meta):
6868
'name', 'slug',
6969
'creator', 'last_modified_by',
7070
'os', 'release', 'description', 'is_source', 'url', 'gpg_signature_file',
71-
'md5_sum', 'filesize', 'download_button',
71+
'md5_sum', 'filesize', 'download_button', 'sigstore_signature_file',
72+
'sigstore_cert_file',
7273
]
7374
filtering = {
7475
'name': ('exact',),
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Generated by Django 2.2.24 on 2022-08-09 16:55
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
('downloads', '0006_auto_20180705_0352'),
10+
]
11+
12+
operations = [
13+
migrations.AddField(
14+
model_name='releasefile',
15+
name='sigstore_cert_file',
16+
field=models.URLField(blank=True, help_text='Sigstore Cert URL', verbose_name='Sigstore Cert URL'),
17+
),
18+
migrations.AddField(
19+
model_name='releasefile',
20+
name='sigstore_signature_file',
21+
field=models.URLField(blank=True, help_text='Sigstore Signature URL', verbose_name='Sigstore Signature URL'),
22+
),
23+
]

downloads/models.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,12 @@ class ReleaseFile(ContentManageable, NameSlugModel):
322322
blank=True,
323323
help_text="GPG Signature URL"
324324
)
325+
sigstore_signature_file = models.URLField(
326+
"Sigstore Signature URL", blank=True, help_text="Sigstore Signature URL"
327+
)
328+
sigstore_cert_file = models.URLField(
329+
"Sigstore Cert URL", blank=True, help_text="Sigstore Cert URL"
330+
)
325331
md5_sum = models.CharField('MD5 Sum', max_length=200, blank=True)
326332
filesize = models.IntegerField(default=0)
327333
download_button = models.BooleanField(default=False, help_text="Use for the supernav download button for this OS")

downloads/serializers.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,6 @@ class Meta:
4646
'filesize',
4747
'download_button',
4848
'resource_uri',
49+
'sigstore_signature_file',
50+
'sigstore_cert_file',
4951
)

templates/downloads/release_detail.html

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,13 @@ <h1 class="page-title">{{ release.name }}</h1>
4040
<h1 class="page-title">Files</h1>
4141
</header>
4242

43+
{% set has_sigstore_materials = false %}
44+
{% for f in release_files %}
45+
{% if f.sigstore_cert_file or f.sigstore_signature_file %}
46+
{% set has_sigstore_materials = true %}
47+
{% endif %}
48+
{% endfor %}
49+
4350
<table>
4451
<thead>
4552
<tr>
@@ -49,6 +56,9 @@ <h1 class="page-title">Files</h1>
4956
<th>MD5 Sum</th>
5057
<th>File Size</th>
5158
<th>GPG</th>
59+
{% if has_sigstore_materials %}
60+
<th colspan="2">Sigstore</th>
61+
{% endif %}
5262
</tr>
5363
</thead>
5464
<tbody>
@@ -60,6 +70,10 @@ <h1 class="page-title">Files</h1>
6070
<td>{{ f.md5_sum }}</td>
6171
<td>{{ f.filesize }}</td>
6272
<td>{% if f.gpg_signature_file %}<a href="{{ f.gpg_signature_file }}">SIG</a>{% endif %}</td>
73+
{% if has_sigstore_materials %}
74+
<td>{% if f.sigstore_cert_file %}<a href="{{ f.sigstore_cert_file}}">CRT</a>{% endif %}</td>
75+
<td>{% if f.sigstore_signature_file %}<a href="{{ f.sigstore_signature_file }}">SIG</a>{% endif %}</td>
76+
{% endif %}
6377
</tr>
6478
{% endfor %}
6579
</tbody>

0 commit comments

Comments
 (0)