Skip to content

Would there be any interest in more k8s "native" tooling for integration testing? #2672

@vaikas

Description

@vaikas

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.

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions