* Support getting certificate information from a kubeconfig file
* Support relative paths for cluster CA and user certificate in kubeconfig
* Determine relative using filepath.IsAbs
* Make relative path logic actually work, add test. Move all kubeconfig parsing into parsing specific function
There are a number of reasons for this change:
- Modules allow a single instance of the exporter to be configured with numerous
different tls configs. Previously you had to run a different exporter for each
combination.
- Adding new and more complicated options to the exporter should be easier with
modules than if I was to go down the route of accepting configuration directly through url params
- I prefer defining a specific prober (https,tcp) over using the URL to guess
what the user wants
There are some advantages to using a http client over tcp. For instance,
using http allows you to take advatange of a http proxy, which may be necessary
in some environments.
This commit puts the http client back, alongside tcp, and decides which one to use
based on the target address.