Switching quay.io/fedora/fedora-bootc to be built by Konflux #13115
Labels
No labels
after freeze
automation
backlog
blocked
change-ack
change-nak
change-noreleng
changes
Closed As
Can't Fix
Closed As
Duplicate
Closed As
Fixed
Closed As
Fixed with Explanation
Closed As
Get back later
Closed As
Grooming
Closed As
Insufficient data
Closed As
Invalid
Closed As
It's all good
Closed As
taiga
Closed As
upstream
day-to-day
dev
docs
easyfix
epel
f26
f27
f28
f29
f30
f31
f32
f33
f34
f35
f36
f37
f38
f39
f40
f41
f42
f43
f44
f45
fedora
groomed
high-gain
high-trouble
in-progress
in-review
investigation
legal
low-gain
low-trouble
mass rebuild
medium-gain
medium-trouble
meeting
mini-initiative
new_artifact
ops
pdc_retirement
rawhide
RCA
review
script
sidetarget
sprint-0
sprint-1
sprint-2
sprint-3
sprint-4
sprint-5
unfrozen
waiting on external
Backlog Status
Needs Review
Backlog Status
Ready
chore
documentation
points
01
points
02
points
03
points
05
points
08
points
13
Priority
High
Priority
Low
Priority
Medium
Sprint Status
Blocked
Sprint Status
Done
Sprint Status
In Progress
Sprint Status
Review
Sprint Status
To Do
Technical Debt
Work Item
Bug
Work Item
Epic
Work Item
Spike
Work Item
Task
Work Item
User Story
No milestone
No project
No assignees
7 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
releng/tickets#13115
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Hi 👋, we are moving fedora-bootc builds from Pungi to Fedora Konflux (for example https://quay.io/repository/bootc-devel/fedora-bootc-rawhide-standard?tab=tags&tag=latest))
The Question: Is it acceptable to push these images to quay.io/fedora signed only by the Konflux key (not the official Fedora/RelEng key)? This is our final blocker (https://gitlab.com/fedora/bootc/base-images/-/issues/51#note_2843289127)
Long term we want to have https://github.com/fedora-infra/siguldry/issues/49 but in the mean time it would be great if we could make the switch to Konflux.
As far as I can tell, we have never signed
quay.io/fedora/fedora- probably related to the fact that we've never used container-native tooling to build it.So I don't think this is a blocker actually.
But it would clearly make sense to ensure we're signing it, and also we should move the app base image under this same infrastructure too.
IMO for OS updates we shouldn't ship them without some sort of verification.
Application containers are usually sandboxed in some way to prevent the blast radius from a potential exploit so I could see shipping containers there that aren't signed/verified, but I think OS updates containers should require a higher level of security.
For OS Updates we've always had one of the following for official fedora updates (I think):
Just to be clear the images are signed, but using the Fedora Konflux instance key which is not available under https://fedoraproject.org/security
👍 - interested to have someone from releng weigh in here.
yeah, thats all right from my understanding.
We have also #10624 that no one has yet done about signing container images.
So, if we pushed these images signed by the konflux instance key, would that cause any problems for users? ie, would it yell that they didn't have the key or that it was untrusted or anything? And would there be some way we could (if only manually) let people verify with that key?
But yeah, it would be great to have this working
AFAIK it won't yell as the
/etc/containers/policy.jsonallows anything for the docker transport by default.Yes see below the commands to manually check:
and one could update its
/etc/containers/policy.jsonaccordingly with that Konflux pubkey to verify automatically during the pull.Correct, rather than have users configure the policy I would think we (Fedora) would want to ship a policy that required signature verification for containers from repos we know are signed.
Something shipped in the quay.io/fedora namespace should be using the Fedora key, not some other one. Is there a reason this can't be wired up somehow?
If releng offers something like what's described in https://github.com/fedora-infra/siguldry/issues/49#issuecomment-2949889535 then we'd "just" have to wrap this in a Tekton task and chain it to the bootc Konflux release pipeline.
I don't think we should ship official release artifacts signed by the Konflux key as anything produced by Konflux is signed by this key. We should make sure that we have official release artifacts (and only those) signed by the Fedora keys.
But to come back to Colin's point, fedora-bootc images currently published (https://quay.io/repository/fedora/fedora-bootc?tab=tags) are not signed so I'm not sure this should block this.
This discussion should probably happen in the context of a change request, maybe https://fedoraproject.org/wiki/Changes/konflux-atomic-change-proposal ?
Edit: Fixed the missing not in the sentence above.
I agree with the spirit of your point, but note particularly for Fedora-bootc we intend that many use cases actually derive at build time instead of updating directly, so it really is fundamentally much more like the app container image.
Now I hope everyone would agree that we should be building all fedora containers with Konflux and signing them with a Fedora key.
But in the interim I don't see any blockers to changing fedora-bootc over to being shipped via Konflux and dropping the Konflux signature again with the rationale that it matches the app base.
Then we'd cut over to signing both with the Fedora key.