Skip to content

Support rekor v2 #1340

@jku

Description

@jku

I don't have a clear plan yet, just writing down the context first...

background

Rekor is being rewritten to be more scalable and simple in rekor-tiles. Some of the changes are relevant to clients like sigstore-python, see design doc (shared with https://groups.google.com/g/sigstore-dev, join the group to get access)
The main changes:

  • auditing the log requires using the new tiles API (this should not affect a basic sigstore client)
  • less common entry types are no longer supported (should not affect sigstore-python?)
  • search index and attestation storage are not currently supported (should not affect sigstore-python)
  • signed entry timestamps (SET) are no longer supported: clients must use a timestamp authority (TSA). sigstore-python already support TSAs. Staging already has a TSA in https://timestamp.sigstage.dev
  • the request types in Create Entry API change: this affects sigstore-python
  • Create Entry API now returns a TransparencyLogEntry from protobuf-specs instead of a separately defined OpenAPI object
  • the entry (that ends up in the signature bundle) now contains a canonicalized_body that is now different (in a way that is still unclear to me)
  • entries are now batch processed: this means clients will have to wait until next batch processing to get their TransparencyLogEntry. This lag of potentially multiple seconds has implications on the UX (we may have to warn user) and may require changing how multiple artifacts are signed: at the moment no multi-artifact signing API is planned so clients will have to parallelize requests to get multiple artifacts into the same batch.
  • TODO: add trustedroot changes and infra switchover plans: rekor v1 instance and new rekor-tiles instance will both be available for a time.

sigstore-python plan

# TODO

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions