Today, we have two namespace clients that use HTTP:
DiscoveryNamespaceClient: Uses Service Discovery
NamespaceClient: cdap-client that uses a fixed ClientConfig, goes through Router, also handles authentication.
All the code for interacting with namespaces is shared in an AbstractNamespaceClient, only the construction of the HttpRequest is defined/overriden in the child classes.
However, there may be a way to further simplify this by using a DiscoveryClient implementation that always returns the same discoverable.
This jira is to explore this simplification. Also apply the same to ExploreClient if it is possible.