sieve
sieve copied to clipboard
Wish list: make Sieve more general and ergonomic
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