open-fresh / bomb-squad

Automatic detection and silencing of high cardinality series in Prometheus.
Apache License 2.0
139 stars 12 forks source link

K8s Proper #23

Closed cboggs closed 6 years ago

cboggs commented 6 years ago

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.

csmarchbanks commented 6 years ago

Left several comments. I would say the most important thing to consider is how you want to handle errors right now

cboggs commented 6 years ago

Thanks @csmarchbanks! I'll revisit the errors throughout, I've not put much thought into how they should propagate.