The `get_clients`, `get_client`, `get_backup`, `get_backup_log`, and
`get_backup_stats` methods fetch information from the BURP server using
its JSON stats interface. These will be used to populate the metrics we
want to export to Prometheus.
The `burp` module contains an implementation of a BURP stats client. It
uses *tokio* for asynchronous network communication with the BURP stats
TCP socket. The `ClientConnector` struct follows the builder pattern
for specifying connection options, ultimately producing a `Client`
struct that manages communication over the socket.
BURP uses mutual TLS authentication for all its communication. The
client authenticates the server by verifying its certificate using a
trusted CA certificate. This certificate is not usually trusted
system-wide, but specifically by BURP clients. The server also
authenticates the client using a certificate. The official BURP client
uses a normal PEM-encoded X.509 certificate and PKCS #8 key, however,
the *native-tls* library does not support loading these. As such, the
certificate and private key must be encapsulated in a PKCS #12
container.