compute-tooling / compute-studio

A Utility for Sharing Computational Models
https://compute.studio
Other
15 stars 5 forks source link

Use Kind for integration tests #231

Open hdoupe opened 4 years ago

hdoupe commented 4 years ago

While working on #230, I looked into using Kind for testing the compute cluster. Due to how interrelated all of the different services are, it's difficult to test each component individually. Testing them individually would involve mocking out all kinds of services and callbacks and would be more trouble than its worth. It would also miss out on testing the interactions between the different components. Kind makes it possible to spin up a kubernetes cluster (or something that looks like it) within a single docker container.

This would make it possible to spin up the full C/S system, including the webapp, without having to spin up nodes on GKE, push development images to an online container registry and do a full deploy. Doing this entire process makes the development feedback loop on the compute cluster extremely slow and painful. Kind would also make it possible to add automated tests for each PR which is something that C/S badly needs.

hdoupe commented 4 years ago

I've been using kind to run a dev cluster while developing #239. It's been really pleasant so far and easy to set up. I also tried minikube and that worked OK, but in addition to docker and kubernetes, you also have to install a virtual machine driver like VirtualBox which was a bit of a headache. I'm looking forward to setting up local deployment docs and automated testing with Kind once #239 is in.