Skip to content

ROX-34488: discover cosign signatures via OCI 1.1 Referrers API#21908

Draft
stehessel wants to merge 1 commit into
ROX-34488/1-proto-schemafrom
ROX-34488/2-referrer-discovery
Draft

ROX-34488: discover cosign signatures via OCI 1.1 Referrers API#21908
stehessel wants to merge 1 commit into
ROX-34488/1-proto-schemafrom
ROX-34488/2-referrer-discovery

Conversation

@stehessel

@stehessel stehessel commented Jul 23, 2026

Copy link
Copy Markdown
Collaborator

Description

Extract signature payload fetching into cosign_payload_fetcher.go and add referrer-based discovery alongside the existing tag-based method. FetchSignatures now queries both paths and merges results. Referrer errors are swallowed so registries without OCI 1.1 support keep working.

This enables discovery of signatures created by cosign v3+, which defaults to storing signatures as OCI referrers instead of legacy tags.

User-facing documentation

Testing and quality

  • the change is production ready: the change is GA, or otherwise the functionality is gated by a feature flag
  • CI results are inspected

Automated testing

  • added unit tests
  • added e2e tests
  • added regression tests
  • added compatibility tests
  • modified existing tests

How I validated my change

Unit tests for tag-based and referrer-based payload fetching in cosign_payload_fetcher_test.go and cosign_sig_fetcher_test.go using an in-memory registry.

@openshift-ci

openshift-ci Bot commented Jul 23, 2026

Copy link
Copy Markdown

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@github-actions

github-actions Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

🚀 Build Images Ready

Images are ready for commit fa3f8b2. To use with deploy scripts:

export MAIN_IMAGE_TAG=4.12.x-578-gfa3f8b2393

@stehessel
stehessel force-pushed the ROX-34488/1-proto-schema branch from 06d70e8 to 7a70480 Compare July 23, 2026 14:32
@stehessel
stehessel force-pushed the ROX-34488/2-referrer-discovery branch 2 times, most recently from 4fecac8 to ea85a49 Compare July 23, 2026 14:49
@stehessel
stehessel force-pushed the ROX-34488/1-proto-schema branch from 7a70480 to 3459544 Compare July 23, 2026 15:55
@stehessel
stehessel force-pushed the ROX-34488/2-referrer-discovery branch 3 times, most recently from 17ac497 to cebd12e Compare July 23, 2026 17:19
@codecov

codecov Bot commented Jul 23, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 55.69620% with 70 lines in your changes missing coverage. Please review.
✅ Project coverage is 51.35%. Comparing base (3459544) to head (fa3f8b2).

Files with missing lines Patch % Lines
pkg/signatures/cosign_sig_fetcher.go 60.00% 28 Missing and 10 partials ⚠️
pkg/signatures/cosign_payload_fetcher.go 51.66% 25 Missing and 4 partials ⚠️
pkg/signatures/factory.go 0.00% 3 Missing ⚠️
Additional details and impacted files
@@                    Coverage Diff                    @@
##           ROX-34488/1-proto-schema   #21908   +/-   ##
=========================================================
  Coverage                     51.35%   51.35%           
=========================================================
  Files                          2857     2858    +1     
  Lines                        178796   178891   +95     
=========================================================
+ Hits                          91822    91876   +54     
- Misses                        78936    78971   +35     
- Partials                       8038     8044    +6     
Flag Coverage Δ
go-unit-tests 51.35% <55.69%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Extract signature payload fetching into cosign_payload_fetcher.go and
add referrer-based discovery alongside the existing tag-based method.
FetchSignatures now queries both paths and merges results. Referrer
errors are swallowed so registries without OCI 1.1 support keep working.

This enables discovery of signatures created by cosign v3+, which
defaults to storing signatures as OCI referrers instead of legacy tags.

Partially generated by AI.
@stehessel
stehessel force-pushed the ROX-34488/2-referrer-discovery branch from cebd12e to fa3f8b2 Compare July 23, 2026 20:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant