-
Notifications
You must be signed in to change notification settings - Fork 402
Description
Hey there :)
We in the Sigstore utilize Trillian as our Merkle tree (Thank you!!). As part of our desire to be able to run more extensive and comprehensive e2e testing, we're utilizing kind and utilizing containers for all of our testing. I have put together a sigstore-scaffolding that contains various components that need to be spun up for us to test Sigstore. One of these is the need to create a Trillian (and supporting operations, like creating 2 trees in Trillian). This may be related to what's looked for in #2329 @pavelkalinnikov ?
It's not ideal to have these be in a 'side' repo, and therefore, I wanted to see if there would be any interest in me upstreaming the Trillian related pieces into this repo. It would not be all of these, but just the components related to Trillian.
One nice side benefit also is that you can use 'kind' locally (assuming you have docker) and have a higher degree of confidence that what you're testing with will then also work in ci/cd as well as deployment to k8s, since the constructs are the same.
If there's interest, there's the overview of how we use the k8s constructs (like configmaps / jobs) to communicate the state between components that need information from Trillian (like, treeid created for example).
Anyways, I've yammered too long. Please let me know if there's any interest in this and I'd be happy to work with you and if there are any questions, comments or concerns, I'd be happy to answer them :)
Overview (for Sigstore, but contains information about Trillian, since we need it for both Rekor / CTLog)
https://github.com/vaikas/sigstore-scaffolding/blob/main/README.md
Configurations related to Trillian specific components:
https://github.com/vaikas/sigstore-scaffolding/tree/main/config/trillian
One example run in github actions:
https://github.com/vaikas/sigstore-scaffolding/runs/5097036599?check_suite_focus=true
I think the pieces that would be maybe interesting to upstream would be:
- createtree that can update a configmap in a k8s cluster, plus a job that it runs as.
- github workflow that creates a kind cluster, spins up logserver/logsigner and performs some operations on it
- not sure if there's anything else at this point.