Description
There are currently multiple ZooKeeper clients in Knox, in the form of HA provider URL managers.
These clients have been added to Knox independently, each without concern for the other. KNOX-1010 introduces yet another such client.
In order to manage the configuration of these clients, it would be good to have a Client Service, from which these features can retrieve a ZooKeeper client.
Furthermore, in the future, Knox may support additional configuration registries (e.g., consul, etcd), which these features may wish to employ. If this service is abstracted sufficiently, the underlying registry type can be a simple configuration change.
In addition to managing security configuration for these clients, the service may also be able to enforce some ACL constraints on referenced znodes (or other registry entries) to mitigate the consumption of potentially untrusted configuration.