in cmd/exporter/app/options/options.go [64:97]
func (o *ExporterOptions) Config() (*exporterconfig.Config, error) {
c := &exporterconfig.Config{}
// Prepare kube clients
var (
restConfig *restclient.Config
err error
)
restConfig, err = getClientConfig(o.ClientConnection, "", o.Timeout)
if err != nil {
return nil, err
}
clusterClient, err := clientset.NewForConfig(restclient.AddUserAgent(restConfig, "carbon-data-exporter"))
if err != nil {
return nil, err
}
// Prepare event clients.
eventBroadcaster := record.NewBroadcaster()
recorder := eventBroadcaster.NewRecorder(scheme.Scheme, corev1.EventSource{Component: "carbon-data-exporter"})
c.Kubeconfig = restConfig
c.ClusterClient = clusterClient
c.ClusterInformerFactory = informers.NewSharedInformerFactory(clusterClient, 0)
c.Broadcaster = eventBroadcaster
c.Recorder = recorder
c.Address = o.Address
c.Port = o.Port
c.CertFile = o.CertFile
c.KeyFile = o.KeyFile
return c, nil
}