grafeas / grafeas/grafeas

Build Kind signature problem in v1beta1

Open
#446 12 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
1.6k
Forks
307
PR merge metrics
No merged PRs in 30d

Description

Hi!

I am currently exploring the API, and noticed something that seems to be an inconsistency. The Build Kind has the [signature field](https://github.com/grafeas/grafeas/blob/master/proto/v1beta1/build.proto#L34) in the Note itself. I don't understand why. For one particular Note, there can be many Build Occurrences. How do we know which Occurrence the signature is for? Shouldn't the signature be a field of the [Occurrence](https://github.com/grafeas/grafeas/blob/master/proto/v1beta1/build.proto#L80)?

Did I misunderstand how this Kind works?

## Expected Behavior
The `BuildSignature` field is part of `grafeas.v1beta1.build.Details` (the Occurrence), and not `grafeas.v1beta1.build.Build` (the Note).

## Actual Behavior
The `BuildSignature` field is part of the Note:
https://github.com/grafeas/grafeas/blob/master/proto/v1beta1/build.proto#L34

## Additional info
I have also noticed that the V1 version [completely lacks](https://github.com/grafeas/grafeas/blob/master/proto/v1/build.proto) the signature for the Build Kind. Could I get some insight into why this was removed? I believe it's very useful to be able to cryptographically verify build provenances.

Contributor guide

Open the contributing guide

Research direction

Compare proto/v1beta1/build.proto, especially Build, Details, and BuildSignature, with proto/v1/build.proto, then read the linked line context and comment discussion. Done means maintainers decide and document the intended signature ownership and v1 behavior, with any agreed schema change covered by the repository’s relevant checks.

Written by the indexing model from the issue text.

Assessment

Domain
api, backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.