Closed cboggs closed 6 years ago
Left several comments. I would say the most important thing to consider is how you want to handle errors right now
Thanks @csmarchbanks! I'll revisit the errors throughout, I've not put much thought into how they should propagate.
This is a pretty invasive PR that ditches the "convenient" form of the k8s client (erricchiang/k8s) which is super easy to use, but eminently untestable in comparison to the proper k8s client-go library. So, now we use the proper client-go library, and so far manual testing has held up.
I also used this as an opportunity to begin isolating K8s-specific runtime bits behind command line args. It still won't work at all without being in K8s, for now, but at least some of the isolation scaffolding is in place, and the configuration manipulation bits are abstracted a bit better to allow for other implementations.
Unit tests are incoming - indeed, they're the highest priority item now that stuff is... ya know... testable. :-)
Edit: As of the last commit to this one, it's back to "PromCon demo" state, at the very least.