Inspiration
Distributed Systems labs just felt like they could be better. They felt like they could be modernized
What it does
This project creates a Kubernetes Operator to aid in the process of testing students in a Distributed Systems course. Professors will create multiple test cases, and students will provide their container images to be tested against those cases. The reconciler loop will run the professor's input on the student's containers, and verify the output.
How we built it
This is a kubernetes operator, written in golang. It contains 2 CRDs and 1 controller
Challenges we ran into
There's a lot of tedious things with kubernetes operators. Getting subresources to update, collecting pod logs, and cleaning up resources after you're done with them, just to name a few.
Accomplishments that we're proud of
The system is entirely usable. I started from the design phase and implemented an entire operator in 24 hours.
What we learned
I've learned how to iterate on design and how to debug distributed systems.
What's next for DisTRUST
There's a lot of places that need polish. Multi-server scenarios are still troublesome. Really this system needs to be used and the rough edges flattened out as we go.
Built With
- golang
- kubernetes
- podman
Log in or sign up for Devpost to join the conversation.