sigstore / root-signing-staging

Staging TUF repository for Sigstore trust root
https://tuf-repo-cdn.sigstage.dev/
Apache License 2.0
3 stars 5 forks source link

reimplement prober? #86

Closed jku closed 2 months ago

jku commented 3 months ago

sigstore-probers has some workflows that test the tuf repository validity (now and some days into the future). These use: https://github.com/sigstore/root-signing/blob/main/cmd/verify/app/repository.go

Let's take a good look at whether we can re-implement that, maybe as part of tuf-on-ci test-repository action.

There is a bit of complexity here:

jku commented 3 months ago

The prober workflow does four passes:

  1. verify that preprod repo is valid two days from now, contains correct artifacts
  2. verify that prod repo is valid two days from now, contains correct artifacts
  3. verify that root and targets are valid in preprod repo 15 days from now
  4. verify that root and targets are valid in prod repo 15 days from now

On preprod vs prod:

On the two different validation cases:

haydentherapper commented 3 months ago

This approach sounds good. You could also consider unifying root_time and targets_time into offline_signing_time or something similar, as the motivation behind the 15 day alert is to give maintainers enough time to gather all of the signatures from the keyholders.

jku commented 3 months ago

I have an almost complete repository-test action PR in https://github.com/theupdateframework/tuf-on-ci/pull/239

Likely the only thing missing is the selection of initial root: currently it uses 1.root.json from the repo-under-test: for rootsigning production we likely want a bit more control (since I believe the early roots are not compatible with python-tuf)

We should be able to switch probers to repository-test even before root-signing uses tuf-on-ci.

jku commented 2 months ago

This is done and is running in probers, seems to work pretty well