func compose(source interface{}, cacher *client.DiscoveryCacher, timeout time.Duration) (client.HTTPClient, error) {
	cached := source.(*cache)
	return &ksm{
		nodeIP:   cached.NodeIP,
		endpoint: cached.Endpoint,
		httpClient: &http.Client{
			Timeout: timeout,
		},
		logger: cacher.Logger,
	}, nil
}
compose implements the ClientComposer function signature
package client
import (
	"net/http"
	"net/url"
	"time"
	"github.com/newrelic/nri-kubernetes/v2/src/client"
)
const cachedKey = "ksm-client"
type cache struct {
	Endpoint url.URL
	NodeIP   string
}