sieve icon indicating copy to clipboard operation
sieve copied to clipboard

Wish list: make Sieve more general and ergonomic

Open marshtompsxd opened this issue 2 years ago • 0 comments

Ergonomics

There is a manual porting process to onboard a project to use Sieve. We hope to automate this step by integrating Sieve with existing frameworks like operator-sdk so that users can build controllers that are Sieve-friendly from the very beginning.

  • [ ] Automatically instrument the controller deployment manifest file
  • [ ] Support e2e testing framework like https://github.com/kubernetes-sigs/e2e-framework to make writing tests easier
  • [ ] Integrate with https://github.com/operator-framework/operator-sdk
  • [ ] Better ways to browse test results

Generality

Sieve currently places the instrumentation in controller-runtime to intercept the interactions between the controller and the Kubernetes API. That said, we also need to support controllers that are not built on top of controller-runtime but directly rely on client-go.

  • [x] For generality, move instrumentation of the controller read/write APIs to client-go https://github.com/sieve-project/sieve/pull/85 https://github.com/sieve-project/sieve/pull/96
  • [x] Allow users to specify the boundary of reconcile functions
  • [x] Instrument the user-specified reconcile function automatically

Miscellaneous

  • [ ] Run Sieve server (i.e., test coordinator and trace collector) as a pod in the Kind cluster

marshtompsxd avatar Aug 30 '22 15:08 marshtompsxd