moby / moby/buildkit

Change attestation annotations to follow OCI recommendations

Open
#3,496 2 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area/attestations
Dominant language
Go
Stars
10.3k
Forks
1.5k
Avg merge
1d 23h
Merged PRs (30d)
48

Description

Docs for the new Attestation Manifest Descriptor says:

To assist index traversal, the following annotations will be set on the manifest descriptor descriptor:

  • vnd.docker.reference.type

This annotation describes the type of the artifact, and will be set to attestation-manifest. If any other value is specified, the entire manifest should be ignored.

  • vnd.docker.reference.digest

This annotation will contain the digest of the object in the image index that the attestation manifest refers to.

When present, this annotation can be used to find the matching attestation manifest for a selected image manifest.

But OCI's rules for annotations says:

  • Keys SHOULD be named using a reverse domain notation - e.g. com.example.myKey.

This is only a SHOULD, and there's no annotation police to throw you in OCI jail, but if it's not too late to change it, it might make sense to change the annotations to com.docker.reference.(type|digest), to follow OCI's naming guidance.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the current uses of vnd.docker.reference.type and vnd.docker.reference.digest in the attestation implementation and its tests. Review the linked Attestation Manifest Descriptor documentation and OCI annotation rules. Done means the annotations follow the proposed com.docker.reference naming and related tests or documentation are updated.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
tooling
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.